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

Basi: object

Specifiche di un esperimento didattico.

An raccoglie Experiment tutti i dati necessari per definire un esperimento di apprendimento del rumore: un modello di fedeltà, percorsi di analisi, sequenze di istruzioni, le loro relazioni e i parametri di esecuzione (tiri e randomizzazioni).

Tutti i campi sono facoltativi e possono essere compilati progressivamente tramite le ExperimentBuilderStage istanze.

Parametri

  • fidelity_model – Un modello di fedeltà o un insieme di gate del modello (racchiuso in un IdentityFidelityModel).
  • percorsi – Percorsi da analizzare.
  • sequenze_di_istruzioni – Sequenze di istruzioni (possono includere sia istruzioni vincolate che non vincolate).
  • relazioni – Insieme di tuple (path_idx, sequence_idx) che indicano quali percorsi vengono percorsi da quali sequenze di istruzioni.
  • colpi – Numero totale di colpi (impostazione predefinita: 20).
  • randomizzazioni – Numero totale di randomizzazioni (valore predefinito: 50).
  • randomization_multipliers – Moltiplicatore di randomizzazione per sequenza (parallelo a instruction_sequences).
  • convalida – Se ( True impostazione predefinita), applica gli stessi controlli di convalida di ( replace() sostituzione reciproca, coerenza della lunghezza, limiti delle relazioni).

__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)


Metodi

Rubrica 1
Rubrica 2
__init__(*[, fidelity_model, paths, ...])
replace(*[, validate])Restituisce una copia superficiale in cui i campi specificati vengono sovrascritti.

Attributi

Rubrica 1
Rubrica 2
design_matrixLa matrice di progettazione, calcolata in modo differito a partire dal modello di fedeltà e dai percorsi.
fidelity_modelIl modello di fedeltà.
gate_setIl set di cancelli in miniatura.
instruction_sequencesLe sequenze di istruzioni.
is_executableSe questo esperimento disponga di tutte le informazioni necessarie per essere eseguito.
pathsI percorsi di analisi.
randomization_multipliersMoltiplicatori di randomizzazione per sequenza.
randomizationsNumero complessivo di randomizzazioni.
relationsL'insieme delle relazioni di percorso e di sequenza.
shotsNumero totale di dosi somministrate.

fidelity_model

Tipo: LinearMap[Hashable, FidelityIndex] | None

Il modello di fedeltà.

gate_set

Tipo: ModelGateSet | None

Il set di cancelli in miniatura.

paths

Tipo: list[Path] | None

I percorsi di analisi.

instruction_sequences

Tipo: list[InstructionSequence] | None

Le sequenze di istruzioni.

relations

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

L'insieme delle relazioni di percorso e di sequenza.

shots

Tipo: int

Numero totale di dosi somministrate.

randomizations

Tipo: int

Numero complessivo di randomizzazioni.

randomization_multipliers

Tipo: list[int] | None

Moltiplicatori di randomizzazione per sequenza.

design_matrix

Tipo: IndexedMatrix

La matrice di progettazione, calcolata in modo differito a partire dal modello di fedeltà e dai percorsi.

Aumenti

ValueError : se o fidelity_model paths è None.

is_executable

Tipo: bool

Se questo esperimento disponga di tutte le informazioni necessarie per essere eseguito.

Requisiti: instruction_sequences sia definito, tutte le sequenze siano determinate e complete e randomization_multipliers sia definito.

replace

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

Restituisce una copia superficiale in cui i campi specificati vengono sovrascritti.

Quando validate=True (impostazione predefinita), vengono applicati i seguenti controlli:

  • Sostituzione congiunta : instruction_sequences e randomization_multipliers devono sempre essere entrambi None oppure entrambi nonNone-. La sostituzione di uno dei due senza l'altro è consentita solo se preserva questa invariante.
  • Coerenza della lunghezza : randomization_multipliers deve avere la stessa lunghezza di instruction_sequences.
  • Limiti delle relazioni : l'impostazione richiede relations instruction_sequences la presenza di e paths , e tutti gli indici devono rientrare nei limiti.
  • Invalidazione soft : la sostituzione di paths o instruction_sequences senza specificare un nuovo relations imposterà relations su None con un avviso.

Parametri

  • convalida – Se True, applica i controlli sopra indicati. In tal caso False, i campi vengono impostati così come sono, senza alcuna verifica.
  • **kwargs – Nomi dei campi e relativi nuovi valori.

Aumenti

  • TypeError : se viene specificato un nome di campo non riconosciuto.
  • ValueError : se viene violato un vincolo di convalida.
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.