Documentation

This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.

ishermitian

Determine if matrix is Hermitian or skew-Hermitian

Syntax

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

Test if Symmetric Matrix Is Hermitian

Create a 3-by-3 matrix.

A = [1 0 1i; 0 1 0; 1i 0 1]
A =

   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 =

     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 =

     1

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

Test if Matrix Is Skew-Hermitian

Create a 3-by-3 matrix.

A = [-1i -1 1-i;1 -1i -1;-1-i 1 -1i]
A =

   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 =

     1

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

Input Arguments

collapse all

A — Input matrixnumeric matrix

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

Data Types: single | double
Complex Number Support: Yes

skewOption — Test type'nonskew' (default) | 'skew'

Test type, specified as 'nonskew' (default) or 'skew'. Specify 'skew' to test whether A is skew-Hermitian. Specifying ishermitian(A,'nonskew') is equivalent to ishermitian(A).

Data Types: char

More About

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

    ai,j=a¯j,i.

  • 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=[100210101]

    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

    ai,j=a¯j,i.

  • 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=[0110]

    is both skew-Hermitian and skew-symmetric.

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

Introduced in R2014a

Was this topic helpful?