# Choi¶

class Choi(data, input_dims=None, output_dims=None)[Quellcode]

Bases: qiskit.quantum_info.operators.channel.quantum_channel.QuantumChannel

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}\left(|i\rangle\!\langle j|\right)$

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

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

where $$\mbox{Tr}_1$$ is the partial_trace() over subsystem 1.

See reference [1] for further details.

References

1. 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]

Initialize a quantum channel Choi matrix operator.

Parameter
• or (data (QuantumCircuit) – Instruction or BaseOperator or matrix): data to initialize superoperator.

• input_dims (tuple) – the input subsystem dimensions. [Default: None]

• output_dims (tuple) – the output subsystem dimensions. [Default: None]

Verursacht

QiskitError – if input data cannot be initialized as a Choi matrix.

If the input or output dimensions are None, they will be automatically determined from the input data. If the input data is a Numpy array of shape (4**N, 4**N) qubit systems will be used. If the input operator is not an N-qubit operator, it will assign a single subsystem with dimension specified by the shape of the input.

Methods

 adjoint Return the adjoint quantum channel. compose Return the operator composition with another Choi. conjugate Return the conjugate quantum channel. copy Make a deep copy of current operator. dot Return the right multiplied operator self * other. expand Return the reverse-order tensor product with another Choi. input_dims Return tuple of input dimension for specified subsystems. is_cp Test if Choi-matrix is completely-positive (CP) is_cptp Return True if completely-positive trace-preserving (CPTP). is_tp Test if a channel is trace-preserving (TP) is_unitary Return True if QuantumChannel is a unitary channel. output_dims Return tuple of output dimension for specified subsystems. power Return the power of the quantum channel. reshape Return a shallow copy with reshaped input and output subsystem dimensions. tensor Return the tensor product with another Choi. to_instruction Convert to a Kraus or UnitaryGate circuit instruction. to_operator Try to convert channel to a unitary representation Operator. transpose Return the transpose quantum channel.

Attributes

atol = 1e-08
data

Return data.

dim

Return tuple (input_shape, output_shape).

num_qubits

Return the number of qubits if a N-qubit operator or None otherwise.

qargs

Return the qargs for the operator.

rtol = 1e-05
settings

Return settings.