LayerNoiseLearningOptions
class LayerNoiseLearningOptions(max_layers_to_learn=Unset, shots_per_randomization=Unset, num_randomizations=Unset, layer_pair_depths=Unset)
Basi: object
Opzioni per l'apprendimento del rumore di livello. Viene utilizzato solo da V2 Estimator.
Queste opzioni vengono utilizzate solo quando il livello di resilienza o le opzioni specificano una tecnica che richiede l'apprendimento del rumore di livello.
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 di 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
- max_layers_to_learn (UnsetType | int | None)
- shots_per_randomization (UnsetType | int)
- num_randomizations (UnsetType | int)
- layer_pair_depths (UnsetType | list[int])
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.
Si utilizzano le coppie come unità perché, nell'implementazione dell'apprendimento al rumore, sfruttiamo la natura " order-2 " dei nostri gate di entanglement. Un valore di 3 corrisponderebbe, ad esempio, a 6 strati dello strato in questione.
Predefinito: (0, 1, 2, 4, 16, 32).
max_layers_to_learn
Tipo: UnsetType | int | None
Valore predefinito: Unset
Il numero massimo di livelli distinti da apprendere.
Il None valore indica che non vi è alcun limite. Se sono presenti più livelli distinti, alcuni di essi non verranno identificati né mitigati. I livelli appresi vengono ordinati in base alla frequenza con cui compaiono in una serie di PUB dell'Estimator, e, in caso di parità di frequenza, vengono ulteriormente ordinati in base al numero di porte a due qubit presenti nel livello.
Predefinito: 4.
num_randomizations
Tipo: UnsetType | int
Valore predefinito: Unset
Il numero di circuiti casuali da utilizzare per ogni configurazione del circuito di apprendimento.
Una configurazione consiste nella scelta del sistema di misura e dell'impostazione della profondità. Ad esempio, se il tuo esperimento prevede sei livelli di profondità, impostando questo valore su 32 si otterrà un totale di 32 * 9 * 6 circuiti da eseguire (dove 9 è il numero di circuiti da implementare per misurare tutte le grandezze osservabili richieste; per LayerNoiseLearningOptions ulteriori dettagli, consulta la nota nella stringa di documentazione relativa a ), a shots_per_randomization ciascuno.
Predefinito: 32.
shots_per_randomization
Tipo: UnsetType | int
Valore predefinito: Unset
Il numero totale di tentativi da utilizzare per ogni ciclo di apprendimento casuale.
Un circuito di apprendimento è un circuito casuale con una profondità di apprendimento specifica e una base di misurazione specifica, eseguito su hardware.
Valore predefinito: 128.