toqito.matrix_props.is_pseudo_hermitian

Checks if matrix is pseudo hermitian with respect to given signature.

Module Contents

toqito.matrix_props.is_pseudo_hermitian.is_pseudo_hermitian(mat, signature, rtol=1e-05, atol=1e-08)[source]

Check if a matrix is pseudo-Hermitian.

A matrix (H) is pseudo-Hermitian with respect to a given signature matrix (eta) if it satisfies:

[

eta H eta^{-1} = H^{dagger},

]

where:

  • (H^{dagger}) is the conjugate transpose (Hermitian transpose) of (H),

  • (eta) is a Hermitian, invertible matrix.

Examples

Consider the following matrix:

[
H = begin{pmatrix}

1 & 1+i \ -1+i & -1

end{pmatrix}

]

with the signature matrix:

[
eta = begin{pmatrix}

1 & 0 \ 0 & -1

end{pmatrix}

]

Our function confirms that (H) is pseudo-Hermitian:

```python exec=”1” source=”above” import numpy as np from toqito.matrix_props import is_pseudo_hermitian

H = np.array([[1, 1+1j], [-1+1j, -1]]) eta = np.array([[1, 0], [0, -1]])

print(is_pseudo_hermitian(H, eta)) ```

However, the following matrix (A)

[
A = begin{pmatrix}

1 & i \ -i & 1

end{pmatrix}

]

is not pseudo-Hermitian with respect to the same signature matrix.

```python exec=”1” source=”above” import numpy as np from toqito.matrix_props import is_pseudo_hermitian eta = np.array([[1, 0], [0, -1]]) A = np.array([[1, 1j], [-1j, 1]])

print(is_pseudo_hermitian(A, eta)) ```

Raises:

ValueError – If signature is not Hermitian or not invertible.

Parameters:
  • mat (numpy.ndarray) – The matrix to check.

  • signature (numpy.ndarray) – The signature matrix (eta), which must be Hermitian and invertible.

  • rtol (float) – The relative tolerance parameter (default 1e-05).

  • atol (float) – The absolute tolerance parameter (default 1e-08).

Returns:

Return True if the matrix is pseudo-Hermitian, and False otherwise.

Return type:

bool