Sage implements several generalized functions (also known as distributions) such as Dirac delta, Heaviside step functions. These generalized functions can be manipulated within Sage like any other symbolic functions.
AUTHORS:
EXAMPLES:
Dirac delta function:
sage: dirac_delta(x)
dirac_delta(x)
Heaviside step function:
sage: heaviside(x)
heaviside(x)
Unit step function:
sage: unit_step(x)
unit_step(x)
Signum (sgn) function:
sage: sgn(x)
sgn(x)
Kronecker delta function:
sage: m,n=var('m,n')
sage: kronecker_delta(m,n)
kronecker_delta(m, n)
Bases: sage.symbolic.function.BuiltinFunction
The Dirac delta (generalized) function, \(\delta(x)\) (dirac_delta(x)).
INPUT:
DEFINITION:
Dirac delta function \(\delta(x)\), is defined in Sage as:
\(\delta(x) = 0\) for real \(x \ne 0\) and \(\int_{-\infty}^{\infty} \delta(x) dx = 1\)
Its alternate definition with respect to an arbitrary test function \(f(x)\) is
\(\int_{-\infty}^{\infty} f(x) \delta(x-a) dx = f(a)\)
EXAMPLES:
sage: dirac_delta(1)
0
sage: dirac_delta(0)
dirac_delta(0)
sage: dirac_delta(x)
dirac_delta(x)
sage: integrate(dirac_delta(x), x, -1, 1, algorithm='sympy')
1
REFERENCES:
Bases: sage.symbolic.function.BuiltinFunction
The Heaviside step function, \(H(x)\) (heaviside(x)).
INPUT:
DEFINITION:
The Heaviside step function, \(H(x)\) is defined in Sage as:
\(H(x) = 0\) for \(x < 0\) and \(H(x) = 1\) for \(x > 0\)
EXAMPLES:
sage: heaviside(-1)
0
sage: heaviside(1)
1
sage: heaviside(0)
heaviside(0)
sage: heaviside(x)
heaviside(x)
TESTS:
sage: heaviside(x)._sympy_()
Heaviside(x)
REFERENCES:
Bases: sage.symbolic.function.BuiltinFunction
The Kronecker delta function \(\delta_{m,n}\) (kronecker_delta(m, n)).
INPUT:
DEFINITION:
Kronecker delta function \(\delta_{m,n}\) is defined as:
\(\delta_{m,n} = 0\) for \(m \ne n\) and \(\delta_{m,n} = 1\) for \(m = n\)
EXAMPLES:
sage: kronecker_delta(1,2)
0
sage: kronecker_delta(1,1)
1
sage: m,n=var('m,n')
sage: kronecker_delta(m,n)
kronecker_delta(m, n)
REFERENCES:
Bases: sage.symbolic.function.BuiltinFunction
The signum or sgn function \(\mathrm{sgn}(x)\) (sgn(x)).
INPUT:
DEFINITION:
The sgn function, \(\mathrm{sgn}(x)\) is defined as:
\(\mathrm{sgn}(x) = 1\) for \(x > 0\), \(\mathrm{sgn}(x) = 0\) for \(x = 0\) and \(\mathrm{sgn}(x) = -1\) for \(x < 0\)
EXAMPLES:
sage: sgn(-1)
-1
sage: sgn(1)
1
sage: sgn(0)
0
sage: sgn(x)
sgn(x)
We can also use sign:
sage: sign(1)
1
sage: sign(0)
0
sage: a = AA(-5).nth_root(7)
sage: sign(a)
-1
TESTS:
Check if conversion to sympy works trac ticket #11921:
sage: sgn(x)._sympy_()
sign(x)
REFERENCES:
Bases: sage.symbolic.function.BuiltinFunction
The unit step function, \(\mathrm{u}(x)\) (unit_step(x)).
INPUT:
DEFINITION:
The unit step function, \(\mathrm{u}(x)\) is defined in Sage as:
\(\mathrm{u}(x) = 0\) for \(x < 0\) and \(\mathrm{u}(x) = 1\) for \(x \geq 0\)
EXAMPLES:
sage: unit_step(-1)
0
sage: unit_step(1)
1
sage: unit_step(0)
1
sage: unit_step(x)
unit_step(x)