Skip to main content
IBM Quantum Platform
Información sobre la traducción

Próximamente habrá traducciones a otros idiomas de esta página.

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

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

mode

Return the execution mode used by this primitive.

Returns

Mode used by this primitive, or None if an execution mode is not used.

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, dry_run=False)

GitHub

Submit a request to the noise learner program.

Two protocols are supported:

  • Lindblad: for boxed instructions which content can be cast to

    Clifford and contain a single layer of (up to) two qubit gates.

  • TREX: for boxed instructions which content can contain exactly one measurement per qubit.

Note

To minimize the number of noise learning experiments, call find_unique_box_instructions() before running the noise learning job.

Parameters

  • instructions (Iterable[CircuitInstruction]) – The instructions to learn the noise of.
  • dry_run (bool) – If True, performs a dry run without executing the job on a QPU. This mode can be used to validate the job, estimate usage consumption, and retrieve circuit timing metadata. Returned results preserve the expected schema but contain randomized mock data rather than actual or simulated measurement results. Unlike the fake backends, the processing of this dry run happens on the server-side, so the job may not finish immediately and access to this feature may be restricted.

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

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.