channels.choi¶
Generates the Choi channel.
Functions¶
Module Contents¶
- channels.choi.choi(a_var=1, b_var=1, c_var=0)¶
Produce the Choi channel or one of its generalizations [1].
The Choi channel is a positive map on 3-by-3 matrices that is capable of detecting some entanglement that the transpose map is not.
The standard Choi channel defined with
a=1
,b=1
, andc=0
is the Choi matrix of the positive map defined in [1]. Many of these maps are capable of detecting PPT entanglement.Examples
The standard Choi channel is given as
\[\begin{split}\Phi_{1, 1, 0} = \begin{pmatrix} 1 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & -1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ -1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & -1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ -1 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 1 \end{pmatrix}\end{split}\]We can generate the Choi channel in
toqito
as follows.>>> from toqito.channels import choi >>> import numpy as np >>> choi() array([[ 1., 0., 0., 0., -1., 0., 0., 0., -1.], [ 0., 0., 0., 0., 0., 0., 0., 0., 0.], [ 0., 0., 1., 0., 0., 0., 0., 0., 0.], [ 0., 0., 0., 1., 0., 0., 0., 0., 0.], [-1., 0., 0., 0., 1., 0., 0., 0., -1.], [ 0., 0., 0., 0., 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0., 0., 0., 0., 0.], [ 0., 0., 0., 0., 0., 0., 0., 1., 0.], [-1., 0., 0., 0., -1., 0., 0., 0., 1.]])
The reduction channel is the map \(R\) defined by:
\[R(X) = \text{Tr}(X) \mathbb{I} - X.\]The matrix correspond to this is given as
\[\begin{split}\Phi_{0, 1, 1} = \begin{pmatrix} 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & -1 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ -1 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 \end{pmatrix}\end{split}\]The reduction channel is the Choi channel that arises when
a = 0
and whenb = c = 1
. We can obtain this matrix usingtoqito
as follows.>>> from toqito.channels import choi >>> import numpy as np >>> choi(0, 1, 1) array([[ 0., 0., 0., 0., -1., 0., 0., 0., -1.], [ 0., 1., 0., 0., 0., 0., 0., 0., 0.], [ 0., 0., 1., 0., 0., 0., 0., 0., 0.], [ 0., 0., 0., 1., 0., 0., 0., 0., 0.], [-1., 0., 0., 0., 0., 0., 0., 0., -1.], [ 0., 0., 0., 0., 0., 1., 0., 0., 0.], [ 0., 0., 0., 0., 0., 0., 1., 0., 0.], [ 0., 0., 0., 0., 0., 0., 0., 1., 0.], [-1., 0., 0., 0., -1., 0., 0., 0., 0.]])
See also
reduction
References
[1] (1,2,3)Sung Je Cho, Seung-Hyeok Kye, and Sa Ge Lee. Generalized choi maps in three-dimensional matrix algebra. Linear Algebra and its Applications, 171:213–224, 1992. doi:https://doi.org/10.1016/0024-3795(92)90260-H.
- Parameters:
a_var (int) – Default integer for standard Choi map.
b_var (int) – Default integer for standard Choi map.
c_var (int) – Default integer for standard Choi map.
- Returns:
The Choi channel (or one of its generalizations).
- Return type:
numpy.ndarray