This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)


gives , , or depending on whether x is negative, zero, or positive.
  • Mathematical function, suitable for both symbolic and numerical manipulation.
  • For non-zero complex numbers z, Sign[z] is defined as z/Abs[z].
  • Sign tries various transformations in trying to determine the sign of symbolic expressions.
  • For exact numeric quantities, Sign internally uses numerical approximations to establish its result. This process can be affected by the setting of the global variable $MaxExtraPrecision.
  • Sign automatically threads over lists.
Sign threads element-wise over lists:
Click for copyable input
Click for copyable input
Click for copyable input
Sign threads element-wise over lists:
Click for copyable input
Click for copyable input
Sign works with symbolic representations of numbers:
Sign gives "directions" of complex numbers:
The absolute value is always 1:
TraditionalForm formatting:
Sign returns exact answers for exact numerical arguments:
Infinite arguments give symbolic results:
Sign threads element-wise over sparse arrays:
Series expansions for real arguments:
Plot the real and imaginary parts of Sign over the complex plane:
Define Rademacher functions:
Plot (vertically shifted) Rademacher functions:
Check orthogonality over the unit interval:
Sign with simple arguments automatically evaluates to simpler form:
Sign is idempotent:
Use FullSimplify to simplify expressions involving Sign:
Simplify under additional assumptions:
Assume real-valued variables:
Use Sign as a target function for ComplexExpand:
Use Sign in definite integration:
Integrate along a line in the complex plane, symbolically and numerically:
For complex values, the indefinite integral is path dependent:
The indefinite integral for real values:
Use in integral transforms:
Obtain Sign from integrals and limits:
Convert to Piecewise:
For purely real or imaginary approximate arguments, Sign returns exact answers:
For general complex arguments, Sign tracks the precision of the input:
Sign can stay unevaluated for numeric arguments:
Machine-precision numerical evaluation of Sign can give wrong results:
Arbitrary-precision evaluation gives the correct result:
A larger setting for $MaxExtraPrecision can be needed:
Sign applied to a matrix does not give the matrix sign function:
Form repeated convolution integrals starting with a symmetric product of three sign functions:
Approximate Sign through a generalized Fourier series:
Calculate rational approximations of Sign:
New in 1 | Last modified in 3