Re: alternating sums
- To: mathgroup at christensen.Cybernetics.NET
- Subject: [mg326] Re: [mg307] alternating sums
- From: Roman Maeder <maeder at inf.ethz.ch>
- Date: Mon, 12 Dec 1994 17:02:13 +0100
> Here's an elementary question that has me partially stumped. I often > have occasion to convert mylist = {a1,a2,a3,...} into an alternating sum, > a1-a2+a3-a4+... . I find it aesthetically unsatisfactory to generate a > list of alternating plus and minus ones, multiply mylist with the > alternating list and then Apply Plus to the product. It works of course, > but I have a feeling there is a much better way to do this. > (This is clearly not of earthshaking importance!!. I'm just curious.) A variant of Fold does it nicely: In[12]:= AlternatingSum[l_List] := -(-1)^Length[l] Fold[#2-#1&, 0, l] In[13]:= AlternatingSum[{a1, a2, a3, a4}] Out[13]= a1 - a2 + a3 - a4 Roman Maeder