ishermitian
Determine if matrix is Hermitian or skew-Hermitian
Description
tf = ishermitian( returns logical
A)1 (true) if A is a
Hermitian matrix. Otherwise,
it returns logical 0 (false).
tf = ishermitian(
specifies the type of the test. Specify A,skewOption)skewOption as
"skew" to determine if A is skew-Hermitian.
Examples
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 if the matrix is Hermitian.
tf = ishermitian(A)
tf = logical
0
The matrix A is not Hermitian because it is equal to its transpose, A.', but not its complex conjugate transpose, A'.
Change the element in A(3,1) to -1i.
A(3,1) = -1i;
Test 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.
Test if the matrix is skew-Hermitian by specifying the test type as "skew".
tf = ishermitian(A,"skew")tf = logical
1
The matrix A is skew-Hermitian because it is equal to the negation of its complex conjugate transpose, -A'.
Input Arguments
Input array. If A is not a square matrix, 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 if A is skew-Hermitian.
More About
A square matrix,
A, is Hermitian if it is equal to its complex conjugate transpose,A = A'.In terms of the matrix elements,
The entries on the diagonal of a Hermitian matrix are always real. Because real matrices are unaffected by complex conjugation, a real matrix that is symmetric is also Hermitian. For example, this 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.
Extended Capabilities
Usage notes and limitations:
The input argument
skewOptionmust be constant for sparse matrices.
Refer to the usage notes and limitations in the C/C++ Code Generation section. The same usage notes and limitations apply to GPU code generation.
The ishermitian function fully supports
thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.
The ishermitian function
fully supports GPU arrays. To run the function on a GPU, specify the input data as a gpuArray (Parallel Computing Toolbox). For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
The ishermitian function fully supports
distributed arrays. For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Version History
Introduced in R2014aThe ishermitian function supports code generation with sparse
matrix inputs.
See Also
issymmetric | isreal | eig | transpose | ctranspose
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)