channel_props.is_extremal¶
Determines whether a quantum channel is extremal.
Functions¶
|
Determine whether a quantum channel is extremal. |
Module Contents¶
- channel_props.is_extremal.is_extremal(phi, tol=1e-09)¶
Determine whether a quantum channel is extremal.
(Section 2.2.4: Extremal Channels from [1]).
Theorem 2.31 in [1] provides the characterization of extremal quantum channels as a channel \(\Phi\) is an extreme point of the convex set of quantum channels if and only if the collection:
\[\{ A_i^\dagger A_j \}_{i,j=1}^{r}\]is linearly independent.
The channel can be provided in one of the following representations:
A Choi matrix, representing the quantum channel in the Choi representation. It will be converted internally to a set of Kraus operators.
A list of Kraus operators, representing the channel in Kraus form.
A nested list of Kraus operators, which will be flattened automatically.
Examples
The following demonstrates an example of an extremal quantum channel from Example 2.33 in [1].
import numpy as np from toqito.channel_props import is_extremal kraus_ops = [ (1 / np.sqrt(6)) * np.array([[2, 0], [0, 1], [0, 1], [0, 0]]), (1 / np.sqrt(6)) * np.array([[0, 0], [1, 0], [1, 0], [0, 2]]) ] is_extremal(kraus_ops)
True
References
[1] (1,2,3)John Watrous. The Theory of Quantum Information. Cambridge University Press, 2018. URL: https://johnwatrous.com/wp-content/uploads/TQI.pdf, doi:10.1017/9781316848142.
- Parameters:
phi (list[numpy.ndarray] | list[list[numpy.ndarray]] | numpy.ndarray) – The quantum channel, which may be given as a Choi matrix or a list of Kraus operators.
tol (float) – Tolerance value for numerical precision in rank computation.
- Raises:
ValueError – If the input is neither a valid list of Kraus operators nor a Choi matrix.
- Returns:
True if the channel is extremal; False otherwise.
- Return type:
bool