toqito.matrix_props.is_permutation

Checks if the matrix is a permutation matrix.

Module Contents

toqito.matrix_props.is_permutation.is_permutation(mat)[source]

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.

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)) ```

Parameters:

mat (numpy.ndarray) – The matrix to check.

Returns:

Returns True if the matrix is a permutation matrix and False otherwise.

Return type:

bool