Skip to main content
IBM Quantum Platform

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)

GitHub

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 :

  • RawData correspondant au nombre de bits des séquences d'instructions exécutées.
  • ObservableData correspondant aux observables des randomisations des chemins qui traversent les séquences d'instructions.
  • AggregatedObservableData correspondant à une combinaison d'observables agrégées sur l'ensemble des randomisations.
  • ModelData correspondant 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 level

Paramè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 LinearMap dont l'espace de sortie est un LogFidelitySpace (voir is_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_dataDonnées actuelles au niveau AggregatedObservableData de.
historyL'historique complet des écritures pour chaque niveau.
instruction_sequencesLes séquences d'instructions utilisées dans l'expérience, ou None si elles ne sont pas définies.
modelLe modèle de fidélité utilisé pour la construction de la matrice de conception.
model_dataDonnées actuelles au niveau ModelData de.
observable_dataDonnées actuelles au niveau ObservableData de.
pathsLes chemins d'accès permettant de calculer les observables.
raw_dataDonnées actuelles au niveau RawData de.
relationsRelations « 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

Type : list[Path]

Les chemins d'accès permettant de calculer les observables.

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 son qubit_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 pairs retenir 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 ( None par défaut) pour omettre les points empiriques. Utilise le ObservableData. 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 == -1 AggregatedObservableData de cette analyse. La valeur par défaut est False.
  • 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 est False.
  • observable_marker_kwargs – Remplacements marker facultatifs pour les points bruts de l'observable.
  • means_marker_kwargs – Paramètres marker facultatifs permettant de redéfinir les points de la moyenne observable.
  • exponential_fit_line_kwargs – Paramètres line facultatifs permettant de redéfinir la courbe d'ajustement exponentiel.
  • model_line_kwargs – Paramètres line facultatifs 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 étiquette f^{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 seul PauliLindbladModel.
  • 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 paths l'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 0 figurant dans les données empiriques disponibles, ou à 0–10 lorsqu'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 pairs nomme deux fois la même paire.
  • ValueError : si n'est pairs pas 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 matplotlib pas installé.
Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.