toqito.matrix_props.is_projection¶
Checks if the matrix is a projection matrix.
Module Contents¶
- toqito.matrix_props.is_projection.is_projection(mat, rtol=1e-05, atol=1e-08)[source]¶
Check if matrix is a projection matrix [@WikiProjMat].
A matrix is a projection matrix if it is positive semidefinite (PSD) and if
- [
- begin{equation}
X^2 = X
end{equation}
]
where (X) is the matrix in question.
Examples
Consider the following matrix
- [
- A = begin{pmatrix}
0 & 1 \ 0 & 1
end{pmatrix}
]
our function indicates that this is indeed a projection matrix.
```python exec=”1” source=”above” import numpy as np from toqito.matrix_props import is_projection
A = np.array([[0, 1], [0, 1]])
Alternatively, the following example matrix (B) defined as
- [
- B = begin{pmatrix}
-1 & -1 \ -1 & -1
end{pmatrix}
]
is not positive definite.
```python exec=”1” source=”above” import numpy as np from toqito.matrix_props import is_projection
B = np.array([[-1, -1], [-1, -1]])
- Parameters:
mat (numpy.ndarray) – Matrix to check.
rtol (float) – The relative tolerance parameter (default 1e-05).
atol (float) – The absolute tolerance parameter (default 1e-08).
- Returns:
Return True if matrix is a projection matrix, and False otherwise.
- Return type:
bool