deltakit.circuit.noise_channels.PauliChannel2#

class deltakit.circuit.noise_channels.PauliChannel2(qubit1: Qubit[T] | T, qubit2: Qubit[T] | T, p_ix: float = 0.0, p_iy: float = 0.0, p_iz: float = 0.0, p_xi: float = 0.0, p_xx: float = 0.0, p_xy: float = 0.0, p_xz: float = 0.0, p_yi: float = 0.0, p_yx: float = 0.0, p_yy: float = 0.0, p_yz: float = 0.0, p_zi: float = 0.0, p_zx: float = 0.0, p_zy: float = 0.0, p_zz: float = 0.0, *, tag: str | None = None)#

Bases: MultiProbabilityNoiseChannel[T], TwoQubitNoiseChannel[T]

A two-qubit Pauli error channel with explicitly specified probabilities for each case.

Parameters:
  • qubit1 (Qubit[T] | T) – The first qubit in the noise channel.

  • qubit2 (Qubit[T] | T) – The second qubit in the noise channel.

  • p_ix (float, optional) – Probability of applying an IX operation, by default 0.0

  • p_iy (float, optional) – Probability of applying an IY operation, by default 0.0

  • p_iz (float, optional) – Probability of applying an IZ operation, by default 0.0

  • p_xi (float, optional) – Probability of applying an XI operation, by default 0.0

  • p_xx (float, optional) – Probability of applying an XX operation, by default 0.0

  • p_xy (float, optional) – Probability of applying an XY operation, by default 0.0

  • p_xz (float, optional) – Probability of applying an XZ operation, by default 0.0

  • p_yi (float, optional) – Probability of applying a YI operation, by default 0.0

  • p_yx (float, optional) – Probability of applying a YX operation, by default 0.0

  • p_yy (float, optional) – Probability of applying a YY operation, by default 0.0

  • p_yz (float, optional) – Probability of applying a YZ operation, by default 0.0

  • p_zi (float, optional) – Probability of applying a ZI operation, by default 0.0

  • p_zx (float, optional) – Probability of applying a ZX operation, by default 0.0

  • p_zy (float, optional) – Probability of applying a ZY operation, by default 0.0

  • p_zz (float, optional) – Probability of applying a ZZ operation, by default 0.0

Notes

Pauli Mixture:
1-pix-piy-piz-pxi-pxx-pxy-pxz-pyi-pyx-pyy-pyz-pzi-pzx-pzy-pzz: II
p_ix: IX
p_iy: IY
p_iz: IZ
p_xi: XI
p_xx: XX
p_xy: XY
p_xz: XZ
p_yi: YI
p_yx: YX
p_yy: YY
p_yz: YZ
p_zi: ZI
p_zx: ZX
p_zy: ZY
p_zz: ZZ

Methods#

PauliChannel2.approx_equals

Determine whether two noise channels are equal within a given tolerance.

PauliChannel2.from_consecutive

Yield a class instance for each pair in a flattened sequence of data.

PauliChannel2.generator_from_prob

Return a classmethod that can be used to create a noise channel with a predetermined probability

PauliChannel2.stim_targets

Get all stim gate targets for this noise channel in a tuple.

PauliChannel2.transform_qubits

Transform this noise channel's qubits according to the id mapping.