gives True if m is explicitly antisymmetric, and False otherwise.

Details and Options

  • AntisymmetricMatrixQ is also known as skew-symmetric.
  • A matrix m is antisymmetric if m-Transpose[m].
  • AntisymmetricMatrixQ works for symbolic as well as numerical matrices.
  • The following options can be given:
  • SameTestAutomaticfunction to test equality of expressions
    ToleranceAutomatictolerance for approximate numbers
  • For exact and symbolic matrices, the option SameTest->f indicates that two entries mij and mkl are taken to be equal if f[mij,mkl] gives True.
  • For approximate matrices, the option Tolerance->t can be used to indicate that all entries Abs[mij]t are taken to be zero.
  • For matrix entries Abs[mij]>t, equality comparison is done except for the last bits, where is $MachineEpsilon for MachinePrecision matrices and for matrices of Precision .


open allclose all

Basic Examples  (1)

Test if a numeric matrix is explicitly antisymmetric:

Scope  (5)

Real matrix:

Complex matrix:

A complex antisymmetric matrix has antisymmetric real and imaginary parts:

Dense matrix:

Sparse matrix:

Approximate MachinePrecision matrix:

Approximate arbitrary-precision matrix:

Symbolic matrix:

The matrix becomes antisymmetric when c = -b and a = d = 0:

Structured matrix:

Options  (2)

SameTest  (1)

This matrix is antisymmetric for a positive real , but AntisymmetricMatrixQ gives False:

Use the option SameTest to get the correct answer:

Tolerance  (1)

Generate a real-valued antisymmetric matrix with some random perturbation of order :

Adjust the option Tolerance to accept this matrix as antisymmetric:

The norm of the difference between the matrix and its transpose with opposite sign:

Applications  (4)

Any matrix generated from an antisymmetric function is antisymmetric:

The function is antisymmetric:

Using Table generates an antisymmetric matrix:

SymmetrizedArray can generate matrices (and general arrays) with symmetries:

The cross product of two vectors can be expressed as a product of an antisymmetric matrix and a vector:

This proves that :

This proves :

Find the function satisfying this time-dependent 3D equation:

Since can be expressed as an antisymmetric matrix, an ODE can be solved:

Here is the 3D plot of x[t] and x'[t]:

Properties & Relations  (9)

A matrix is antisymmetric if m-Transpose[m]:

AntihermitianMatrixQ gives True for antisymmetric real-valued matrices:

Any matrix can be represented as the sum of its symmetric and antisymmetric parts:

Use SymmetricMatrixQ to test whether a matrix is symmetric:

An antisymmetric matrix is always a normal matrix:

Use NormalMatrixQ to test whether the matrix is normal:

Eigenvalues for a real antisymmetric matrix are on the imaginary axis:

Use Eigenvalues to find eigenvalues:

CharacteristicPolynomial for such a matrix contains even powers only:

And for an odd-dimensioned matrix it contains odd powers only:

Antisymmetric matrices have a complete set of eigenvectors:

Use Eigenvectors to find eigenvectors:

Det for a real antisymmetric matrix of odd order is zero:

For even order it is non-negative:

MatrixExp of an antisymmetric matrix is orthonormal:

An antisymmetric matrix is always diagonalizable as tested with DiagonalizableMatrixQ:

Possible Issues  (1)

A complex antisymmetric matrix is not antihermitian:

Wolfram Research (2014), AntisymmetricMatrixQ, Wolfram Language function,


Wolfram Research (2014), AntisymmetricMatrixQ, Wolfram Language function,


@misc{reference.wolfram_2020_antisymmetricmatrixq, author="Wolfram Research", title="{AntisymmetricMatrixQ}", year="2014", howpublished="\url{}", note=[Accessed: 23-January-2021 ]}


@online{reference.wolfram_2020_antisymmetricmatrixq, organization={Wolfram Research}, title={AntisymmetricMatrixQ}, year={2014}, url={}, note=[Accessed: 23-January-2021 ]}


Wolfram Language. 2014. "AntisymmetricMatrixQ." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2014). AntisymmetricMatrixQ. Wolfram Language & System Documentation Center. Retrieved from