Quantum channels and noise models
Kraus channel
- class graphix.channels.KrausChannel(kraus_data)[source]
quantum channel class in the Kraus representation. Defined by Kraus operators \(K_i\) with scalar prefactors
coef) \(c_i\), where the channel act on density matrix as \(\rho' = \sum_i K_i^\dagger \rho K_i\). The data should satisfy \(\sum K_i^\dagger K_i = I\)- nqubit
number of qubits acted on by the Kraus operators
- Type
int
- size
number of Kraus operators (== Choi rank)
- Type
int
- kraus_ops
the data in format array_like(dict): [{coef: scalar, operator: array_like}, {coef: scalar, operator: array_like}, …]
- Type
array_like(dict())
- Returns
containing the corresponding Kraus operators
- Return type
Channel object
- graphix.channels.dephasing_channel(prob: float) KrausChannel[source]
single-qubit dephasing channel, \((1-p) \rho + p Z \rho Z\)
- Parameters
prob (float) – The probability associated to the channel
- Returns
containing the corresponding Kraus operators
- Return type
graphix.channel.KrausChannelobject
- graphix.channels.depolarising_channel(prob: float) KrausChannel[source]
single-qubit depolarizing channel
\[(1-p) \rho + \frac{p}{3} (X \rho X + Y \rho Y + Z \rho Z) = (1 - 4 \frac{p}{3}) \rho + 4 \frac{p}{3} id\]- Parameters
prob (float) – The probability associated to the channel
- graphix.channels.pauli_channel(px: float, py: float, pz: float) KrausChannel[source]
single-qubit pauli channel,
\[(1-p_X-p_Y-p_Z) \rho + p_X X \rho X + p_Y Y \rho Y + p_Z Z \rho Z)\]
- graphix.channels.two_qubit_depolarising_channel(prob: float) KrausChannel[source]
two-qubit depolarising channel.
\[\mathcal{E} (\rho) = (1-p) \rho + \frac{p}{15} \sum_{P_i \in \{id, X, Y ,Z\}^{\otimes 2}/(id \otimes id)}P_i \rho P_i\]- Parameters
prob (float) – The probability associated to the channel
- Returns
containing the corresponding Kraus operators
- Return type
graphix.channel.KrausChannelobject
- graphix.channels.two_qubit_depolarising_tensor_channel(prob: float) KrausChannel[source]
two-qubit tensor channel of single-qubit depolarising channels with same probability. Kraus operators:
\[\Big\{ \sqrt{(1-p)} id, \sqrt{(p/3)} X, \sqrt{(p/3)} Y , \sqrt{(p/3)} Z \Big\} \otimes \Big\{ \sqrt{(1-p)} id, \sqrt{(p/3)} X, \sqrt{(p/3)} Y , \sqrt{(p/3)} Z \Big\}\]- Parameters
prob (float) – The probability associated to the channel
- Returns
containing the corresponding Kraus operators
- Return type
graphix.channel.KrausChannelobject
Noise model classes
- class graphix.noise_models.noise_model.NoiseModel[source]
Abstract base class for all noise models.
- class graphix.noise_models.noiseless_noise_model.NoiselessNoiseModel[source]
Noiseless noise model for testing. Only return the identity channel.
- Parameters
NoiseModel (class) – Parent abstract class class:graphix.noise_model.NoiseModel