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, δ(x) (dirac_delta(x)).

INPUT:

  • x - a real number or a symbolic expression

DEFINITION:

Dirac delta function δ(x), is defined in Sage as:

δ(x)=0 for real x0 and δ(x)dx=1

Its alternate definition with respect to an arbitrary test function f(x) is

f(x)δ(xa)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

unit_step()

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 δm,n (kronecker_delta(m, n)).

INPUT:

  • m - a number or a symbolic expression

  • n - a number or a symbolic expression

DEFINITION:

Kronecker delta function δm,n is defined as:

δm,n=0 for mn and δ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 sgn(x) (sgn(x)).

INPUT:

  • x - a real number or a symbolic expression

DEFINITION:

The sgn function, sgn(x) is defined as:

sgn(x)=1 for x>0, sgn(x)=0 for x=0 and 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, u(x) (unit_step(x)).

INPUT:

  • x - a real number or a symbolic expression

DEFINITION:

The unit step function, u(x) is defined in Sage as:

u(x)=0 for x<0 and u(x)=1 for x0

See also

heaviside()

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