---
title: NoiseLearnerV3Result (latest version)
description: API reference for qiskit_ibm_runtime.results.NoiseLearnerV3Result in the latest version of qiskit-ibm-runtime
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit-ibm-runtime/results-noise-learner-v3-result
---

# NoiseLearnerV3Result

*class* `NoiseLearnerV3Result`

[GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.49/qiskit_ibm_runtime/results/noise_learner_v3.py#L36-L126)

Bases: `object`

Results of a noise learner experiment for a single instruction, in Pauli Lindblad format.

An error channel Pauli Lindblad $E$ acting on a state $\rho$ can be expressed in Pauli Lindblad format as $E(\rho) = e^{\sum_j r_j D_{P_j}}(\rho)$, $P_j$ are Pauli operators (or “generators”) and $r_j$ are floats (or “rates”) \[1]. The equivalent Pauli error channel can be constructed as a composition of single-Pauli channel terms

$$
E = e^{\sum_j r_j D_{P_j}} = \prod_j e^{r_j D_{P_j}}
= prod_j \left( (1 - p_j) S_I + p_j S_{P_j} \right)
$$

where $p_j = \frac12 - \frac12 e^{-2 r_j}$.

Some strategies for learning noise channels, such as the Pauli Lindblad learning protocol in Ref. \[1], produce degenerate terms, meaning that they learn products of rates as opposed to individual rates.

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

## Methods

### \_\_len\_\_

`__len__()`

[GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.49/qiskit_ibm_runtime/results/noise_learner_v3.py#L122-L123)

**Return type**

int

### from\_generators

*classmethod* `from_generators(generators, rates, rates_std=None, metadata=None)`

[GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.49/qiskit_ibm_runtime/results/noise_learner_v3.py#L68-L103)

Construct from a collection of generators and rates.

**Parameters**

- **generators** (*Iterable\[QubitSparsePauliList]*) – The generators describing the noise channel in the Pauli Lindblad format. This is a list of [`QubitSparsePauliList`](/docs/api/qiskit/qiskit.quantum_info.QubitSparsePauliList) objects, as opposed to a list of [`QubitSparsePauli`](/docs/api/qiskit/qiskit.quantum_info.QubitSparsePauli), in order to capture degeneracies present within the model.
- **rates** (*Iterable\[float]*) – The rates of the individual generators. The `i`-th element in this list represents the rate of all the Paulis in the `i`-th generator.
- **rates\_std** (*Iterable\[float] | None*) – The standard deviation associated to the rates of the generators. If `None`, it sets all the standard deviations to `0`.
- **metadata** ([*Metadata*](/docs/api/qiskit-ibm-runtime/results-metadata "qiskit_ibm_runtime.results.Metadata") *| None*) – A dictionary of metadata.

**Return type**

[NoiseLearnerV3Result](#qiskit_ibm_runtime.results.NoiseLearnerV3Result "qiskit_ibm_runtime.results.NoiseLearnerV3Result")

### to\_pauli\_lindblad\_map

`to_pauli_lindblad_map()`

[GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.49/qiskit_ibm_runtime/results/noise_learner_v3.py#L105-L120)

Transform this result to a Pauli Lindblad map.

The Pauli terms in the generators are indexed in physical qubit order, that is, the order of the qubits in the outer-most circuit.

**Return type**

[*PauliLindbladMap*](/docs/api/qiskit/qiskit.quantum_info.PauliLindbladMap)
