---
title: NoiseLearnerV3 (latest version)
description: API reference for qiskit_ibm_runtime.executor_noise_learner.NoiseLearnerV3 in the latest version of qiskit-ibm-runtime
source: https://quantum.cloud.ibm.com/docs/en/api/qiskit-ibm-runtime/executor-noise-learner-noise-learner-v3
---

# NoiseLearnerV3

*class* `NoiseLearnerV3(mode=None, options=None)`

[GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.52/qiskit_ibm_runtime/executor_noise_learner/noise_learner_v3.py#L40-L147)

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()`](#qiskit_ibm_runtime.executor_noise_learner.NoiseLearnerV3.run "qiskit_ibm_runtime.executor_noise_learner.NoiseLearnerV3.run") method must contain a twirled-annotated [`BoxOp`](/docs/api/qiskit/qiskit.circuit.BoxOp) containing ISA operations. The result of a noise learner job contains a list of [`NoiseLearnerV3Result`](/docs/api/qiskit-ibm-runtime/results-noise-learner-v3-result "qiskit_ibm_runtime.results.NoiseLearnerV3Result") objects, one for each given instruction.

**Parameters**

- **mode** (*BackendV2 |* [*Session*](/docs/api/qiskit-ibm-runtime/session "qiskit_ibm_runtime.Session")  *|*[*Batch*](/docs/api/qiskit-ibm-runtime/batch "qiskit_ibm_runtime.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 [IBM Quantum Compute (formerly Qiskit Runtime) documentation](/docs/ibm-quantum-compute/execution-modes) for more information about the execution modes.

- **options** ([*NoiseLearnerV3Options*](/docs/api/qiskit-ibm-runtime/options-models-noise-learner-v3-options "qiskit_ibm_runtime.options_models.noise_learner_v3.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\]](https://arxiv.org/abs/2201.09866)

## 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`](/docs/api/qiskit-ibm-runtime/options-models-noise-learner-v3-options "qiskit_ibm_runtime.options_models.noise_learner_v3.NoiseLearnerV3Options")

The options in this noise learner.

## Methods

### backend

`backend()`

[GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.52/qiskit_ibm_runtime/executor_noise_learner/noise_learner_v3.py#L97-L99)

Return the backend the primitive query will be run on.

**Return type**

BackendV2

### run

`run(instructions, dry_run=False)`

[GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.52/qiskit_ibm_runtime/executor_noise_learner/noise_learner_v3.py#L110-L147)

Submit a request to the noise learner program.

**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.

**Return type**

[RuntimeJobV2](/docs/api/qiskit-ibm-runtime/runtime-job-v2 "qiskit_ibm_runtime.RuntimeJobV2") | LocalRuntimeJob
