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)
Basi: OptionsV2
Opzioni per NoiseLearner.
Il numero totale di circuiti unici implementati per apprendere il rumore di un singolo strato dipende esclusivamente da layer_pair_depths e num_randomizations. Per esempio, se layer_pair_depths contiene sei profondità e num_randomizations è impostato su 32, lo stadio di apprendimento del rumore esegue un totale di 6 * 9 circuiti unici per strato, ciascuno con 32 randomizzazioni (a shots_per_randomization ciascuno).
Il numero 9 è il numero di circuiti unici che devono essere implementati per apprendere il rumore per tutti i sottosistemi a due equbit nel dato strato, eseguendo misure locali. Infatti, per conoscere il rumore di un singolo di questi sottosistemi è necessario misurare tutti i paoli a due qubit di 16 su quel sottosistema. Sfruttando le relazioni di commutazione per misurare più di una di queste paoli (ad esempio, XI, IX e XX) con un unico circuito, è possibile misurare tutte queste paoli 16 implementando solo i circuiti 9 . Parallelizzando questi compiti di misura in modo ottimale, è possibile misurare il 16 Paulis per tutti i sottosistemi a due qubit dello strato con solo 9 circuiti. Maggiori dettagli in Rif. [1].
Riferimenti
- 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, pagine 1116-1121 (2023). arXiv:2201.09866 [quant-ph]
Attributi
Parametri
- _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
Valore predefinito: FieldInfo(annotation=NoneType, required=False, default_factory=EnvironmentOptions)
experimental
Tipo: UnsetType | dict
Valore predefinito: Unset
Opzioni sperimentali.
Queste opzioni sono soggette a modifiche senza preavviso e la stabilità non è garantita.
layer_pair_depths
Tipo: UnsetType | list[int]
Valore predefinito: Unset
La profondità dei circuiti (misurata in numero di coppie) da utilizzare negli esperimenti di apprendimento.
Le coppie sono utilizzate come unità perché sfruttiamo la natura order-2 delle nostre porte di entangling nell'implementazione dell'apprendimento del rumore. Ad esempio, un valore di 3 corrisponde a 6 ripetizioni del livello di interesse. Predefinito: (0, 1, 2, 4, 16, 32).
max_execution_time
Tipo: UnsetType | int
Valore predefinito: Unset
max_layers_to_learn
Tipo: UnsetType | int | None
Valore predefinito: Unset
Il numero massimo di livelli unici da apprendere.
Il valore None indica che non ci sono limiti. Se sono presenti più strati unici, alcuni strati non saranno appresi o attenuati. Gli strati appresi vengono classificati in base al numero di volte in cui si verificano e, per gli strati che si verificano in egual misura, vengono ulteriormente ordinati in base al numero di porte a due qubit presenti nello strato. Predefinito: 4.
num_randomizations
Tipo: UnsetType | int
Valore predefinito: Unset
Il numero di circuiti casuali da utilizzare per ogni configurazione di circuiti di apprendimento.
Una configurazione è una base di misura e un'impostazione di profondità. Ad esempio, se l'esperimento ha sei profondità, impostando questo valore a 32 si otterrà un totale di 32 * 9 * 6 circuiti da eseguire (dove 9 è il numero di circuiti che devono essere implementati per misurare tutte le osservabili richieste, si veda la nota nella docstring di NoiseLearnerOptions per i dettagli sulla modalità), a shots_per_randomization ciascuno.
shots_per_randomization
Tipo: UnsetType | int
Valore predefinito: Unset
Il numero totale di scatti da utilizzare per il circuito di apprendimento casuale.
Un circuito di apprendimento è un circuito casuale con una specifica profondità di apprendimento e una specifica base di misura, eseguito su hardware. Valore predefinito: 128.
simulator
Tipo: SimulatorOptions | Dict
Valore predefinito: FieldInfo(annotation=NoneType, required=False, default_factory=SimulatorOptions)
twirling_strategy
Tipo: UnsetType | Literal['active', 'active-accum', 'active-circuit', 'all']
Valore predefinito: Unset
La strategia di twirling negli strati identificati di porte twirled a due qubit.
I valori ammessi sono:
"active": in ogni singolo strato roteato, vengono roteati solo i qubit di istruzione.
"active-circuit"in ogni singolo strato roteato, l'unione di tutte le istruzionii qubit del circuito vengono fatti ruotare.
"active-accum": in ogni singolo strato roteato, l'unione dei qubit di istruzioninel circuito fino all'attuale strato roteato vengono roteati.
"all"in ogni singolo strato di rotazioni, tutti i qubit del circuito di ingresso vengono roteati.
Le barriere e le istruzioni di ritardo vengono ignorate nel determinare se un qubit è attivo.
Predefinito: "active-accum".