gestión del ruido
qiskit_addon_utils.noise_management
Herramientas de gestión del ruido.
trex_factors
trex_factors(measurement_noise_map, basis_dict, /)
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 para cada término de Pauli distinto de la identidad en cada observable utilizando el ruido de medición aprendido, donde 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)
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
PostSelectionSummary
class PostSelectionSummary(primary_cregs, measure_map, edges, *, post_selection_suffix='_ps')
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
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')
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
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
PostSelector
class PostSelector(summary)
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)
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
QuantumProgramResultque 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
from_circuit
classmethod from_circuit(circuit, coupling_map, *, post_selection_suffix='_ps')
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
summary
Tipo: PostSelectionSummary
Un resumen del circuito que se está post seleccionando.