Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Form of Kronecker Delta Not Recognized in Mathematica

  1. Apr 18, 2012 #1
    \*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?

    Attached Files:

    Last edited: Apr 18, 2012
  2. jcsd
  3. Apr 21, 2012 #2
    When you force Mathematica to simplify expression it is assumed that m and n are not equal. This:

    Code (Text):
    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!
  4. Apr 21, 2012 #3
    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.
  5. Apr 21, 2012 #4
    When you call Simplify[expression] Mathematica assumes that all symbols in expression have unique values, otherwise not!
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook