Skip to main content
IBM Quantum Platform

qiskit_noise_learning.data.RawData

class qiskit_noise_learning.data.RawData(datatree: DataTree)

GitHub

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 cui True indica uno scatto da escludere, secondo la convenzione numpy.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 tipo InstructionSequence.
    • 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 voce j rappresenta l’indice fisico del qubit misurato nel bit classico j del 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
datatreeL'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 j rappresenta l'indice fisico del qubit misurato nel bit classico j del 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’ordine creg_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.

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