Skip to main content
IBM Quantum Platform

qiskit_noise_learning.experiment_builder.Experiment

class qiskit_noise_learning.experiment_builder.Experiment(*, fidelity_model: LinearMap[Hashable, FidelityIndex] | ModelGateSet | None = None, paths: list[Path] | None = None, instruction_sequences: list[InstructionSequence] | None = None, relations: set[tuple[int, int]] | None = None, shots: int = 20, randomizations: int = 50, randomization_multipliers: list[int] | None = None, validate: bool = True)

GitHub

Bases : object

Spécification d'une expérience d'apprentissage.

An Experiment rassemble toutes les données nécessaires à la définition d'une expérience d'apprentissage du bruit : un modèle de fidélité, des chemins d'analyse, des séquences d'instructions, leurs relations et les paramètres d'exécution (tentatives et randomisations).

Tous les champs sont facultatifs et peuvent être renseignés progressivement via des instances ExperimentBuilderStage .

Paramètres

  • fidelity_model – Un modèle de fidélité ou un ensemble de portes de modèle (encapsulé dans un IdentityFidelityModel).
  • chemins – Chemins à analyser.
  • instruction_sequences – Séquences d’instructions (pouvant inclure à la fois des instructions liées et non liées).
  • relations – Ensemble de tuples (path_idx, sequence_idx) indiquant quels chemins sont parcourus par quelles séquences d'instructions.
  • tirs – Nombre total de tirs (valeur par défaut : 20).
  • randomisations – Nombre total de randomisations (valeur par défaut : 50).
  • randomization_multipliers – Multiplicateur de randomisation par séquence (en parallèle avec instruction_sequences).
  • valider – Si ( True par défaut), appliquer les mêmes contrôles de validation que ( replace() remplacement conjoint, cohérence de la longueur, limites des relations).

__init__

__init__(*, fidelity_model: LinearMap[Hashable, FidelityIndex] | ModelGateSet | None = None, paths: list[Path] | None = None, instruction_sequences: list[InstructionSequence] | None = None, relations: set[tuple[int, int]] | None = None, shots: int = 20, randomizations: int = 50, randomization_multipliers: list[int] | None = None, validate: bool = True)


Méthodes

Chronique « 1 »
Chronique « 2 »
__init__(*[, fidelity_model, paths, ...])
replace(*[, validate])Renvoie une copie superficielle dans laquelle les champs indiqués sont remplacés.

Attributs

Chronique « 1 »
Chronique « 2 »
design_matrixLa matrice de conception, calculée de manière différée à partir du modèle de fidélité et des chemins.
fidelity_modelLe modèle de fidélité.
gate_setLe kit de portail miniature.
instruction_sequencesLes séquences d'instructions.
is_executableCette expérience dispose-t-elle de toutes les informations nécessaires à son exécution?
pathsLes pistes d'analyse.
randomization_multipliersMultiplicateurs de randomisation par séquence.
randomizationsNombre total de randomisations.
relationsL'ensemble des relations de chemin et de séquence.
shotsNombre total de tirs.

fidelity_model

Type : LinearMap[Hashable, FidelityIndex] | None

Le modèle de fidélité.

gate_set

Type : ModelGateSet | None

Le kit de portail miniature.

paths

Type : list[Path] | None

Les pistes d'analyse.

instruction_sequences

Type : list[InstructionSequence] | None

Les séquences d'instructions.

relations

Type : set[tuple[int, int]] | None

L'ensemble des relations de chemin et de séquence.

shots

Type : int

Nombre total de tirs.

randomizations

Type : int

Nombre total de randomisations.

randomization_multipliers

Type : list[int] | None

Multiplicateurs de randomisation par séquence.

design_matrix

Type : IndexedMatrix

La matrice de conception, calculée de manière différée à partir du modèle de fidélité et des chemins.

Augmentations

ValueError : si ou fidelity_model paths est égal à None.

is_executable

Type : bool

Cette expérience dispose-t-elle de toutes les informations nécessaires à son exécution?

Conditions requises : instruction_sequences est défini, toutes les séquences sont liées et complètes, et randomization_multipliers est défini.

replace

replace(*, validate: bool = True, **kwargs) → Experiment

Renvoie une copie superficielle dans laquelle les champs indiqués sont remplacés.

Lorsque ( validate=True par défaut), les vérifications suivantes sont appliquées :

  • Co-remplacement : instruction_sequences et randomization_multipliers doivent toujours être tous les deux None ou tous les deux nonNone-. Le remplacement de l'un sans l'autre n'est autorisé que s'il préserve cet invariant.
  • Cohérence de longueur : randomization_multipliers doit avoir la même longueur que instruction_sequences.
  • Limites des relations : la configuration nécessite relations la présence instruction_sequences de et paths ; tous les indices doivent se situer dans les limites autorisées.
  • Invalidation souple : le remplacement de paths ou instruction_sequences sans fournir de nouvelle valeur pour définira relations sur None et générera relations un avertissement.

Paramètres

  • valider – Si True, appliquer les vérifications ci-dessus. Dans ce cas False, les champs sont renseignés tels quels, sans validation.
  • **kwargs – Noms des champs et leurs nouvelles valeurs.

Augmentations

  • TypeError : si un nom de champ non reconnu est fourni.
  • ValueError : en cas de violation d'une contrainte de validation.
Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.