Skip to main content
IBM Quantum Platform

NoiseLearnerOptions

class NoiseLearnerOptions(_VERSION=2, max_execution_time=Unset, environment=<factory>, simulator=<factory>, max_layers_to_learn=Unset, shots_per_randomization=Unset, num_randomizations=Unset, layer_pair_depths=Unset, twirling_strategy=Unset, experimental=Unset)

GitHub

Bases: OptionsV2

Opciones para NoiseLearner.

Nota

El número total de circuitos únicos implementados para aprender el ruido de una sola capa depende únicamente de layer_pair_depths y num_randomizations. Por ejemplo, si layer_pair_depths contiene seis profundidades y num_randomizations se establece en 32, la etapa de aprendizaje de ruido ejecuta un total de 6 * 9 circuitos únicos por capa, cada uno con 32 aleatorizaciones (en shots_per_randomization cada uno).

El número 9 anterior es el número de circuitos únicos que necesitan ser implementados para aprender el ruido para todo el subsistema de dos qubits en la capa dada realizando mediciones locales. De hecho, aprender el ruido para uno solo de estos subsistemas requiere medir todos los 16 Paulis de dos qubits en ese subsistema. Aprovechando las relaciones de conmutación para medir más de una de estas Paulis (por ejemplo, XI, IX, y XX) con un solo circuito, es posible medir todas estas 16 Paulis implementando únicamente circuitos 9 . Paralelizar estas tareas de medición de forma óptima permite entonces medir el 16 Paulis para todos los subsistemas de dos qubits de la capa con sólo 9 circuitos. Más detalles en Ref. [1].

Referencias

  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 volumen 19, páginas 1116-1121 (2023). arXiv:2201.09866 [quant-ph]

Atributos

Parámetros

  • _VERSION (int)
  • max_execution_time (UnsetType | int)
  • environment (EnvironmentOptions | Dict)
  • simulator (SimulatorOptions | Dict)
  • max_layers_to_learn (UnsetType | int | None)
  • shots_per_randomization (UnsetType | int)
  • num_randomizations (UnsetType | int)
  • layer_pair_depths (UnsetType | list[int])
  • twirling_strategy (UnsetType | Literal['active', 'active-accum', 'active-circuit', 'all'])
  • experimental (UnsetType | dict)

environment

Tipo: EnvironmentOptions | Dict

Valor predeterminado: FieldInfo(annotation=NoneType, required=False, default_factory=EnvironmentOptions)

experimental

Tipo: UnsetType | dict

Valor predeterminado: Unset

Opciones experimentales.

Estas opciones están sujetas a cambios sin previo aviso y no se garantiza su estabilidad.

layer_pair_depths

Tipo: UnsetType | list[int]

Valor predeterminado: Unset

La profundidad del circuito (medida en número de pares) que se utilizará en los experimentos de aprendizaje.

Se utilizan pares como unidad porque explotamos la naturaleza order-2 de nuestras puertas de enredo en la implementación del aprendizaje de ruido. Por ejemplo, un valor de 3 corresponde a 6 repeticiones de la capa de interés. Por defecto: (0, 1, 2, 4, 16, 32).

max_execution_time

Tipo: UnsetType | int

Valor predeterminado: Unset

max_layers_to_learn

Tipo: UnsetType | int | None

Valor predeterminado: Unset

El número máximo de capas únicas a aprender.

Un valor None indica que no hay límite. Si hay más capas únicas presentes, entonces algunas capas no serán aprendidas o mitigadas. Las capas aprendidas se priorizan en función del número de veces que se producen, y para las capas que se producen por igual se clasifican además por el número de puertas de dos qubits en la capa. Por defecto: 4.

num_randomizations

Tipo: UnsetType | int

Valor predeterminado: Unset

El número de circuitos aleatorios a utilizar por configuración de circuito de aprendizaje.

Una configuración es una base de medida y un ajuste de profundidad. Por ejemplo, si su experimento tiene seis profundidades, entonces estableciendo este valor a 32 resultará en un total de 32 * 9 * 6 circuitos que necesitan ser ejecutados (donde 9 es el número de circuitos que necesitan ser implementados para medir todos los observables requeridos, ver la nota en el docstring de NoiseLearnerOptions para más detalles sobre el modo), en shots_per_randomization cada uno.

shots_per_randomization

Tipo: UnsetType | int

Valor predeterminado: Unset

El número total de disparos a utilizar por circuito de aprendizaje aleatorio.

Un circuito de aprendizaje es un circuito aleatorio a una profundidad de aprendizaje específica con una base de medición específica que se ejecuta en hardware. Por defecto: 128.

simulator

Tipo: SimulatorOptions | Dict

Valor predeterminado: FieldInfo(annotation=NoneType, required=False, default_factory=SimulatorOptions)

twirling_strategy

Tipo: UnsetType | Literal['active', 'active-accum', 'active-circuit', 'all']

Valor predeterminado: Unset

La estrategia de giro en las capas identificadas de compuertas giradas de dos qubits.

Los valores permitidos son:

  • "active"en cada capa girada individualmente, sólo se giran los qubits de instrucción.

  • "active-circuit"en cada capa girada individual, la unión de toda la instrucción

    qubits del circuito se giran.

  • "active-accum": en cada capa girada individual, la unión de instrucciones qubits

    en el circuito hasta la capa girada actual se giran.

  • "all"en cada capa girada individualmente, se giran todos los qubits del circuito de entrada.

Nota

Las barreras y las instrucciones de retardo se ignoran a la hora de determinar si un qubit está activo.

Por defecto: "active-accum".


Métodos

update

update(**kwargs)

GitHub

Actualiza las opciones.

Parámetros

kwargs (Any)

Tipo de retorno

Ninguna

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