Re: "Accumulate" in Mathematica 6
- To: mathgroup at smc.vnet.net
- Subject: [mg82837] Re: "Accumulate" in Mathematica 6
- From: "Oskar Itzinger" <oskar at opec.org>
- Date: Thu, 1 Nov 2007 05:09:28 -0500 (EST)
- References: <200710301049.FAA20459@smc.vnet.net> <fg9o2k$lv7$1@smc.vnet.net>
Taken - so it's speed. Does that imply we can expect in the future a whole bunch of speed-optimized functions for doing a similar thing for, say, Times, Divide, or any other function one can dream of? BTW, your mileage may vary - but in my code I've certainly much more occasions to use Fold/FoldList with other functions than Plus [as per the new Accumulate]. So, since Fold/FoldList plays a reasonably important role in functional programming, wouldn't speeding *them* up be more useful in general than providing just individually optimized functions? Thanks. /oskar "Andrzej Kozlowski" <akoz at mimuw.edu.pl> wrote in message news:fg9o2k$lv7$1 at smc.vnet.net... > On 30 Oct 2007, at 19:49, Oskar Itzinger wrote: > > > Very sadly, Mathematica 6 is not supported under Irix - so I can't > > play with > > it practically - but I noticed in the online > > > > documentation that there is a new function "Accumulate[list]", > > defined to be > > equivalent to "Rest[FoldList[Plus, 0, list]]", > > > > giving a list of the successive accumulated totals of the elements in > > <list>. > > > > Funny. While it was considered obsolete and superseded by > > "FoldList" in > > Mathematica 2, Mathematica 1 (!) already did > > > > have a function "Accumulate", defined as > > > > Accumulate[f, g[e1, e2, e3, ...]] <==> g[e1, f[e1, e2], f[f[e1, > > e2], e3], > > ...] > > > > so that > > > > Accumulate[Plus, Range[5]] <==> {1, 3, 6, 10, 15} > > > > However, "Accumulate" in Mathematica 1 clearly was not restricted > > to "Plus" > > but rather specifically intended for dealing > > > > with functions that take exactly two arguments - so, I believe that > > "Accumulate" in Mathematica 6 is much less usable > > > > than the former in Mathematica 1. > > > > Maybe I'm missing something here - but what was the rationale behind > > re-implementing "Accumulate" in such a restricted > > > > version now? > > > > Thanks. > > > > /oskar > > > > > > > > > > You are missing just one thing - performance. Accumulate in this > restricted sense is incredibly fast - and extremly useful. > > Andrzej Kozlowski >
- Follow-Ups:
- Re: Re: "Accumulate" in Mathematica 6
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: Re: "Accumulate" in Mathematica 6