Re: Symbolic Integration of Sums
- To: mathgroup at smc.vnet.net
- Subject: [mg79207] Re: [mg79129] Symbolic Integration of Sums
- From: Carl Woll <carlw at wolfram.com>
- Date: Sat, 21 Jul 2007 04:23:07 -0400 (EDT)
- References: <200707190733.DAA01808@smc.vnet.net>
Peter wrote:
>I am having trouble figuring out how to Mathematica to recognize sums when I
>take derivates.
>
>Here is a very simple example, define
>
>portM = Sum[w[i] m[i], {i, 1, n}]
>
>Then, if I try to take the derivative of portM wrt say w[1] I get 0
>instead of m[1].
>
>D[portM, w[1]] --> returns 0
>
>If I spell the sum out explicitly using say for n=10:
>
>portM = Sum[w[i] m[i], {i, 1, 10}]
>
>I get the correct answer but this is often messy with the real
>problems I am working with and it also removes the ability to work
>with the length of sum in the other parts of the analysis I am doing.
>
>Is using Sum in this way simply a level of abstraction more than Mathematica
>can do or am I asking it the wrong question?
>
>Many thanks.
>
>
>
One possibility is to define an UpValue for m:
m /: D[m[i_], m[j_], NonConstants->{m}] := DiscreteDelta[i-j]
Then,
In[16]:= D[Sum[w[i] m[i], {i, 1, n}], m[1], NonConstants -> {m}]
Out[16]= UnitStep[n - 1] w[1]
Note that this will only work in version 6, as there is a bug in 5.2
that will prevent the above code from working.
Carl Woll
Wolfram Research
- References:
- Symbolic Integration of Sums
- From: Peter <pjcrosbie@gmail.com>
- Symbolic Integration of Sums