QPanda3  0.1.0
Supported by OriginQ
Loading...
Searching...
No Matches
Choi

Prev Tutorial: Kraus
Next Tutorial: SuperOp


Introduction

Choi-matrix representation of a Quantum Channel.

The Choi-matrix representation of a quantum channel \(\mathcal{E}\) is a matrix

\[ \Lambda=\sum_{i, j}|i\rangle\langle j| \otimes \mathcal{E}(|i\rangle\langle j|) \]

Evolution of a DensityMatrix \(\rho\) with respect to the Choi-matrix is given by

\[ \mathcal{E}(\rho)=\operatorname{Tr}_{1}\left[\Lambda\left(\rho^{T} \otimes \mathbb{I}\right)\right] \]

Please refer: C.J. Wood, J.D. Biamonte, D.G. Cory, Tensor networks and graphical calculus for open quantum systems, Quant. Inf. Comp. 15, 0579-0811 (2015).arXiv:1111.6950 [quant-ph]

In QPanda3 Quantum Information

Constructing a Choi object

Here is API doc

From Choi

Generate another Choi object from a Choi object

choi2: {
{
{(1,0)},{(0,0)},{(0,0)},{(-1,0)},
}
{
{(0,0)},{(2,0)},{(0,0)},{(0,0)},
}
{
{(0,0)},{(0,0)},{(2,0)},{(0,0)},
}
{
{(-1,0)},{(0,0)},{(0,0)},{(1,0)},
}
}

From Chi

Generate another Choi object from a Chi object

Please refer to Chi

Output

choi: {
{
{(1,0)},{(0,0)},{(0,0)},{(-1,0)},
}
{
{(0,0)},{(2,0)},{(0,0)},{(0,0)},
}
{
{(0,0)},{(0,0)},{(2,0)},{(0,0)},
}
{
{(-1,0)},{(0,0)},{(0,0)},{(1,0)},
}
}

From SuperOp

Generate another Choi object from a SuperOp object Please refer to SuperOp

Output

choi: {
{
{(1,0)},{(0,0)},{(0,0)},{(-1,0)},
}
{
{(0,0)},{(2,0)},{(0,0)},{(0,0)},
}
{
{(0,0)},{(0,0)},{(2,0)},{(0,0)},
}
{
{(-1,0)},{(0,0)},{(0,0)},{(1,0)},
}
}

From Kraus

Generate another Choi object from a Kraus object

Please refer to Kraus

Output

choi: {
{
{(1,0)},{(0,0)},{(0,0)},{(-1,0)},
}
{
{(0,0)},{(2,0)},{(0,0)},{(0,0)},
}
{
{(0,0)},{(0,0)},{(2,0)},{(0,0)},
}
{
{(-1,0)},{(0,0)},{(0,0)},{(1,0)},
}
}

From PTM

Generate another Choi object from a PTM object

Please refer to PTM

Output

choi: {
{
{(1,0)},{(0,0)},{(0,0)},{(-1,0)},
}
{
{(0,0)},{(2,0)},{(0,0)},{(0,0)},
}
{
{(0,0)},{(0,0)},{(2,0)},{(0,0)},
}
{
{(-1,0)},{(0,0)},{(0,0)},{(1,0)},
}
}

Obtain internal data

Input and output dim

Obtain the input dimension input_dim and output dimension output_dim of the quantum channel

The shape of the Choi matrix is(input_dim * output_dim,input_dim * output_dim)

Here is API doc for Choi.get_input_dim

Here is API doc for Choi.get_output_dim

Output

input_dim: 2
output_dim: 2

Evolution of quantum states

Here is API doc for Choi.evolve

DensityMatrix

Evolution of a DensityMatrix object, and the evolution result is returned as a DensityMatrix object

The dimension of the density matrix is obtained by the member method dim() and should be equal to the input dimension of the Choi object

Please refer to DensityMatrix.

Output

res: {
{
{(1.30728,0)},{(-0.383385,0.177724)},
}
{
{(-0.383385,-0.177724)},{(1.69272,0)},
}
}

StateVector

Evolution of the StateVector object is performed, and the result is returned as a DensityMatrix object

The dimension of the StateVector object is obtained by the member method dim() and should be equal to the input dimension of the Choi object

Please refer to DensityMatrix

Please refer to StateVector

Output

res: {
{
{(1,0)},{(0,0)},
}
{
{(0,0)},{(2,0)},
}
}

Boolean function

Equal

Determine whether the internal data of two Choi objects are equal

Here is API doc

Output

True