MathGroup Archive 2004

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

Search the Archive

Re: DiscreteDelta Evaluation Question

  • To: mathgroup at smc.vnet.net
  • Subject: [mg49808] Re: DiscreteDelta Evaluation Question
  • From: Paul Abbott <paul at physics.uwa.edu.au>
  • Date: Sun, 1 Aug 2004 18:48:40 -0400 (EDT)
  • Organization: The University of Western Australia
  • References: <ced83t$q7d$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

In article <ced83t$q7d$1 at smc.vnet.net>, Ben <serpent11 at hotmail.com> 
wrote:

> In evaluating Poisson brackets, I've gotten Mathematica to simplify
> the brackets down to an infinite sum of deltafunctions, but though the
> sum should be very easy to evaluate, I can't convince it to simplify
> it.  Here's a typical case that it won't simplify:
> 
> Sum[(-Sqrt[-2] indx DiscreteDelta[2 - indx] - 
>           0.5 Sqrt[-1] DiscreteDelta[indx] DiscreteDelta[
>               2 - indx])((1 - Sqrt[2]) DiscreteDelta[indx]
> DiscreteDelta[
>               2 - indx] + 
>           Sqrt[2] DiscreteDelta[2 - indx]) - (Sqrt[-2] indx
> DiscreteDelta[
>               2 - indx] + 
>           0.5 Sqrt[-1] DiscreteDelta[indx] DiscreteDelta[
>               2 - indx])((1 - Sqrt[2]) DiscreteDelta[indx]
> DiscreteDelta[
>               2 - indx] + Sqrt[2] DiscreteDelta[2 - indx]), {indx, 1, 
>     Infinity}]
> 
> You can cut and paste it into a notebook.
> 
> I've tried 
> 
> Unprotect[DiscreteDelta, Times];
> 
> DiscreteDelta[i_] * DiscreteDelta[i_] := DiscreteDelta[i];
> 
> Protect[DiscreteDelta, Times];
> 
> but it still won't evaluate this seemingly simple expression.

You need to expand the summand and tell Mathematica that 
DiscreteDelta[i_]^2 -> DiscreteDelta[i]. Also, for exact computations, 
it is a good idea to replace 0.5 by 1/2.

Sum[Expand[((-(1/2)) Sqrt[-1] DiscreteDelta[indx]*                        
DiscreteDelta[2 - indx] + indx*DiscreteDelta[2 - indx]*(-Sqrt[-2]))*      
(DiscreteDelta[2 - indx]*DiscreteDelta[indx]*(1 - Sqrt[2]) +               
DiscreteDelta[2 - indx]*Sqrt[2]) - (indx*DiscreteDelta[2 - indx]*        
Sqrt[-2] + (1/2)*DiscreteDelta[2 - indx]*DiscreteDelta[indx]*                
Sqrt[-1])*(DiscreteDelta[2 - indx]* DiscreteDelta[indx]*(1 - Sqrt[2]) +               
DiscreteDelta[2 - indx]*Sqrt[2])], {indx, 1, Infinity}] /.   
DiscreteDelta[i_]^2 -> DiscreteDelta[i]

Cheers,
Paul

-- 
Paul Abbott                                   Phone: +61 8 9380 2734
School of Physics, M013                         Fax: +61 8 9380 1014
The University of Western Australia      (CRICOS Provider No 00126G)         
35 Stirling Highway
Crawley WA 6009                      mailto:paul at physics.uwa.edu.au 
AUSTRALIA                            http://physics.uwa.edu.au/~paul


  • Prev by Date: Re: envelope of an oscillatory InterpolatingFunction
  • Next by Date: Re: contains 1044938 decimal digits)
  • Previous by thread: Re: envelope of an oscillatory InterpolatingFunction
  • Next by thread: Re: contains 1044938 decimal digits)