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.import numpy as np from toqito.channels import choi 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 using|toqito⟩
as follows.import numpy as np from toqito.channels import choi 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
References
- 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