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
Options pour NoiseLearner.
Le nombre total de circuits uniques mis en œuvre pour apprendre le bruit d'une seule couche dépend uniquement de layer_pair_depths et num_randomizations. Par exemple, si layer_pair_depths contient six profondeurs et que num_randomizations est défini sur 32, l'étape d'apprentissage par le bruit exécute un total de 6 * 9 circuits uniques par couche, chacun avec 32 randomisations (à shots_per_randomization chacune).
Le nombre 9 ci-dessus est le nombre de circuits uniques qui doivent être mis en œuvre pour connaître le bruit de tous les sous-systèmes à deux qubits dans la couche donnée en effectuant des mesures locales. En effet, pour connaître le bruit d'un seul de ces sous-systèmes, il faut mesurer tous les Paulis à deux qubits de 16 sur ce sous-système. En tirant parti des relations de commutation pour mesurer plusieurs de ces Paulis (par exemple, XI, IX, et XX) avec un seul circuit, il est possible de mesurer tous ces Paulis 16 en mettant en œuvre uniquement des circuits 9 . La parallélisation optimale de ces tâches de mesure permet ensuite de mesurer les Paulis 16 pour tous les sous-systèmes à deux qubits de la couche avec seulement 9 circuits. Plus de détails dans Ref. [1].
Références
- E. van den Berg, Z. Minev, A. Kandala, K. Temme, Probabilistic error cancellation with sparse Pauli-Lindblad models on noisy quantum processors, Nature Physics volume 19, pages 1116-1121 (2023). arXiv:2201.09866 [quant-ph]
Attributs
Paramètres
- _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
Type : EnvironmentOptions | Dict
Valeur par défaut : FieldInfo(annotation=NoneType, required=False, default_factory=EnvironmentOptions)
experimental
Type : UnsetType | dict
Valeur par défaut : Unset
Options expérimentales.
Ces options peuvent être modifiées sans préavis et leur stabilité n'est pas garantie.
layer_pair_depths
Type : UnsetType | list[int]
Valeur par défaut : Unset
La profondeur des circuits (mesurée en nombre de paires) à utiliser dans les expériences d'apprentissage.
Les paires sont utilisées comme unité parce que nous exploitons la nature order-2 de nos portes d'enchevêtrement dans la mise en œuvre de l'apprentissage par le bruit. Par exemple, une valeur de 3 correspond à 6 répétitions de la couche d'intérêt. Valeur par défaut : (0, 1, 2, 4, 16, 32).
max_execution_time
Type : UnsetType | int
Valeur par défaut : Unset
max_layers_to_learn
Type : UnsetType | int | None
Valeur par défaut : Unset
Le nombre maximum de couches uniques à apprendre.
Une valeur de None indique qu'il n'y a pas de limite. S'il y a plus de couches uniques, certaines couches ne seront pas apprises ou atténuées. Les couches apprises sont classées par ordre de priorité en fonction du nombre de fois qu'elles apparaissent et, pour les couches qui apparaissent également, elles sont triées en fonction du nombre de portes à deux qubits qu'elles contiennent. Valeur par défaut : 4.
num_randomizations
Type : UnsetType | int
Valeur par défaut : Unset
Le nombre de circuits aléatoires à utiliser par configuration de circuit d'apprentissage.
Une configuration est une base de mesure et un réglage de profondeur. Par exemple, si votre expérience comporte six profondeurs, le fait de fixer cette valeur à 32 entraînera l'exécution d'un total de 32 * 9 * 6 circuits (où 9 est le nombre de circuits qui doivent être mis en œuvre pour mesurer toutes les observables requises, voir la note dans la docstring de NoiseLearnerOptions pour les détails du mode), à shots_per_randomization chacun.
shots_per_randomization
Type : UnsetType | int
Valeur par défaut : Unset
Le nombre total de tirs à utiliser par circuit d'apprentissage aléatoire.
Un circuit d'apprentissage est un circuit aléatoire à une profondeur d'apprentissage spécifique avec une base de mesure spécifique qui est exécutée sur le matériel. Valeur par défaut : 128.
simulator
Type : SimulatorOptions | Dict
Valeur par défaut : FieldInfo(annotation=NoneType, required=False, default_factory=SimulatorOptions)
twirling_strategy
Type : UnsetType | Literal['active', 'active-accum', 'active-circuit', 'all']
Valeur par défaut : Unset
La stratégie de virevoltage dans les couches identifiées de portes virevoltantes à deux qubits.
Les valeurs admises sont les suivantes :
"active"dans chaque couche tourbillonnaire, seuls les qubits d'instruction sont tourbillonnés.
"active-circuit"dans chaque couche tordue individuelle, l'union de toutes les instructions est la base de l'instructionqubits du circuit sont tournoyés.
"active-accum": dans chaque couche tourbillonnaire individuelle, l'union des instructions qubitsdans le circuit jusqu'à la couche virevoltante actuelle sont virevoltés.
"all"dans chaque couche tourbillonnaire, tous les qubits du circuit d'entrée sont tourbillonnés.
Les barrières et les instructions de retard sont ignorées lorsqu'il s'agit de déterminer si un qubit est actif.
Valeur par défaut : "active-accum".