Skip to main contentIBM Quantum Documentation Mirror

NoiseLearnerV3

class NoiseLearnerV3(mode=None, options=None)

GitHub

Bases: object

Class for executing noise learning experiments.

The noise learner allows characterizing the noise processes affecting target instructions, based on the Pauli-Lindblad noise model described in [1]. The instructions provided to the run() method must contain a twirled-annotated BoxOp containing ISA operations. The result of a noise learner job contains a list of NoiseLearnerV3Result objects, one for each given instruction.

Parameters

  • mode (BackendV2 | Session |Batch | None) –

    The execution mode used to make the primitive query. It can be:

    • A Backend if you are using job mode.
    • A Session if you are using session execution mode.
    • A Batch if you are using batch execution mode.

    Refer to the Qiskit Runtime documentation for more information about the execution modes.

  • options (NoiseLearnerV3Options) – The desired options.

References

  1. E. van den Berg, Z. Minev, A. Kandala, K. Temme, Probabilistic error cancellation with sparse Pauli–Lindblad models on noisy quantum processors, Nature Physics volume 19, pages 1116–1121 (2023). arXiv:2201.09866 [quant-ph]

Attributes

options

Type: NoiseLearnerV3Options

The options in this noise learner.


Methods

backend

backend()

GitHub

Return the backend the primitive query will be run on.

Return type

BackendV2

run

run(instructions)

GitHub

Submit a request to the noise learner program.

Parameters

instructions (Iterable[CircuitInstruction]) – The instructions to learn the noise of.

Returns

The submitted job.

Raises

IBMInputValueError – If the instructions cannot be used with the noise learner, such as: * If an instruction contains a box without twirl annotation. * If an instruction contains unphysical qubits, i.e., qubits that do not belong to the “physical” register QuantumRegister(backend.num_qubits, 'q') for the backend in use. * If an instruction contains a box with non-ISA gates. * If an instruction cannot be learned by any of the supported learning protocols.

Return type

RuntimeJobV2