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)
Bases: OptionsV2
Opciones para NoiseLearner.
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
- 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ónqubits del circuito se giran.
"active-accum": en cada capa girada individual, la unión de instrucciones qubitsen el circuito hasta la capa girada actual se giran.
"all"en cada capa girada individualmente, se giran todos los qubits del circuito de entrada.
Las barreras y las instrucciones de retardo se ignoran a la hora de determinar si un qubit está activo.
Por defecto: "active-accum".