Skip to main content
IBM Quantum Platform

gestión del ruido

qiskit_addon_utils.noise_management

Herramientas de gestión del ruido.

trex_factors

trex_factors(measurement_noise_map, basis_dict, /)

GitHub

Calcula el factor de escala del valor de expectativa del algoritmo de mitigación TREX para cada término de Pauli en basis_dict.

Calcula ZN\langle Z^N \rangle para cada término de Pauli distinto de la identidad en cada observable utilizando el ruido de medición aprendido, donde NN son los índices distintos de la identidad en el término.

Parámetros

  • measurement_noise_map (PauliLindbladMap) – Ruido de medición aprendido en formato PauliLindbladMap.
  • basis_dict (dict[Pauli, list[SparsePauliOp | None]]) – Correspondencia entre bases de medida y observables en la que el algoritmo TREX mitiga el cálculo de su valor esperado.

Devuelve

Una lista de matrices numpy de valores flotantes que representan el factor de escala del valor de expectativa del algoritmo de mitigación TREX para cada término de Pauli en cada observable en cada base en la base_dict dada.

gamma_from_noisy_boxes

gamma_from_noisy_boxes(noise_models, box_id_to_noise_id, noise_scales_each_box=None)

GitHub

Calcular el factor gamma de un circuito dados los modelos de ruido de Pauli-Lindblad para las cajas de dicho circuito.

Esta función espera que los modelos de ruido representen el ruido del circuito y, por tanto, que tengan índices Lindblad positivos. La gamma devuelta es la asociada a los mapas de ruido inversos necesarios para cancelar el ruido del circuito.

Parámetros

  • noise_models (dict[str, PauliLindbladMap]) – Dict de IDs de modelos de ruido (cadenas) y modelos de ruido aprendidos para cada caja ruidosa única en el circuito.
  • box_id_to_noise_id (dict[str, str]) – Dict de ID de cajas e ID de modelos de ruido.
  • noise_scales_each_box (dict[str, ndarray] | None) – Dict de IDs de cajas y factores por los que reescalar las tasas de error Lindblad de cada generador en el modelo de ruido asociado.

Devuelve

El factor gamma.

Eleva

ValueError si la longitud** de una matriz en noise_scales_each_box no es igual a la longitud de tasas de **la asociada - PauliLindbladMap en noise_models.

Tipo de retorno

Float

PostSelectionSummary

class PostSelectionSummary(primary_cregs, measure_map, edges, *, post_selection_suffix='_ps')

GitHub

Bases: object

Una clase auxiliar para almacenar las propiedades de un circuito cuántico necesarias para post seleccionar los resultados.

Inicializa un objeto PostSelectionSummary .

Parámetros

  • primary_cregs (set[str]) – Los nombres de los registros clásicos "primarios", es decir, los que no terminan con el sufijo de selección de puesto.
  • measure_map (dict[int, tuple[str, int]]) – Un mapa entre índices de qubits al registro y clbits que definen de forma única una medida en esos qubits.
  • edges (set[frozenset[int]]) – Una lista de tuplas que definen pares de qubits vecinos.
  • post_selection_suffix (str) – El sufijo de los registros de selección de puestos.

edges

Tipo: set[frozenset[int]]

Conjunto de aristas a considerar para la selección de puestos basada en aristas.

from_circuit

classmethod from_circuit(circuit, coupling_map, *, post_selection_suffix='_ps')

GitHub

Inicializar desde circuitos cuánticos.

Parámetros

  • circuit (QuantumCircuit) – El circuito para crear un resumen de.
  • coupling_map (CouplingMap |list[tuple[int, int]]) – Un mapa de acoplamiento o una lista de tuplas que indican pares de qubits vecinos.
  • post_selection_suffix (str) – Un sufijo fijo para añadir a los nombres de los registros clásicos al copiarlos.

Tipo de retorno

PostSelectionSummary

measure_map

Tipo: dict[int, tuple[str, int]]

Un mapa de los índices de qubits al registro y al índice de clbits utilizado para medir esos qubits.

post_selection_suffix

Tipo: str

El sufijo de los registros de selección de puestos.

primary_cregs

Tipo: set[str]

Los nombres de los registros clásicos "primarios".

PostSelector

class PostSelector(summary)

GitHub

Bases: object

Una clase para procesar los resultados de los programas cuánticos en función del resultado de las mediciones posteriores a la selección.

Inicializa un objeto PostSelector .

Parámetros

summary (PostSelectionSummary) – Un resumen del circuito que se está post seleccionando.

compute_mask

compute_mask(result, strategy=PostSelectionStrategy.NODE)

GitHub

Calcula máscaras booleanas que indican qué disparos deben conservarse o descartarse para el resultado dado.

Esta función compara los bits devueltos por cada par de medición y post selección de medición, identificando todos aquellos que fallaron al voltear. Las tomas que deben conservarse se marcan como True en la máscara devuelta, las que deben descartarse se marcan como False.

Por construcción, la máscara devuelta tiene la misma forma que las matrices en resultado correspondiente, pero con una dimensión menos (el último eje de cada matriz, sobre clbits, no está presente en la máscara).

Parámetros

  • result (dict[str, ndarray[tuple[int, ...], dtype[bool]]]) – El resultado a post-procesar. Debe ser un QuantumProgramResult que contenga un único elemento o un diccionario.
  • strategy (str | PostSelectionStrategy) – La estrategia de selección de puestos utilizada para procesar el resultado.

Tipo de retorno

ndarray[ tupla[ int,...]dtype[* bool* ]]

from_circuit

classmethod from_circuit(circuit, coupling_map, *, post_selection_suffix='_ps')

GitHub

Inicializar desde circuitos cuánticos.

Parámetros

  • circuitos - Los circuitos para procesar los resultados de.
  • coupling_map (CouplingMap |list[tuple[int, int]]) – Un mapa de acoplamiento o una lista de tuplas que indican pares de qubits vecinos.
  • post_selection_suffix (str) – Un sufijo fijo para añadir a los nombres de los registros clásicos al copiarlos.
  • circuit (QuantumCircuit)

Tipo de retorno

PostSelector

summary

Tipo: PostSelectionSummary

Un resumen del circuito que se está post seleccionando.

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