toqito.matrix_props.is_commuting¶
Checks if the matrix is commuting.
Module Contents¶
- toqito.matrix_props.is_commuting.is_commuting(mat_1, mat_2)[source]¶
Determine if two linear operators commute with each other [@WikiComm].
For any pair of operators (X, Y in text{L}(mathcal{X})), the Lie bracket (left[X, Yright] in text{L}(mathcal{X})) is defined as
- [
left[X, Yright] = XY - YX.
]
It holds that (left[X,Yright]=0) if and only if (X) and (Y) commute (Section: Lie Brackets And Commutants from [@Watrous_2018_TQI]).
Examples
Consider the following matrices:
- [
A = begin{pmatrix} 0 & 1 \ 0 & 0 end{pmatrix}, quad text{and} quad B = begin{pmatrix} 1 & 0 \ 0 & 0 end{pmatrix}.
]
It holds that (AB=0), however
- [
BA = begin{pmatrix} 0 & 1 \ 0 & 0 end{pmatrix} = A,
]
and hence, do not commute.
```python exec=”1” source=”above” import numpy as np from toqito.matrix_props import is_commuting
mat_1 = np.array([[0, 1], [0, 0]]) mat_2 = np.array([[1, 0], [0, 0]])
print(is_commuting(mat_1, mat_2)) ```
Consider the following pair of matrices:
- [
- A = begin{pmatrix}
1 & 0 & 0 \ 0 & 1 & 0 \ 1 & 0 & 2 end{pmatrix} quad text{and} quad
- B = begin{pmatrix}
2 & 4 & 0 \ 3 & 1 & 0 \ -1 & -4 & 1 end{pmatrix}.
]
It may be verified that (AB = BA = 0), and therefore (A) and (B) commute.
```python exec=”1” source=”above” import numpy as np from toqito.matrix_props import is_commuting
mat_1 = np.array([[1, 0, 0], [0, 1, 0], [1, 0, 2]]) mat_2 = np.array([[2, 4, 0], [3, 1, 0], [-1, -4, 1]])
print(is_commuting(mat_1, mat_2)) ```
- Parameters:
mat_1 (numpy.ndarray) – First matrix to check.
mat_2 (numpy.ndarray) – Second matrix to check.
- Returns:
Return True if mat_1 commutes with mat_2 and False otherwise.
- Return type:
bool