Mathematica Form of Kronecker Delta Not Recognized in Mathematica

Click For Summary
SUMMARY

The discussion centers on the behavior of the Kronecker Delta function defined in Mathematica using the integral of sine functions. The user encounters an issue where the expression Simplify[kron[m, n], Element[m, Integers] && Element[n, Integers]] returns zero, despite evaluating kron[1, 1] to 1. This discrepancy arises because Mathematica assumes that the variables m and n are not equal when simplifying expressions. The user learns that they must explicitly handle cases where m equals n to avoid incorrect simplifications.

PREREQUISITES
  • Understanding of Kronecker Delta function and its mathematical definition.
  • Familiarity with Mathematica syntax and functions, particularly Simplify and Assuming.
  • Knowledge of integral calculus, specifically involving sine functions.
  • Basic concepts of symbolic computation and variable assumptions in Mathematica.
NEXT STEPS
  • Explore the use of the Assuming function in Mathematica for conditional simplifications.
  • Learn about the behavior of symbolic variables in Mathematica, focusing on unique value assumptions.
  • Investigate alternative definitions of the Kronecker Delta function in Mathematica.
  • Study the implications of variable equality and inequality in symbolic computation.
USEFUL FOR

Mathematica users, mathematicians, and educators who require a deeper understanding of symbolic computation and the nuances of function simplifications in Mathematica.

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: 627
  • output.png
    output.png
    3.6 KB · Views: 645
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!
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 19 ·
Replies
19
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 12 ·
Replies
12
Views
5K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 13 ·
Replies
13
Views
3K