Form of Kronecker Delta Not Recognized in Mathematica

  • Context: Mathematica 
  • Thread starter Thread starter DocZaius
  • Start date Start date
  • Tags Tags
    Delta Form Mathematica
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
3 replies · 5K views
DocZaius
Messages
365
Reaction score
11
kron[m_,n_]:=\!\(
\*SubsuperscriptBox[\(\[Integral]\), \(0\), \(2\)]\(\(Sin[
\*FractionBox[\(n\ \[Pi]\ x\), \(2\)]]\ Sin[
\*FractionBox[\(m\ \[Pi]\ x\), \(2\)]]\) \[DifferentialD]x\)\)

This is the integral over x of sin(n pi x / 2) times sin(m pi x / 2) from 0 to 2. This is one way to define the Kronecker Delta function. Given m and n as integers and not both zero, if m = n then the output is 1, if m ≠ n the output is 0.

Why then is it that when I type:

Simplify[kron[m, n],
Element[m, Integers] && Element[n, Integers]]

that I get zero?

If I do kron[1, 1] I get 1! How can Mathematica say a function is 0 over the integers when I just put in two integers and got a non-zero ouput?

It is certainly not identical to zero right?
 

Attachments

  • other form.png
    other form.png
    1 KB · Views: 650
  • output.png
    output.png
    3.6 KB · Views: 664
Last edited:
Physics news on Phys.org
When you force Mathematica to simplify expression it is assumed that m and n are not equal. This:

Code:
Assuming[{Element[m, Integers], Element[n, Integers], m == n}, kron[m, n]]
Assuming[{Element[m, Integers], Element[n, Integers], m != n}, kron[m, n]]

gives 1 and 0 respectively!
 
Thank you for looking into it! I didn't know Mathematica assumed m and n are not equal. Why is Mathematica making that assumption? Given two integers m and n, the possibility that they are equal is always there.

Rather worrisome Mathematica assumption that I will keep in mind from now on! I will have to handhold Mathematica by separately asking it the = and ≠ cases.
 
When you call Simplify[expression] Mathematica assumes that all symbols in expression have unique values, otherwise not!