Re: sum with lists
- To: mathgroup at smc.vnet.net
- Subject: [mg40597] Re: [mg40534] sum with lists
- From: Dr Bob <majort at cox-internet.com>
- Date: Fri, 11 Apr 2003 01:59:03 -0400 (EDT)
- References: <200304100026.UAA21540@smc.vnet.net>
- Reply-to: majort at cox-internet.com
- Sender: owner-wri-mathgroup at wolfram.com
If you wanted to sum over the entire list, this works: d = {{x0, y0, z0}, {x1, y1, z1}, {x2, y2, z1}, {xn, yn, zn}}; foo[a_List] := First[a]Last[a] Plus @@ foo /@ d x0 z0 + x1 z1 + x2 z1 + xn zn You wanted to sum only to n/2, so that might be: bar[d : {__List}] := Plus @@ foo /@ Take[d, Floor[Length@d/2]] bar@d or, back to the method you wanted to use: Sum[d[[i, 1]]d[[i, 3]], {i, 1, Floor[Length@d/2]}] You started at index 0, but evaluate d[[0]] and you get d[[0]] List That doesn't have a first part, so d[[0,1]] fails. On large lists something like foo and bar will be MUCH faster. Bobby On Wed, 9 Apr 2003 20:26:04 -0400 (EDT), Nathan Moore <nmoore at physics.umn.edu> wrote: > Another list question. Suppose that I have the list d={ > {x0,y0,z0}, > {x1,y1,z1}, > {x2,y2,z1}, > ... > {xn,yn,zn}} > > and now I'd like to calculate the sum, Sum[x[i]*z[i],{i,0,n/2}] > > I tried Sum[d[[i, 1]]*d[[i, 3]], {i, 0, 10}] > with little success > > thanks, > > Nathan Moore, > University of Minnesota Physics > > -- majort at cox-internet.com Bobby R. Treat
- References:
- sum with lists
- From: "Nathan Moore" <nmoore@physics.umn.edu>
- sum with lists