qiskit_noise_learning.data.RawData
class qiskit_noise_learning.data.RawData(datatree: DataTree)
Basi: LeveledData
Dati grezzi relativi ai risultati sperimentali associati alle sequenze didattiche e ai registri classici.
Questa classe è un wrapper attorno a un XArray a un livello DataTree con chiavi stringa arbitrarie. Ogni set di dati relativo alle foglie contiene:
-
Variabili di dati:
data: I dati booleani grezzi con dimensioni("randomization", "shot", "bit").data_mask: Una maschera booleana con dimensioni("randomization", "shot"), in cuiTrueindica uno scatto da escludere, secondo la convenzionenumpy.ma. Gestisce eventuali incongruenze nella dimensione"shot"tra diverse randomizzazioni, nonché l'esito di eventuali operazioni di post-selezione.measurement_flips: Un array booleano contenente i ribaltamenti delle misurazioni con dimensioni("randomization", "bit").time_lbs: Limite inferiore dei tempi di acquisizione dei dati, con dimensioni("randomization",), di tipo"datetime64[us]".time_ubs: Limite superiore dei tempi di acquisizione dei dati, con dimensioni("randomization",), di tipo"datetime64[us]".
-
Coordinate:
unbound_instruction_sequence: La sequenza di istruzioni non associata ai dati, lungo la dimensione("randomization",), di tipoInstructionSequence.fragment_depth: Array di numeri interi contenente le profondità dei frammenti lungo la dimensione("randomization",).
-
Attributi:
creg_names: Elenco ordinato dei nomi dei registri classici.clbit_qubit_idxs: Dizionario che associa i nomi creg a array di indici di qubit misurati, dove ogni vocejrappresenta l’indice fisico del qubit misurato nel bit classicojdel registro.creg_bit_boundaries: Dizionario che associa i nomi dei registri creg a tuple(start_idx, end_idx)che indicano la porzione della dimensione"bit"corrispondente a quel registro.
La dimensione "bit" è data dalla concatenazione in creg_names ordine di tutti i registri classici, in modo tale che la partizioni creg_bit_boundaries , e il bit di j un registro contenga il risultato per il qubit fisico clbit_qubit_idxs[creg][j]. Si noti che un registro non deve necessariamente effettuare la misurazione in ordine crescente dei qubit e che lo stesso qubit fisico può essere misurato da più di un registro.
I registri sono in corrispondenza biunivoca con i gate di misurazione delle sequenze di istruzioni da cui sono stati raccolti i dati, nell’ordine in cui tali gate vengono attraversati, cosicché l’ n-esimo nome di contiene creg_names i risultati dell’ n-esimo gate di misurazione.
I set di dati sono raggruppati in base ai metadati creg: due set di dati con gli stessi valori di creg_names e clbit_qubit_idxs vengono uniti lungo la dimensione "randomization" .
Parametri
datatree – Un datatree nel formato sopra indicato.
__init__
__init__(datatree: DataTree)
Metodi
Rubrica 1 | Rubrica 2 |
|---|---|
__init__(albero dei dati) | |
from_arrays(creg_names, clbit_qubit_idxs,...) | Crea un'istanza a partire dai dati specificati come array. |
merge(altro) | Unire con un altro set di dati grezzi. |
Attributi
Rubrica 1 | Rubrica 2 |
|---|---|
datatree | L'albero dei dati. |
datatree
Tipo: DataTree
L'albero dei dati.
from_arrays
classmethod from_arrays(creg_names: list[str], clbit_qubit_idxs: dict[str, ndarray], instruction_sequences: list[InstructionSequence], data: list[ndarray[bool]], measurement_flips: list[ndarray[bool]], time_lbs: list[ndarray[datetime64]], time_ubs: list[ndarray[datetime64]])
Crea un'istanza a partire dai dati specificati come array.
Tutte le sequenze di istruzioni devono avere la stessa struttura creg (stesso creg_names e clbit_qubit_idxs). Il risultato contiene RawData un albero dei dati a foglia singola.
Parametri
- creg_names – Elenco ordinato dei nomi dei registri classici.
- clbit_qubit_idxs – Dizionario che associa i nomi creg ad array di indici fisici dei qubit misurati, dove ogni voce
jrappresenta l'indice fisico del qubit misurato nel bit classicojdel registro. - sequenze_di_istruzioni – L'elenco delle sequenze di istruzioni utilizzate per generare gli esperimenti.
- dati – Un elenco dei dati relativi ai risultati per ciascuna sequenza di istruzioni per tutti i registri classici. I dati hanno dimensioni
("randomization", "shot", "bit"). I bit sono ordinati in base all’ordinecreg_names, con i bit di ciascun creg disposti in modo contiguo. - measurement_flips – Un elenco di inversioni di misura da applicare ai dati per ciascuna sequenza di istruzioni. Le dimensioni sono
("randomization", "bit"). - time_lbs – Un limite inferiore del tempo di raccolta dei dati per ciascuna randomizzazione relativa a una data sequenza di istruzioni. Le dimensioni sono
("randomization",). - time_ubs – Un limite massimo del tempo di raccolta dei dati per ciascuna randomizzazione relativa a una data sequenza di istruzioni. Le dimensioni sono
("randomization",).
merge
merge(other: Self) → Self
Unire con un altro set di dati grezzi.
I set di dati con metadati creg corrispondenti (creg_names e clbit_qubit_idxs) vengono concatenati lungo la dimensione "randomization" . L'eventuale irregolarità della dimensione "shot" viene gestita tramite la variabile data "data_mask" .
Parametri
altro – L'altro set di dati grezzi.
Risultati
I dati combinati.