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

Basi: OptionsV2

Opzioni per NoiseLearner.

Nota

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

  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 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 istruzioni

    i qubit del circuito vengono fatti ruotare.

  • "active-accum": in ogni singolo strato roteato, l'unione dei qubit di istruzioni

    nel circuito fino all'attuale strato roteato vengono roteati.

  • "all"in ogni singolo strato di rotazioni, tutti i qubit del circuito di ingresso vengono roteati.

Nota

Le barriere e le istruzioni di ritardo vengono ignorate nel determinare se un qubit è attivo.

Predefinito: "active-accum".


Metodi

update

update(**kwargs)

GitHub

Aggiornare le opzioni.

Parametri

kwargs (Any)

Tipo di restituzione

Nessuna

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.