Skip to main content
IBM Quantum Platform

Modelos de ruido

qiskit_paulice.noise_models

Especificación del modelo de ruido para evaluar las comprobaciones de Pauli en el espacio-tiempo.

NoiseModel

class NoiseModel(gate_noise=None, readout_noise=None, idling_noise=None)

GitHub

Bases: object

Modelo de ruido utilizado para determinar las ubicaciones óptimas de los circuitos en las comprobaciones de Pauli en el espacio-tiempo.

Parámetros

  • gate_noise (GateNoise | None)
  • readout_noise (float | None)
  • idling_noise (float | None)

from_backend

classmethod from_backend(backend, layout, uniform_gate_noise=False, pauli_bases=None)

GitHub

Crear una instancia de NoiseModel a partir de los datos de calibración del backend.

Las claves de los bordes del diccionario resultante GateWiseNoise utilizan índices de qubits virtuales (posiciones en layout). Si el circuito de entrada tiene una disposición que asigna los elementos virtuales a los físicos de forma coherente con layout, las teclas también sirven como índices físicos.

idling_noise siempre None se obtiene a partir de este método; si backend no se dispone de la calibración de lectura, readout_noise también será None.

Parámetros

  • backend (BackendV2) – Un backend que contiene las probabilidades de error de las puertas de dos qubits para cada arista del mapa de acoplamiento, así como la información sobre los errores de lectura de cada qubit de la disposición.
  • layout (Sequence[int]) – Índices de qubits físicos del backend que deben incluirse en el modelo de ruido. La orden define la indexación de los qubits virtuales (el qubit virtual 0 se corresponde con layout[0], etc.).
  • uniform_gate_noise (bool) – Si True, el gate_noise campo en la salida NoiseModel será un UniformGateNoise y se supone que la probabilidad de error se distribuye uniformemente entre las 15 bases de Pauli distintas de la identidad, formando así un canal despolarizador uniforme que afectará por igual a todas las puertas de entrelazamiento. Si False, gate_noise será una GateWiseNoise instancia en la que cada arista estará asociada a un canal de ruido personalizado basado en los datos de calibración del backend.
  • pauli_bases (Sequence[str] | None) – En el caso de GateWiseNoise los modelos, pauli_bases estas son las bases sobre las que se distribuirá la probabilidad de error comunicada por el backend. Cada base es una cadena de Pauli de dos caracteres emparejada de izquierda a derecha con la tupla del arco, de "XZ" modo que, en el arco (a, b) , se colocan X en a y Z en b. El comportamiento predeterminado consiste en utilizar la base de Pauli completa 2Q, excluyendo "II". En el caso de UniformNoise, se supone que la base es completa, por lo que se ignora este argumento.

Devuelve

Una NoiseModel instancia que contiene el ruido de puerta y de lectura, derivado de los datos de calibración del backend.

Subidas

ValueError – El backend carece de datos de calibración o la estructura contiene índices de qubits no válidos.

Tipo de retorno

NoiseModel

from_pauli_lindblad_maps

classmethod from_pauli_lindblad_maps(layer_noise, readout_noise=None)

GitHub

Crear un « NoiseModel » a partir de las aplicaciones de Pauli-Lindblad.

Este método construye un NoiseModel a partir de PauliLindbladMap instancias que representan los canales de ruido que afectan a las puertas y, opcionalmente, a las mediciones. El ruido de la puerta se especifica mediante el layer_noise argumento. Se supone que cada PauliLindbladMap instancia actúa sobre una capa única de puertas de entrelazamiento. El ruido de lectura viene determinado por un único PauliLindbladMap que contiene generadores de Pauli-X de un solo qubit y sus tasas asociadas.

Parámetros

  • layer_noise (Sequence[PauliLindbladMap]) – Una secuencia de PauliLindbladMap objetos, en la que cada mapa representa el canal de ruido de una capa de entrelazamiento concreta del circuito.
  • readout_noise (PauliLindbladMap | None) – Opcional PauliLindbladMap : incluye generadores de Pauli X en cada qubit para detectar errores de lectura.

Devuelve

Para este método, siempre se generará None una NoiseModel instancia que refleje el modelo o modelos de ruido definidos en la entrada PauliLindbladMap``s. ``idling_noise .

Subidas

  • ValueError – El peso del generador de errores es mayor que 2.
  • ValueError – El generador de errores de lectura no es Pauli-X.

Tipo de retorno

NoiseModel

gate_noise

Tipo: GateNoise | None

Valor predeterminado: None

Errores que se producen durante las operaciones con puertas de 2 qubits. Puede ser:

  • UniformNoise: La misma probabilidad de error para todas las puertas. La probabilidad de error se distribuye por igual entre cada una de las bases de Pauli representadas en el canal.
  • LayeredNoise: Canal de ruido de Pauli-Lindblad por cada capa de entrelazamiento única
  • GateWiseNoise: Canal de ruido de Pauli-Lindblad por cada arista de entrelazamiento única

idling_noise

Tipo: float | None

Valor predeterminado: None

Tasa de desintegración del qubit durante el tiempo de inactividad. La probabilidad total de error se expresa como 1 - exp(-t / idling_noise).

readout_noise

Tipo: float | None

Valor predeterminado: None

Probabilidad de que se produzca un cambio de estado de un bit durante la medición.

UniformGateNoise

Valor predeterminado: <class 'float'>

Una probabilidad de despolarización aplicada de manera uniforme a todas las puertas de 2 qubits.

Esta probabilidad se distribuirá de forma equitativa entre los 15 estados de Pauli distintos de la identidad en la base de Pauli de 2 qubits para formar el canal de despolarización. Este canal de ruido se aplicará después de cada puerta de entrelazamiento.

LayeredGateNoise

Modelo de ruido por capas que asigna capas de entrelazamiento únicas a generadores de errores de Pauli.

Nota

Se supone que el error de Pauli-Lindblad asociado a cada capa de entrelazamiento está definido antes de las puertas de esa capa.

Las claves son tuplas de pares de índices de qubits (aristas) que definen una capa. Los valores son listas de (pauli, rate) tuplas, donde pauli es una cadena de Pauli o una cadena de Pauli definida sobre todos los qubits y rate es la tasa de error asociada.

alias de dict[tuple[tuple[int, int], …], list[tuple[Pauli | str, float]]]

GateWiseNoise

Modelo de ruido por puerta que asigna pares de qubits a un canal de ruido de Pauli.

Las claves son tuplas de pares de índices de qubits que representan aristas. Los valores son listas de tuplas (pauli, tasa), donde pauli es una cadena de Pauli de 2 caracteres y rate es la tasa de error asociada. (pauli_str, indices)La cadena se empareja de izquierda a derecha con la tupla de aristas —en consonancia PauliLindbladMapcon la forma dispersa de : para la arista (a, b), "XZ" coloca X en a y Z en b.

alias de dict[tuple[int, int], list[tuple[str, float]]]

GateNoise

Valor predeterminado: float | dict[tuple[tuple[int, int], ...], list[tuple[qiskit.quantum_info.operators.symplectic.pauli.Pauli | str, float]]] | dict[tuple[int, int], list[tuple[str, float]]]

El ruido de la puerta puede ser uniforme (float), por capas (dict) o por puerta (dict).

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