qiskit_noise_learning.data.RawData
class qiskit_noise_learning.data.RawData(datatree: DataTree)
Bases : LeveledData
Données brutes issues des résultats expérimentaux, associées aux séquences d'instructions et aux registres classiques.
Cette classe sert d'enveloppe à un XArray à un seul niveau, DataTree comportant des clés de type chaîne de caractères arbitraires. Chaque ensemble de données sur les feuilles contient :
-
Variables de données :
data: Les données booléennes brutes de dimensions("randomization", "shot", "bit").data_mask: Un masque booléen de dimensions("randomization", "shot"), oùTrueindique une image à exclure, selon la conventionnumpy.ma. Prend en compte les éventuelles irrégularités dans la dimension"shot"entre les différentes randomisations, ainsi que le résultat de toute sélection a posteriori.measurement_flips: Un tableau booléen contenant les inversions de mesure, de dimensions("randomization", "bit").time_lbs: Limite inférieure des temps d'acquisition des données, de dimensions("randomization",), de type"datetime64[us]".time_ubs: borne supérieure sur les durées d'acquisition des données, de dimensions("randomization",), de type"datetime64[us]".
-
Coordonnées :
unbound_instruction_sequence: La séquence d'instructions non liée pour les données, selon la dimension("randomization",), de typeInstructionSequence.fragment_depth: Tableau d'entiers représentant les profondeurs des fragments le long de la dimension("randomization",).
-
Attributs :
creg_names: Liste classée par ordre alphabétique des noms de registres classiques.clbit_qubit_idxs: Dictionnaire associant les noms « creg » à des tableaux d'indices de qubits mesurés, où l'entrée correspondjà l'indice du qubit physique mesuré dans le bit classiquejdu registre.creg_bit_boundaries: Dictionnaire associant les noms de créneaux à des tuples(start_idx, end_idx)indiquant la tranche de la dimension"bit"pour ce registre.
La dimension "bit" correspond à l'enchaînement de tous les registres classiques dans l'ordre creg_names , de sorte que la creg_bit_boundaries partitionne, et que le bit j d'un registre contienne le résultat correspondant au qubit physique clbit_qubit_idxs[creg][j]. Il convient de noter qu'un registre n'est pas obligé d'effectuer ses mesures dans l'ordre croissant des qubits, et qu'un même qubit physique peut être mesuré par plusieurs registres.
Les registres sont en correspondance biunivoque avec les portes de mesure des séquences d'instructions à partir desquelles les données ont été collectées, dans l'ordre où ces portes sont traversées, de sorte que le n-ième élément de contient creg_names les résultats de la n-ième porte de mesure.
Les ensembles de données sont regroupés en fonction des métadonnées « creg » : deux ensembles de données présentant les mêmes valeurs pour creg_names et clbit_qubit_idxs sont fusionnés selon la dimension "randomization" .
Paramètres
datatree – Une arborescence de données au format indiqué ci-dessus.
__init__
__init__(datatree: DataTree)
Méthodes
Chronique « 1 » | Chronique « 2 » |
|---|---|
__init__(arborescence de données) | |
from_arrays(creg_names, clbit_qubit_idxs,...) | Instancier à partir de données spécifiées sous forme de tableaux. |
merge(autre) | Fusionner avec un autre ensemble de données brutes. |
Attributs
Chronique « 1 » | Chronique « 2 » |
|---|---|
datatree | L'arborescence des données. |
datatree
Type: DataTree
L'arborescence des données.
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]])
Instancier à partir de données spécifiées sous forme de tableaux.
Toutes les séquences d'instructions doivent partager la même structure creg (les mêmes creg_names et clbit_qubit_idxs). Le résultat contient RawData un arbre de données à feuille unique.
Paramètres
- creg_names – Liste ordonnée des noms de registres classiques.
- clbit_qubit_idxs – Dictionnaire associant les noms « creg » à des tableaux d’indices de qubits physiques mesurés, où l’entrée correspond
jà l’indice du qubit physique mesuré dans le bit classiquejdu registre. - instruction_sequences – Liste des séquences d'instructions utilisées pour générer les expériences.
- données – Une liste des données de résultats pour chaque séquence d'instructions, pour tous les registres classiques. Les données comportent des dimensions
("randomization", "shot", "bit"). Les bits sont classés selon l’ordrecreg_namesindiqué, les bits de chaque « creg » étant contigus. - measurement_flips – Liste des inversions de mesure à appliquer aux données pour chaque séquence d'instructions. Les dimensions sont de
("randomization", "bit"). - time_lbs – Une borne inférieure de la durée de collecte des données pour chaque randomisation d'une séquence d'instructions donnée. Les dimensions sont les suivantes :
("randomization",). - time_ubs – Une borne supérieure de la durée de collecte des données pour chaque randomisation d'une séquence d'instructions donnée. Les dimensions sont les suivantes :
("randomization",).
merge
merge(other: Self) → Self
Fusionner avec un autre ensemble de données brutes.
Les ensembles de données dont les métadonnées creg correspondent (creg_names et clbit_qubit_idxs) sont concaténés selon la dimension "randomization" . L'éventuelle irrégularité de la dimension "shot" est gérée via la variable de données "data_mask" .
Paramètres
autre – L'autre ensemble de données brutes.
Retours
Les données fusionnées.