PauliLindbladError

class PauliLindbladError(generators, rates)[source]

Bases: object

A Pauli error channel generated by a Pauli Lindblad dissipators.

This operator represents an N-qubit quantum error channel \(E(\rho) = e^{\sum_j r_j D_{P_j}}(\rho)\) generated by Pauli Lindblad dissipators \(D_P(\rho) = P \rho P - \rho\), where \(P_j\) are N-qubit Pauli operators.

The list of Pauli generator terms are stored as a PauliList and can be accessed via the generators attribute. The array of dissipator rates \(r_j\) can be accessed via the rates attribute.

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}\) [1].

Parameters:
  • generators (PauliList) – A list of the Pauli Lindblad generators for the error channel.

  • rates (Sequence[float]) – A list of the rates for the Pauli-Lindblad generators.

Raises:

ValueError – If generators and rates have different lengths.

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, pages1116–1121 (2023). arXiv:2201.09866 [quant-ph]

Attributes

generators

The Pauli Lindblad generators of this PauliLindbladError.

num_qubits

The number of qubits in this PauliLindbladError.

rates

The Lindblad generator rates of this quantum error.

Methods

restrict_num_bodies(num_qubits)[source]

The PauliLindbladError containing only those terms acting on exactly num_qubits qubits.

Parameters:

num_qubits (int) – The number of qubits that the returned error acts on.

Returns:

The error containing only those terms acting on exactly num_qubits qubits.

Raises:

ValueError – If num_qubits is smaller than 0.

Return type:

PauliLindbladError