Heaviside Step Function

DOWNLOAD Mathematica Notebook

The Heaviside step function is a mathematical function denoted H(x), or sometimes theta(x) or u(x) (Abramowitz and Stegun 1972, p. 1020), and also known as the "unit step function." The term "Heaviside step function" and its symbol can represent either a piecewise constant function or a generalized function.

HeavisideStepFunction

When defined as a piecewise constant function, the Heaviside step function is given by

 H(x)={0   x<0; 1/2   x=0; 1   x>0
(1)

(Abramowitz and Stegun 1972, p. 1020; Bracewell 2000, p. 61). The plot above shows this function (left figure), and how it would appear if displayed on an oscilloscope (right figure).

When defined as a generalized function, it can be defined as a function theta(x) such that

 inttheta(x)phi^'(x)dx=-phi(0)
(2)

for phi^'(x) the derivative of a sufficiently smooth function phi(x) that decays sufficiently quickly (Kanwal 1998).

The Wolfram Language represents the Heaviside generalized function as HeavisideTheta, while using UnitStep to represent the piecewise function Piecewise[{{1, x >= 0}}] (which, it should be noted, adopts the convention H(0)=1 instead of the conventional definition H(0)=1/2).

The shorthand notation

 H_c(x)=H(x-c)
(3)

is sometimes also used.

The Heaviside step function is related to the boxcar function by

 Pi(x)=H(x+1/2)-H(x-1/2)
(4)

and can be defined in terms of the sign function by

 H(x)=1/2[1+sgn(x)].
(5)

The derivative of the step function is given by

 d/(dx)H(x)=delta(x),
(6)

where delta(x) is the delta function (Bracewell 2000, p. 97).

The Heaviside step function is related to the ramp function R(x) by

 R(x)=xH(x),
(7)

and to the derivative of R(x) by

 d/(dx)R(x)=H(x).
(8)

The two are also connected through

 R(x)=H(x)*H(x),
(9)

where * denotes convolution.

Bracewell (2000) gives many identities, some of which include the following. Letting * denote the convolution,

 H(x)*f(x)=int_(-infty)^xf(x^')dx^'
(10)
H(t)*H(t)=int_(-infty)^inftyH(u)H(t-u)du
(11)
=H(0)int_0^inftyH(t-u)du
(12)
=H(0)H(t)int_0^tdu
(13)
=tH(t).
(14)

In addition,

H(ax+b)=H(x+b/a)H(a)+H(-x-b/a)H(-a)
(15)
={H(x+b/a) a>0; H(-x-b/a) a<0.
(16)
HeavisideStepFunctionLim

The Heaviside step function can be defined by the following limits,

H(x)=lim_(t->0)[1/2+1/pitan^(-1)(x/t)]
(17)
=1/(sqrt(pi))lim_(t->0)int_(-x)^inftyt^(-1)e^(-u^2/t^2)du
(18)
=1/2lim_(t->0)erfc(-x/t)
(19)
=1/pilim_(t->0)int_(-infty)^xt^(-1)sinc(u/t)du
(20)
=1/pilim_(t->0)int_(-infty)^x1/usin(u/t)du
(21)
=1/2+1/pilim_(t->0)si((pix)/t)
(22)
=lim_(t->0){1/2e^(x/t) for x<=0; 1-1/2e^(-x/t) for x>=0
(23)
=lim_(t->0)1/(1+e^(-x/t))
(24)
=lim_(t->0)e^(-e^(-x/t))
(25)
=1/2lim_(t->0)[1+tanh(x/t)]
(26)
=lim_(t->0)int_(-infty)^xt^(-1)Lambda((x-1/2t)/t)dx,
(27)

where erfc(x) is the erfc function, si(x) is the sine integral, sinc(x) is the sinc function, and Lambda(x) is the one-argument triangle function. The first four of these are illustrated above for t=0.2, 0.1, and 0.01.

Of course, any monotonic function with constant unequal horizontal asymptotes is a Heaviside step function under appropriate scaling and possible reflection. The Fourier transform of the Heaviside step function is given by

F[H(x)]=int_(-infty)^inftye^(-2piikx)H(x)dx
(28)
=1/2[delta(k)-i/(pik)],
(29)

where delta(k) is the delta function.

Wolfram Web Resources

Mathematica »

The #1 tool for creating Demonstrations and anything technical.

Wolfram|Alpha »

Explore anything with the first computational knowledge engine.

Wolfram Demonstrations Project »

Explore thousands of free applications across science, mathematics, engineering, technology, business, art, finance, social sciences, and more.

Computerbasedmath.org »

Join the initiative for modernizing math education.

Online Integral Calculator »

Solve integrals with Wolfram|Alpha.

Step-by-step Solutions »

Walk through homework problems step-by-step from beginning to end. Hints help you try the next step on your own.

Wolfram Problem Generator »

Unlimited random practice problems and answers with built-in Step-by-step solutions. Practice online or make a printable study sheet.

Wolfram Education Portal »

Collection of teaching and learning tools built by Wolfram education experts: dynamic textbook, lesson plans, widgets, interactive Demonstrations, and more.

Wolfram Language »

Knowledge-based programming for everyone.