toqito.channels.choi
- toqito.channels.choi(a_var=1, b_var=1, c_var=0)[source]
Produce the Choi channel or one of its generalizations [Choi92].
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=0is the Choi matrix of the positive map defined in [Choi92]. 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
toqitoas follows.>>> from toqito.channels import choi >>> import numpy as np >>> choi() [[ 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 = 0and whenb = c = 1. We can obtain this matrix usingtoqitoas follows.>>> from toqito.channels import choi >>> import numpy as np >>> choi(0, 1, 1) [[ 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
References
[Choi92] (1,2)Cho, Sung Je, Seung-Hyeok Kye, and Sa Ge Lee. “Generalized Choi maps in three-dimensional matrix algebra.” Linear algebra and its applications 171 (1992): 213-224. https://www.sciencedirect.com/science/article/pii/002437959290260H
- Parameters:
a_var – Default integer for standard Choi map.
b_var – Default integer for standard Choi map.
c_var – Default integer for standard Choi map.
- Returns:
The Choi channel (or one of its generalizations).