# ishermitian

Determine if matrix is Hermitian or skew-Hermitian

## Syntax

``tf = ishermitian(A)``
``tf = ishermitian(A,skewOption)``

## 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.

## Version History

Introduced in R2014a