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)                                                                # needs sage.symbolic
dirac_delta(x)

Heaviside step function:

sage: heaviside(x)                                                                  # needs sage.symbolic
heaviside(x)

Unit step function:

sage: unit_step(x)                                                                  # needs sage.symbolic
unit_step(x)

Signum (sgn) function:

sage: sgn(x)                                                                        # needs sage.symbolic
sgn(x)

Kronecker delta function:

sage: m, n = var('m,n')                                                             # needs sage.symbolic
sage: kronecker_delta(m, n)                                                         # needs sage.symbolic
kronecker_delta(m, n)
class sage.functions.generalized.FunctionDiracDelta[source]

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: # needs sage.symbolic
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')                    # needs sympy
1

REFERENCES:

class sage.functions.generalized.FunctionHeaviside[source]

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: # needs sage.symbolic
sage: heaviside(-1)
0
sage: heaviside(1)
1
sage: heaviside(0)
heaviside(0)
sage: heaviside(x)
heaviside(x)

sage: heaviside(-1/2)                                                           # needs sage.symbolic
0
sage: heaviside(exp(-1000000000000000000000))                                   # needs sage.symbolic
1

REFERENCES:

class sage.functions.generalized.FunctionKroneckerDelta[source]

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)                                                     # needs sage.rings.complex_interval_field
0
sage: kronecker_delta(1, 1)                                                     # needs sage.rings.complex_interval_field
1
sage: m, n = var('m,n')                                                         # needs sage.symbolic
sage: kronecker_delta(m, n)                                                     # needs sage.symbolic
kronecker_delta(m, n)

REFERENCES:

class sage.functions.generalized.FunctionSignum[source]

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)                                                                    # needs sage.symbolic
sgn(x)

We can also use sign:

sage: sign(1)
1
sage: sign(0)
0
sage: a = AA(-5).nth_root(7)                                                    # needs sage.rings.number_field
sage: sign(a)                                                                   # needs sage.rings.number_field
-1

REFERENCES:

class sage.functions.generalized.FunctionUnitStep[source]

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: # needs sage.symbolic
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