qrunch.quantum.error_mitigation.estimator.pauli_noise_cancellation

Module for Pauli noise cancellation (PNC).

Classes

PauliNoiseCancellationEstimatorErrorMitigator

Pre-processor exploiting Pauli noise cancellation (PNC).

class PauliNoiseCancellationEstimatorErrorMitigator

Bases: EstimatorErrorMitigator

Pre-processor exploiting Pauli noise cancellation (PNC).

__init__(noise_model: NoiseModel, *, compiler: Compiler | None = None) None

Initialize Pauli noise cancellation pre-processor.

Parameters:
  • backend – Backend to cancel the noise from. If not provided the noise_model must be provided and the noise from that model is cancelled.

  • noise_model (NoiseModel) – The error model to use in the noise cancellation.

  • compiler (Compiler | None) – Compiler for changing into universal gates. Defaults to PerGateCompiler.

Return type:

None

encode_error_mitigation(circuit: Circuit, observables: Sequence[HermitianPauliSum]) tuple[HermitianPauliSum, ...]

Process input using Pauli noise cancellation.

Parameters:
  • circuit (Circuit) – Universal gate circuit to pre-processing

  • observables (Sequence[HermitianPauliSum]) – Observables to pre-process.

Returns:

Processed observables and the original circuit.

Return type:

tuple[HermitianPauliSum, …]

Modules

clifford_compiler

Module containing compilers that can convert a universal gate circuit to a Clifford circuit.

clifford_stabilizer

Module that implements Clifford Stabilizer.

noise_models

Noise models for Pauli noise cancellation.