qilisdk.noise.pauli_channel

Classes

PauliChannel

General single-qubit Pauli channel.

Module Contents

class PauliChannel(*, pX: float = 0.0, pY: float = 0.0, pZ: float = 0.0)[source]

Bases: qilisdk.noise.noise.Noise, qilisdk.noise.protocols.SupportsStaticKraus, qilisdk.noise.protocols.SupportsTimeDerivedLindblad, qilisdk.noise.protocols.HasAllowedScopes

General single-qubit Pauli channel.

Channel:

E(rho) = pI * rho + pX * X rho X + pY * Y rho Y + pZ * Z rho Z where pI = 1 - (pX + pY + pZ).

Parameters:
  • pX (float) – Probability of X error.

  • pY (float) – Probability of Y error.

  • pZ (float) – Probability of Z error.

Raises:

ValueError – If any probability is outside [0, 1] or pX + pY + pZ > 1.

property pX: float[source]

Return the probability of an X error.

Returns:

Probability for the X Pauli error.

Return type:

float

property pY: float[source]

Return the probability of a Y error.

Returns:

Probability for the Y Pauli error.

Return type:

float

property pZ: float[source]

Return the probability of a Z error.

Returns:

Probability for the Z Pauli error.

Return type:

float

as_kraus() qilisdk.noise.representations.KrausChannel[source]

Return the static Kraus channel for this noise.

Returns:

The Kraus channel representation.

as_lindblad_from_duration(*, duration: float) qilisdk.noise.representations.LindbladGenerator[source]

Return the Lindblad generator for this noise.

Parameters:

duration (float) – Duration over which the noise acts.

Returns:

The Lindblad generator representation.

classmethod allowed_scopes() frozenset[qilisdk.noise.protocols.AttachmentScope][source]

Return the attachment scopes supported by this noise type.

Returns:

The set of scopes where this noise can be attached.