Sign function

Signum function y = sgn(x)

In mathematics, the sign function or signum function (from signum, Latin for "sign") is an odd mathematical function that extracts the sign of a real number. In mathematical expressions the sign function is often represented as sgn.

Definition

The signum function of a real number x is defined as follows:

 \sgn(x) := \begin{cases}
-1 & \text{if } x < 0, \\
0 & \text{if } x = 0, \\
1 & \text{if } x > 0. \end{cases}

Properties

Any real number can be expressed as the product of its absolute value and its sign function:

 x = \sgn(x) \cdot |x|\,.

It follows that whenever x is not equal to 0 we have

 \sgn(x) = {x \over |x|} = {|x| \over x}

Similarly, for any real number x,

 |x| = \sgn(x) \cdot x

The signum function is the derivative of the absolute value function (up to the indeterminacy at zero): Note, the resultant power of x is 0, similar to the ordinary derivative of x. The numbers cancel and all we are left with is the sign of x.

 {d |x| \over dx} =  \sgn(x) \mbox{ for } x \ne 0 .

The signum function is differentiable with derivative 0 everywhere except at 0. It is not differentiable at 0 in the ordinary sense, but under the generalised notion of differentiation in distribution theory, the derivative of the signum function is two times the Dirac delta function, which can be demonstrated using the identity

 \sgn(x) = 2 H(x) - 1 \,[1]

(where H(x) is the Heaviside step function using the standard H(0) = 1/2 formalism). Using this identity, it is easy to derive the distributional derivative:

 {d \sgn(x) \over dx} = 2 {d H(x) \over dx} = 2\delta(x) \,.[2]

The signum can also be written using the Iverson bracket notation:

\ \sgn(x) = -[x < 0] + [x > 0] \,.

The signum can also be written using the floor and the absolute value functions:

\ \sgn(x) = \Bigg\lfloor \frac{x}{|x|+1} \Bigg\rfloor - 
\Bigg\lfloor \frac{-x}{|-x|+1} \Bigg\rfloor \,.

For k \gg 1, a smooth approximation of the sign function is

\ \sgn(x) \approx \tanh(kx) \,.

Another approximation is

\ \sgn(x) \approx \frac{x}{\sqrt{x^2 + \epsilon^2}} \,.

which gets sharper as \epsilon \to 0, note that it's the derivative of \sqrt{x^2 + \epsilon^2}. This is inspired from the fact that the above is exactly equal for all nonzero x if \epsilon = 0, and has the advantage of simple generalization to higher-dimensional analogues of the sign function (for example, the partial derivatives of \sqrt{x^2 + y^2}).

See Heaviside step function – Analytic approximations.

Complex signum

The signum function can be generalized to complex numbers as

\sgn(z) = \frac{z}{|z|}

for any z\mathbb{C} except z = 0. The signum of a given complex number z is the point on the unit circle of the complex plane that is nearest to z. Then, for z ≠ 0,

\sgn(z) = e^{i\arg z}\,,

where arg is the complex argument function. For reasons of symmetry, and to keep this a proper generalization of the signum function on the reals, also in the complex domain one usually defines, for z = 0:

\operatorname{sgn}(0+0i)=0

Another generalization of the sign function for real and complex expressions is csgn,[3] which is defined as:


 \operatorname{csgn}(z)= \begin{cases}
 1 & \text{if } \Re(z) > 0, \\
 -1 & \text{if } \Re(z) < 0, \\
 \sgn(\Im(z)) & \text{if } \Re(z) = 0
\end{cases}

where \Re(z) is the real part of z, \Im(z) is the imaginary part of z.

We then have (except for z = 0):

\operatorname{csgn}(z) = \frac{z}{\sqrt{z^2}} = \frac{\sqrt{z^2}}{z}.

Generalized signum function

At real values of ~x~, it is possible to define a generalized functionversion of the signum function,  \varepsilon (x), such that ~\varepsilon(x)^2 =1~ everywhere, including at the point ~x=0~ (unlike ~\sgn~, for which \sgn(0)^2 =0~). This generalized signum allows construction of the algebra of generalized functions, but the price of such generalization is the loss of commutativity. In particular, the generalized signum anticommutes with the Dirac delta function[4]

\varepsilon(x) \delta(x)+\delta(x) \varepsilon(x) = 0~;

in addition, ~\varepsilon(x)~ cannot be evaluated at ~x=0~; and the special name, \varepsilon is necessary to distinguish it from the function ~\sgn~. (\varepsilon(0) is not defined, but ~\sgn(0) = 0~.)

See also

Notes

  1. Weisstein, Eric W., "Sign", MathWorld.
  2. Weisstein, Eric W., "Heaviside Step Function", MathWorld.
  3. Maple V documentation. May 21, 1998
  4. Yu.M.Shirokov (1979). "Algebra of one-dimensional generalized functions". TMF 39 (3): 471–477. doi:10.1007/BF01017992.