MathGroup Archive 2005

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

Search the Archive

Re: Interaction of Sum/Plus and KroneckerDelta

  • To: mathgroup at
  • Subject: [mg55259] Re: Interaction of Sum/Plus and KroneckerDelta
  • From: Paul Abbott <paul at>
  • Date: Thu, 17 Mar 2005 03:31:21 -0500 (EST)
  • Organization: The University of Western Australia
  • References: <d192un$ngm$>
  • Sender: owner-wri-mathgroup at

In article <d192un$ngm$1 at>,
 "Ofek Shilon" <ofek at> wrote:

> I'm fighting Mathematica 5.1.0 to perform a (seemingly) elementary
> simplification, and Mathematica - so far - wins, so i thought i'd
> consult some veterans.
> Here's a simplified example of the problem.
> type:
> Sum[KroneckerDelta[i, j], {i, 1, 5}]
> and you get:
> KroneckerDelta[1, j] + KroneckerDelta[2, j] +
>   KroneckerDelta[3, j] + KroneckerDelta[4, j] + KroneckerDelta[5, j]
> which i want to simplify to 1.  

But, as stated, Mathematica's answer is perfectly correct, whereas 
returning 1 would not be!

> The direct approach:
> Simplify[%, Assumptions -> {Element[j, Integers], 0 < j < 3}]
> still gives:
> KroneckerDelta[1, j] + KroneckerDelta[2, j]

Again, without a definite value for j, this is the correct answer. It 
should _not_ be transformed to one. Why? Because if you multiply this 
expression by a function depending on the parameter j, say

  (KroneckerDelta[1, j] + KroneckerDelta[2, j]) f[j]

then which one of KroneckerDelta[1, j] and KroneckerDelta[2, j] 
evaluates to 1 effects the result.

> Can Mathematica somehow automatically transform this to 1?
> modification of the original sum are welcome too, of course.

Explicit summation such as 

  Sum[KroneckerDelta[i, j] KroneckerDelta[j, k], {j, 1, Infinity}]

is essentially just a notational device: the Einstein summation 
convention, where summation over repeated indices is implied 
rather than explicitly stated, i.e. writing

  KroneckerDelta[i, j] KroneckerDelta[j, k]

instead of the sum can often be used to simplify the algebra. The 
easiest way to reduce the above sum to

  KroneckerDelta[i, k]

is to use pattern-matching. For example,

  KroneckerDelta[i, j] KroneckerDelta[j, k] /.
    KroneckerDelta[a_, b_] KroneckerDelta[b_, c_] :> KroneckerDelta[a,c]

Interestingly, this convention translates into a general principle for 
analyzing and evaluating integrals and products of sums in Mathematica 
-- just focus on the summand (i.e., the general term of the sum) and 
drop the summation symbol.


Paul Abbott                                   Phone: +61 8 6488 2734
School of Physics, M013                         Fax: +61 8 6488 1014
The University of Western Australia      (CRICOS Provider No 00126G)         
35 Stirling Highway
Crawley WA 6009                      mailto:paul at 

  • Prev by Date: Re: Re: Surface Normal
  • Next by Date: Re: numerical, bessel
  • Previous by thread: Re: Interaction of Sum/Plus and KroneckerDelta
  • Next by thread: Re: Re: Interaction of Sum/Plus and KroneckerDelta