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.

REFERENCES:

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)
class sage.functions.generalized.FunctionDiracDelta

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)
__init__()

The Dirac delta (generalized) function, dirac_delta(x).

INPUT:

  • x - a real number or a symbolic expression

EXAMPLES:

sage: dirac_delta(1)
0
sage: dirac_delta(0)
dirac_delta(0)
sage: dirac_delta(x)
dirac_delta(x)
__weakref__
list of weak references to the object (if defined)
_eval_(x)

INPUT:

  • x - a real number or a symbolic expression

EXAMPLES:

sage: dirac_delta(1)
0
sage: dirac_delta(0)
dirac_delta(0)
sage: dirac_delta(x)
dirac_delta(x)
sage: dirac_delta(exp(-10000000000000000000))
0

Evaluation test:

sage: dirac_delta(x).subs(x=1)
0
class sage.functions.generalized.FunctionHeaviside

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

EXAMPLES:

sage: heaviside(-1)
0
sage: heaviside(1)
1
sage: heaviside(0)
heaviside(0)
sage: heaviside(x)
heaviside(x)
__init__()

The Heaviside step function, heaviside(x).

INPUT:

  • x - a real number or a symbolic expression

EXAMPLES:

sage: heaviside(-1)
0
sage: heaviside(1)
1
sage: heaviside(0)
heaviside(0)
sage: heaviside(x)
heaviside(x)
__weakref__
list of weak references to the object (if defined)
_derivative_(*args, **kwds)

Derivative of Heaviside step function

EXAMPLES:

sage: heaviside(x).diff(x)
dirac_delta(x)
_eval_(x)

INPUT:

  • x - a real number or a symbolic expression

EXAMPLES:

sage: heaviside(-1/2)
0
sage: heaviside(1)
1
sage: heaviside(0)
heaviside(0)
sage: heaviside(x)
heaviside(x)
sage: heaviside(exp(-1000000000000000000000))
1

Evaluation test:

sage: heaviside(x).subs(x=1)
1
sage: heaviside(x).subs(x=-1)
0
class sage.functions.generalized.FunctionUnitStep

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

EXAMPLES:

sage: unit_step(-1)
0
sage: unit_step(1)
1
sage: unit_step(0)
1
sage: unit_step(x)
unit_step(x)
__init__()

The unit step function, unit_step(x).

INPUT:

  • x - a real number or a symbolic expression

EXAMPLES:

sage: unit_step(-1) 0 sage: unit_step(1) 1 sage: unit_step(0) 1 sage: unit_step(x) unit_step(x)
__weakref__
list of weak references to the object (if defined)
_derivative_(*args, **kwds)

Derivative of unit step function

EXAMPLES:

sage: unit_step(x).diff(x)
dirac_delta(x)
_eval_(x)

INPUT:

  • x - a real number or a symbolic expression

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

Evaluation test:

sage: unit_step(x).subs(x=1)
1
sage: unit_step(x).subs(x=0)
1

Previous topic

Wigner, Clebsch-Gordan, Racah, and Gaunt coefficients

Next topic

Basic Structures

This Page