toqito.matrix_props.is_permutation ================================== .. py:module:: toqito.matrix_props.is_permutation .. autoapi-nested-parse:: Checks if the matrix is a permutation matrix. Module Contents --------------- .. py:function:: is_permutation(mat) Determine if a matrix is a permutation matrix [@WikiPerm]. A matrix is a permutation matrix if each row and column has a single element of 1 and all others are 0. .. rubric:: Examples Consider the following permutation matrix \[ A = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix} \] which is indeed a permutation matrix. ```python exec="1" source="above" import numpy as np from toqito.matrix_props import is_permutation A = np.array([[1, 0, 0], [0, 0, 1], [0, 1, 0]]) print(is_permutation(A)) ``` Alternatively, the following example matrix \(B\) defined as \[ B = \begin{pmatrix} 1 & 0 & 0 \\ 1 & 0 & 0 \\ 1 & 0 & 0 \end{pmatrix} \] has 2 columns with all zero values and is thus not a permutation matrix. ```python exec="1" source="above" import numpy as np from toqito.matrix_props import is_permutation B = np.array([[1, 0, 0], [1, 0, 0], [1, 0, 0]]) print(is_permutation(B)) ``` :param mat: The matrix to check. :returns: Returns `True` if the matrix is a permutation matrix and `False` otherwise.