toqito.matrix_props.is_diagonal
- toqito.matrix_props.is_diagonal(mat)[source]
Determine if a matrix is diagonal [WikDiag].
A matrix is diagonal if the matrix is square and if the diagonal of the matrix is non-zero, while the off-diagonal elements are all zero.
The following is an example of a 3-by-3 diagonal matrix:
\[\begin{split}\begin{equation} \begin{pmatrix} 1 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 3 \end{pmatrix} \end{equation}\end{split}\]This quick implementation is given by Daniel F. from StackOverflow in [SODIA].
Examples
Consider the following diagonal matrix:
\[\begin{split}A = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}.\end{split}\]Our function indicates that this is indeed a diagonal matrix:
>>> from toqito.matrix_props import is_diagonal >>> import numpy as np >>> A = np.array([[1, 0], [0, 1]]) >>> is_diagonal(A) True
Alternatively, the following example matrix
\[\begin{split}B = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}\end{split}\]is not diagonal, as shown using
toqito.>>> from toqito.matrix_props import is_diagonal >>> import numpy as np >>> B = np.array([[1, 2], [3, 4]]) >>> is_diagonal(B) False
References
[WikDiag]Wikipedia: Diagonal matrix https://en.wikipedia.org/wiki/Diagonal_matrix
[SODIA]StackOverflow post https://stackoverflow.com/questions/43884189/
- Parameters:
mat – The matrix to check.
- Returns:
Returns
Trueif the matrix is diagonal andFalseotherwise.