ishermitian

Determine if matrix is Hermitian or skew-Hermitian

Description

example

tf = ishermitian(A) returns logical 1 (true) if square matrix A is Hermitian; otherwise, it returns logical 0 (false).

example

tf = ishermitian(A,skewOption) specifies the type of the test. Specify skewOption as 'skew' to determine if A is skew-Hermitian.

Examples

collapse all

Create a 3-by-3 matrix.

A = [1 0 1i; 0 1 0; 1i 0 1]
A = 3×3 complex

1.0000 + 0.0000i   0.0000 + 0.0000i   0.0000 + 1.0000i
0.0000 + 0.0000i   1.0000 + 0.0000i   0.0000 + 0.0000i
0.0000 + 1.0000i   0.0000 + 0.0000i   1.0000 + 0.0000i

The matrix is symmetric with respect to its real-valued diagonal.

Test whether the matrix is Hermitian.

tf = ishermitian(A)
tf = logical
0

The result is logical 0 (false) because A is not Hermitian. In this case, A is equal to its transpose, A.', but not its complex conjugate transpose, A'.

Change the element in A(3,1) to be -1i.

A(3,1) = -1i;

Determine if the modified matrix is Hermitian.

tf = ishermitian(A)
tf = logical
1

The matrix, A, is now Hermitian because it is equal to its complex conjugate transpose, A'.

Create a 3-by-3 matrix.

A = [-1i -1 1-i;1 -1i -1;-1-i 1 -1i]
A = 3×3 complex

0.0000 - 1.0000i  -1.0000 + 0.0000i   1.0000 - 1.0000i
1.0000 + 0.0000i   0.0000 - 1.0000i  -1.0000 + 0.0000i
-1.0000 - 1.0000i   1.0000 + 0.0000i   0.0000 - 1.0000i

The matrix has pure imaginary numbers on the main diagonal.

Specify skewOption as 'skew' to determine whether the matrix is skew-Hermitian.

tf = ishermitian(A,'skew')
tf = logical
1

The matrix, A, is skew-Hermitian since it is equal to the negation of its complex conjugate transpose, -A'.

Input Arguments

collapse all

Input matrix, specified as a numeric matrix. If A is not square, then ishermitian returns logical 0 (false).

Data Types: single | double | logical
Complex Number Support: Yes

Test type, specified as 'nonskew' or 'skew'. Specify 'skew' to test whether A is skew-Hermitian.

collapse all

Hermitian Matrix

• A square matrix, A, is Hermitian if it is equal to its complex conjugate transpose, A = A'.

In terms of the matrix elements, this means that

${a}_{i,\text{\hspace{0.17em}}j}={\overline{a}}_{j,\text{\hspace{0.17em}}i}\text{\hspace{0.17em}}\text{\hspace{0.17em}}.$

• The entries on the diagonal of a Hermitian matrix are always real. Since real matrices are unaffected by complex conjugation, a real matrix that is symmetric is also Hermitian. For example, the matrix

$A=\left[\begin{array}{cc}\begin{array}{c}1\\ 0\end{array}& \begin{array}{cc}\begin{array}{c}0\\ 2\end{array}& \begin{array}{c}1\\ 0\end{array}\end{array}\\ 1& \begin{array}{cc}0& 1\end{array}\end{array}\right]$

is both symmetric and Hermitian.

• The eigenvalues of a Hermitian matrix are real.

Skew-Hermitian Matrix

• A square matrix, A, is skew-Hermitian if it is equal to the negation of its complex conjugate transpose, A = -A'.

In terms of the matrix elements, this means that

${a}_{i,\text{\hspace{0.17em}}j}=-{\overline{a}}_{j,\text{\hspace{0.17em}}i}\text{\hspace{0.17em}}\text{\hspace{0.17em}}.$

• The entries on the diagonal of a skew-Hermitian matrix are always pure imaginary or zero. Since real matrices are unaffected by complex conjugation, a real matrix that is skew-symmetric is also skew-Hermitian. For example, the matrix

$A=\left[\begin{array}{cc}0& -1\\ 1& \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}0\end{array}\right]$

is both skew-Hermitian and skew-symmetric.

• The eigenvalues of a skew-Hermitian matrix are purely imaginary or zero.