qiskit_noise_learning.analysis.Fit
class qiskit_noise_learning.analysis.Fit(*, model: LinearMap[Hashable, FidelityIndex] | None = None, paths: list[Path] | None = None, instruction_sequences: list[InstructionSequence] | None = None, relations: set[tuple[int, int]] | None = None, _store: dict[type[LeveledData], list[LeveledData | AbsentType | SkippedType]] | None = None)
Bases : object
Conteneur de données à chaque niveau de la hiérarchie d'analyse.
Ces éléments représentent LEVELS les différentes étapes du traitement des données. Dans l'ordre, ce sont :
RawDatacorrespondant au nombre de bits des séquences d'instructions exécutées.ObservableDatacorrespondant aux observables des randomisations des chemins qui traversent les séquences d'instructions.AggregatedObservableDatacorrespondant à une combinaison d'observables agrégées sur l'ensemble des randomisations.ModelDatacorrespondant aux paramètres d'ajustement du modèle.
Chaque niveau conserve l'historique de toutes les valeurs qui y ont été enregistrées; la valeur actuelle est toujours la plus récente. Les nouveaux niveaux commencent par Absent. Les niveaux contournés au cours d'une étape sont signalés par un Skipped.
Exemple :
result = my_stage.run(my_raw_data)
result.raw_data # current RawData
result.history.raw_data # full write history at the RawData levelParamètres
- modèle – Le modèle à ajuster. S'il est fourni, il doit s'agir d'un modèle de fidélité, c'est-à-dire d'un
LinearMapdont l'espace de sortie est unLogFidelitySpace(voiris_fidelity_model()). - chemins – Les chemins à analyser.
- séquences d'instructions – Les séquences d'instructions utilisées dans l'expérience.
- relations – Ensemble précalculé de tuples
(path_idx, sequence_idx)indiquant quels chemins sont parcourus par quelles séquences d'instructions.
Augmentations
TypeError : si n'est model pas None et n'est pas un modèle de fidélité.
__init__
__init__(*, model: LinearMap[Hashable, FidelityIndex] | None = None, paths: list[Path] | None = None, instruction_sequences: list[InstructionSequence] | None = None, relations: set[tuple[int, int]] | None = None, _store: dict[type[LeveledData], list[LeveledData | AbsentType | SkippedType]] | None = None)
Méthodes
Chronique « 1 » | Chronique « 2 » |
|---|---|
__init__(*[, model, paths, ...]) | |
copy() | Renvoie une copie conservant l'historique complet à chaque niveau. |
plot_qubit_pair_decays([pairs, ...]) | Tracez un graphique représentant la décroissance de la fidélité pour différentes paires de qubits, à partir des données issues de cet ajustement. |
Attributs
Chronique « 1 » | Chronique « 2 » |
|---|---|
aggregated_observable_data | Données actuelles au niveau AggregatedObservableData de. |
history | L'historique complet des écritures pour chaque niveau. |
instruction_sequences | Les séquences d'instructions utilisées dans l'expérience, ou None si elles ne sont pas définies. |
model | Le modèle de fidélité utilisé pour la construction de la matrice de conception. |
model_data | Données actuelles au niveau ModelData de. |
observable_data | Données actuelles au niveau ObservableData de. |
paths | Les chemins d'accès permettant de calculer les observables. |
raw_data | Données actuelles au niveau RawData de. |
relations | Relations « chemin-séquence », ou None si cette option n'est pas définie. |
copy
copy() → Self
Renvoie une copie conservant l'historique complet à chaque niveau.
history
Type: FitHistory
L'historique complet des écritures pour chaque niveau.
model
Type : LinearMap[Hashable, FidelityIndex] | None
Le modèle de fidélité utilisé pour la construction de la matrice de conception.
raw_data
Type : RawData | AbsentType | SkippedType
Données actuelles au niveau RawData de.
observable_data
Type : ObservableData | AbsentType | SkippedType
Données actuelles au niveau ObservableData de.
aggregated_observable_data
Type : AggregatedObservableData | AbsentType | SkippedType
Données actuelles au niveau AggregatedObservableData de.
model_data
Type : ModelData | AbsentType | SkippedType
Données actuelles au niveau ModelData de.
paths
instruction_sequences
Type : list[InstructionSequence] | None
Les séquences d'instructions utilisées dans l'expérience, ou None si elles ne sont pas définies.
relations
Type : set[tuple[int, int]] | None
Relations « chemin-séquence », ou None si cette option n'est pas définie.
plot_qubit_pair_decays
plot_qubit_pair_decays(pairs: Sequence[tuple[int, int]] | None = None, *, restrict_to_qubits: Iterable[int] | None = None, observable_type: Literal['raw', 'means', 'both'] | None = None, exponential_fit: bool = False, model_prediction: bool = False, observable_marker_kwargs: Mapping[str, object] | None = None, means_marker_kwargs: Mapping[str, object] | None = None, exponential_fit_line_kwargs: Mapping[str, object] | None = None, model_line_kwargs: Mapping[str, object] | None = None, num_cols: int = 3, noise_site: Mapping[str, Literal['before', 'after']] | None = None, paths: Sequence[Path] | None = None, fragment_depths: Sequence[float] | None = None, title: str | None = None) → InteractiveFigure
Tracez une grille représentant l'évolution de la fidélité pour des paires de qubits, à partir des données issues de cet ajustement.
Un graphique secondaire par paire, avec des étiquettes et des couleurs communes à toutes les paires. Les décays affichés sont contrôlés par les boutons ci-dessous; ils sont tous désactivés par défaut, il vous suffit donc d'activer ceux qui vous intéressent. Une désintégration demandée dont les données n'ont pas encore été calculées dans le cadre de cet ajustement est ignorée, accompagnée d'un avertissement.
Paramètres
- paires – Les paires de qubits à représenter, une sous-figure par paire. Un couple n'est pas ordonné – il
(1, 0)désigne la même sous-intrigue que(0, 1)–; par conséquent, aucun couple ne peut être répété. Par défaut, on retient les paires de la carte de couplage de l'ensemble de portes défini dans cet ajustement, situées à l'intérieur de sonqubit_subset, et on ne conserve que celles qui comportent au moins l'une des désintégrations représentées. - restrict_to_qubits – Ensemble facultatif d'indices de qubits permettant de filtrer les résultats pour ne
pairsretenir que ceux dont les deux qubits font partie de cet ensemble. - observable_type – Mode de représentation des données empiriques observables :
"raw"(nuage de points bruts par randomisation),"means"(moyennes par profondeur de fragment avec barres d'erreur),"both", ou (Nonepar défaut) pour omettre les points empiriques. Utilise leObservableData. de cette configuration. - exponential_fit – Indique s’il faut tracer la courbe d’atténuation exponentielle ajustée, à partir des paramètres d’ajustement
fragment_depth == -1AggregatedObservableDatade cette analyse. La valeur par défaut estFalse. - model_prediction – Indique s'il faut tracer la courbe de décroissance prédite par le modèle, à partir du modèle de cet ajustement et de
ModelData. La valeur par défaut estFalse. - observable_marker_kwargs – Remplacements
markerfacultatifs pour les points bruts de l'observable. - means_marker_kwargs – Paramètres
markerfacultatifs permettant de redéfinir les points de la moyenne observable. - exponential_fit_line_kwargs – Paramètres
linefacultatifs permettant de redéfinir la courbe d'ajustement exponentiel. - model_line_kwargs – Paramètres
linefacultatifs permettant de redéfinir la courbe du modèle. - num_cols – Nombre de colonnes du sous-graphique; le nombre de lignes est déterminé par le nombre de paires.
- noise_site – Une correspondance bruit-site facultative transmise au formateur d'étiquettes (avec le style d'étiquette
"formula"par défaut, cela donne une étiquettef^{gate}_{pauli}compacte). Par défaut, il s'agit du site de bruit du modèle d'ajustement lorsqu'il s'agit d'un modèle unique ou qu'il en contient un seulPauliLindbladModel. - trajets – Les trajets à tracer sur tous les calques. Utilise par défaut les trajectoires de désintégration identifiées dans les données observables ou agrégées de cet ajustement; en
pathsl'absence de telles données, le système se rabat sur celles propres à l'ajustement. Fournissez ces données pour tracer des courbes de prédiction du modèle dans le cadre d'un ajustement ne comportant qu'un modèle (sans données observables ni données observables agrégées à partir desquelles dériver les trajectoires). - fragment_depths – Plage de profondeurs de fragment pour les courbes. La valeur par défaut correspond à la plus grande profondeur de fragment
0figurant dans les données empiriques disponibles, ou à0–10lorsqu'il n'y en a pas. - titre – Titre facultatif de la figure.
Retours
La figure avec des légendes interactives.
Augmentations
- ValueError : si l'ajustement ne dispose d'aucun modèle (et donc d'aucun ensemble de portes) à partir duquel générer des étiquettes, ou si
pairsnomme deux fois la même paire. - ValueError : si n'est
pairspas fourni et que la valeur par défaut ne peut pas être déduite. - ValueError : si la fonction
restrict_to_qubitsélimine toutes les paires. - ImportError : si n'est
matplotlibpas installé.