Generalized functions#
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:
Golam Mortuza Hossain (2009-06-26): initial version
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)
- class sage.functions.generalized.FunctionDiracDelta#
Bases:
BuiltinFunction
The Dirac delta (generalized) function, \(\delta(x)\) (
dirac_delta(x)
).INPUT:
x
- a real number or a symbolic expression
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:
- class sage.functions.generalized.FunctionHeaviside#
Bases:
GinacFunction
The Heaviside step function, \(H(x)\) (
heaviside(x)
).INPUT:
x
- a real number or a symbolic expression
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\)
See also
EXAMPLES:
sage: heaviside(-1) 0 sage: heaviside(1) 1 sage: heaviside(0) heaviside(0) sage: heaviside(x) heaviside(x) sage: heaviside(-1/2) 0 sage: heaviside(exp(-1000000000000000000000)) 1
REFERENCES:
- class sage.functions.generalized.FunctionKroneckerDelta#
Bases:
BuiltinFunction
The Kronecker delta function \(\delta_{m,n}\) (
kronecker_delta(m, n)
).INPUT:
m
- a number or a symbolic expressionn
- a number or a symbolic expression
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:
- class sage.functions.generalized.FunctionSignum#
Bases:
BuiltinFunction
The signum or sgn function \(\mathrm{sgn}(x)\) (
sgn(x)
).INPUT:
x
- a real number or a symbolic expression
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
REFERENCES:
- class sage.functions.generalized.FunctionUnitStep#
Bases:
GinacFunction
The unit step function, \(\mathrm{u}(x)\) (
unit_step(x)
).INPUT:
x
- a real number or a symbolic expression
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\)
See also
EXAMPLES:
sage: unit_step(-1) 0 sage: unit_step(1) 1 sage: unit_step(0) 1 sage: unit_step(x) unit_step(x) sage: unit_step(-exp(-10000000000000000000)) 0