HermitianMatrixQ

HermitianMatrixQ[m]

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

Details and Options

Examples

open allclose all

Basic Examples  (1)

Test if a matrix is explicitly Hermitian:

For a real matrix, SymmetricMatrixQ gives the same result:

Scope  (4)

Real matrix:

Complex matrix:

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

Dense matrix:

Sparse matrix:

Approximate MachinePrecision matrix:

Approximate arbitrary-precision matrix:

Symbolic matrix:

This matrix becomes Hermitian when c=TemplateBox[{b}, Conjugate], and and are real:

Options  (2)

SameTest  (1)

This matrix is Hermitian for a positive real , but HermitianMatrixQ gives False:

Use the option SameTest to get the correct answer:

Tolerance  (1)

Generate a complex-valued Hermitian matrix with some random perturbation of order 10-14:

Adjust the option Tolerance to accept this matrix as Hermitian:

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

Applications  (5)

A matrix generated from a Hermitian function is Hermitian:

The function is Hermitian:

By using Table, it generates a Hermitian matrix:

The Pauli matrices are Hermitian:

Several statistical measures of complex data are Hermitian matrices, including Covariance:

Correlation:

AbsoluteCorrelation:

Use a different method for Hermitian matrices, with failover to a general method:

Construct complex-valued matrices for testing:

For the non-Hermitian matrix m, the function myLS just uses Gaussian elimination:

For the Hermitian indefinite matrix mh, try Cholesky and continue with Gaussian elimination:

For the Hermitian positive definite matrix mpd, try Cholesky, which succeeds:

Check that a matrix drawn from GaussianUnitaryMatrixDistribution is Hermitian:

Check that a matrix drawn from GaussianSymplecticMatrixDistribution is Hermitian:

Properties & Relations  (10)

A matrix is Hermitian if m==ConjugateTranspose[m]:

A Hermitian matrix must have real diagonal elements:

Use Diagonal to pick out the diagonal elements:

A real-valued symmetric matrix is Hermitian:

But a complex-valued symmetric matrix may not be:

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

Use AntihermitianMatrixQ to test whether a matrix is antihermitian:

A Hermitian matrix is always a normal matrix:

Use NormalMatrixQ to test whether a matrix is normal:

Hermitian matrices have all real eigenvalues:

Use Eigenvalues to find eigenvalues:

This also means that their CharacteristicPolynomial has real coefficients:

Hermitian matrices have a complete set of eigenvectors:

Use Eigenvectors to find eigenvectors:

Hermitian matrices have real-valued determinant and trace:

Use Det and Tr for determinant and trace:

A complex-valued matrix can be symmetric but not Hermitian:

A Hermitian matrix is always diagonalizable as tested with DiagonalizableMatrixQ:

Possible Issues  (1)

A complex symmetric matrix is not Hermitian:

Introduced in 2007
 (6.0)
 |
Updated in 2014
 (10.0)