MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: simplifying inside sum, Mathematica 5.1

  • To: mathgroup at smc.vnet.net
  • Subject: [mg53721] Re: [mg53709] simplifying inside sum, Mathematica 5.1
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Tue, 25 Jan 2005 05:03:17 -0500 (EST)
  • References: <200501240837.DAA28210@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

On 24 Jan 2005, at 09:37, Richard Fateman wrote:

> Sum[a[i]*x^i,{i,0,Infinity}]
>
> %/. x->0
>
>
> leaves 0^i  inside the sum, unsimplified.
>
> So does the sum from 1 to Inf.
>
> The correct answers are presumably a[0] and 0.
>
> Is there a way to get Mathematica to do this?
>
> RJF
>
>
>

First, note that even if Mathematica did "simplify" 0^i inside the sum 
it would not return what you are (presumably) expecting since:

Sum[0*a[i],{i,0,Infinity}]

Indeterminate expression 0*Infinity encountered.

Indeterminate



The way to deal with this is to replace Infinity by some symbol m and 
after evaluating replace m by Infinity:


Sum[0*a[i],{i,0,m}]/.m->Infinity

0

Curiously using Hold[Infinity] in place of Infinity does not work:

In[18]:=
Sum[0*a[i], {i, 0, Hold[Infinity]}]

Indeterminate expression 0*Infinity encountered.

Indeterminate

Nevertheless, this works:

ReleaseHold[Sum[a[i]*x^i, {i, 0, Hold[Infinity]}] /.
     x -> 0 /. 0^(i_) :> KroneckerDelta[i, 0]]


a[0]

or


Sum[a[i]*x^i, {i, 0, Hold[Infinity]}];


ReleaseHold[Block[{Power},
    0^(i_) := KroneckerDelta[i, 0]; % /. x -> 0]]

a[0]

If you prefer you can use m and m->Infinity instead of Hold and 
ReleaseHold and you could of course globally re-define 0^i as 
KroneckerDelta[i, 0].



Andrzej Kozlowski


  • Prev by Date: Re: simplifying inside sum, Mathematica 5.1
  • Next by Date: Re: simplifying inside sum, Mathematica 5.1
  • Previous by thread: simplifying inside sum, Mathematica 5.1
  • Next by thread: Re: simplifying inside sum, Mathematica 5.1