Determine if matrix is Hermitian or skew-Hermitian
tf = ishermitian(
specifies
the type of the test. Specify A
,skewOption
)skewOption
as 'skew'
to
determine if A
is skew-Hermitian.
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'
.
A
— Input matrixInput 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
skewOption
— Test type'nonskew'
(default) | 'skew'
Test type, specified as 'nonskew'
or 'skew'
.
Specify 'skew'
to test whether A
is skew-Hermitian.
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
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
is both symmetric and Hermitian.
The eigenvalues of a Hermitian matrix are real.
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
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
is both skew-Hermitian and skew-symmetric.
The eigenvalues of a skew-Hermitian matrix are purely imaginary or zero.
Usage notes and limitations:
Code generation does not support sparse matrix inputs for this function.
This function fully supports GPU arrays. For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
This function fully supports distributed arrays. For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
ctranspose
| eig
| isreal
| issymmetric
| transpose
You have a modified version of this example. Do you want to open this example with your edits?