Source code for toqito.states.max_mixed
"""Maximally mixed states are states which are formed as a uniform mixture of states in an orthonormal basis.
The density matrix of a maximally mixed state is directly proportional to the identity matrix.
"""
import numpy as np
from scipy.sparse import dia_array, eye_array
[docs]
def max_mixed(dim: int, is_sparse: bool = False) -> np.ndarray | dia_array:
r"""Produce the maximally mixed state [@Aaronson_2018_MaxMixed].
Produces the maximally mixed state on of `dim` dimensions. The maximally mixed state is defined as
\[
\omega = \frac{1}{d} \begin{pmatrix}
1 & 0 & \ldots & 0 \\
0 & 1 & \ldots & 0 \\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \ldots & 1
\end{pmatrix},
\]
or equivalently, it is defined as
\[
\omega = \frac{\mathbb{I}}{\text{dim}(\mathcal{X})}
\]
for some complex Euclidean space \(\mathcal{X}\). The maximally mixed state is sometimes also referred to as the
tracial state.
The maximally mixed state is returned as a sparse matrix if `is_sparse = True` and is full if `is_sparse
= False`.
Examples:
Using `|toqito⟩`, we can generate the \(2\)-dimensional maximally mixed state
\[
\omega_2 = \frac{1}{2}
\begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix}
\]
as follows.
```python exec="1" source="above"
from toqito.states import max_mixed
print(max_mixed(2, is_sparse=False))
```
One may also generate a maximally mixed state returned as a sparse matrix
```python exec="1" source="above"
from toqito.states import max_mixed
print(max_mixed(2, is_sparse=True))
```
Args:
dim: Dimension of the entangled state.
is_sparse: `True` if vector is sparse and `False` otherwise.
Returns:
The maximally mixed state of dimension `dim`.
"""
if is_sparse:
return 1 / dim * eye_array(dim)
return 1 / dim * np.eye(dim)