state_props.is_ensemble

Checks if a set of quantum states form an ensemble.

Functions

is_ensemble(states)

Determine if a set of states constitute an ensemble.

Module Contents

state_props.is_ensemble.is_ensemble(states)

Determine if a set of states constitute an ensemble.

For more info, see Section: Ensemble Of Quantum States from cite:Watrous_2018_TQI.

An ensemble of quantum states is defined by a function

\[\eta : \Gamma \rightarrow \text{Pos}(\mathcal{X})\]

that satisfies

\[\text{Tr}\left( \sum_{a \in \Gamma} \eta(a) \right) = 1.\]

Examples

Consider the following set of matrices

\[\eta = \left\{ \rho_0, \rho_1 \right\}\]

where

\[\begin{split}\rho_0 = \frac{1}{2} \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}, \quad \rho_1 = \frac{1}{2} \begin{pmatrix} 0 & 0 \\ 0 & 1 \end{pmatrix}.\end{split}\]

The set \(\eta\) constitutes a valid ensemble.

>>> from toqito.state_props import is_ensemble
>>> import numpy as np
>>> rho_0 = np.array([[0.5, 0], [0, 0]])
>>> rho_1 = np.array([[0, 0], [0, 0.5]])
>>> states = [rho_0, rho_1]
>>> is_ensemble(states)
True

References

Parameters:

states (list[numpy.ndarray]) – The list of states to check.

Returns:

True if states form an ensemble and False otherwise.

Return type:

bool