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

Details and Options


open allclose all

Basic Examples  (1)

Test if a matrix is explicitly antihermitian:

Scope  (4)

Real matrix:

Complex matrix:

A complex antihermitian matrix has antisymmetric real part and symmetric imaginary part:

Dense matrix:

Sparse matrix:

Approximate MachinePrecision matrix:

Approximate arbitrary-precision matrix:

Symbolic matrix:

The matrix becomes antihermitian when c=-b and the real part of a and d is zero:

All symbolic quantities are assumed to be complex:

Options  (2)

SameTest  (1)

This matrix is antihermitian for a positive real , but AntihermitianMatrixQ gives False:

Use the option SameTest to get the correct answer:

Tolerance  (1)

A complex-valued antihermitian matrix with some random perturbation of order :

Adjust the option Tolerance to accept this matrix as antihermitian:

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

Applications  (2)

Any matrix generated from an antihermitian function is antihermitian:

The function is antihermitian:

Using Table generates an antihermitian matrix:

The TemplateBox[{MatrixExp, paclet:ref/MatrixExp}, RefLink, BaseStyle -> {InlineFormula}][v] of an antihermitian matrix is unitary. Define a matrix function through its differential equation with initial value , and show that the solution is unitary:

Solve and check that the resulting matrix is unitary at each time:

With default settings, you get approximately unitary matrices:

The matrix 2-norm of the solution is 1:

Plot the rows of the matrix:

Properties & Relations  (11)

A matrix is antihermitian if m==-ConjugateTranspose[m]:

AntisymmetricMatrixQ gives True for antihermitian real-valued matrices:

Any matrix can be represented as the sum of its Hermitian and antihermitian parts:

Use HermitianMatrixQ to test whether a matrix is Hermitian:

If is a Hermitian matrix, then is antihermitian:

An antihermitian matrix is always a normal matrix:

Use NormalMatrixQ to test whether the matrix is normal:

Antihermitian matrices have eigenvalues on the imaginary axis:

Use Eigenvalues to find eigenvalues:

CharacteristicPolynomial for such a matrix has alternating real and imaginary coefficients:

Antihermitian matrices have a complete set of eigenvectors:

Use Eigenvectors to find eigenvectors:

Det for a complex antihermitian matrix of odd order is imaginary:

For even order it is real:

MatrixExp of an antihermitian matrix is unitary:

For real-valued matrices, AntisymmetricMatrixQ and AntihermitianMatrixQ coincide:

For complex-valued matrices, they differ:

An antisymmetric matrix is always diagonalizable as tested with DiagonalizableMatrixQ:

Possible Issues  (1)

A complex antisymmetric matrix is not antihermitian:

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


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


@misc{reference.wolfram_2021_antihermitianmatrixq, author="Wolfram Research", title="{AntihermitianMatrixQ}", year="2014", howpublished="\url{}", note=[Accessed: 17-October-2021 ]}


@online{reference.wolfram_2021_antihermitianmatrixq, organization={Wolfram Research}, title={AntihermitianMatrixQ}, year={2014}, url={}, note=[Accessed: 17-October-2021 ]}


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


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