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

Basi: object

Contenitore per i dati a ciascun livello della gerarchia di analisi.

Essi rappresentano LEVELS le diverse fasi di elaborazione dei dati. In ordine, sono:

  • RawData corrispondenti al numero di bit delle sequenze di istruzioni eseguite.
  • ObservableData corrispondenti alle grandezze osservabili delle randomizzazioni dei percorsi che attraversano le sequenze di istruzioni.
  • AggregatedObservableData corrispondente a una combinazione di grandezze osservabili aggregate tra le diverse randomizzazioni.
  • ModelData corrispondenti ai parametri di adattamento del modello.

Ogni livello conserva una cronologia di tutti i valori che vi sono stati scritti; il valore corrente è sempre quello più recente. I nuovi livelli iniziano come Absent. I livelli superati in una fase sono contrassegnati con Skipped.

Esempio:

result = my_stage.run(my_raw_data)
result.raw_data           # current RawData
result.history.raw_data   # full write history at the RawData level

Parametri

  • modello – Il modello da adattare. Se specificato, deve trattarsi di un modello di fedeltà, ovvero un LinearMap il cui spazio di uscita sia un LogFidelitySpace (vedi is_fidelity_model()).
  • percorsi – I percorsi da analizzare.
  • sequenze_di_istruzioni – Le sequenze di istruzioni utilizzate nell'esperimento.
  • relazioni – Un insieme precalcolato di tuple (path_idx, sequence_idx) che indica quali percorsi vengono percorsi da quali sequenze di istruzioni.

Aumenti

TypeError : se non model è None e non è un modello di fedeltà.

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


Metodi

Rubrica 1
Rubrica 2
__init__(*[, model, paths, ...])
copy()Restituisce una copia che conserva la cronologia completa a ogni livello.
plot_qubit_pair_decays([pairs, ...])Traccia una griglia che rappresenti il decadimento della fedeltà per coppie di qubit, ricavata dai dati di questo adattamento.

Attributi

Rubrica 1
Rubrica 2
aggregated_observable_dataDati attuali a livello AggregatedObservableData di.
historyLa cronologia completa delle scritture per ciascun livello.
instruction_sequencesLe sequenze di istruzioni utilizzate nell'esperimento, oppure, None se non specificato.
modelIl modello di fedeltà utilizzato per la costruzione della matrice di progettazione.
model_dataDati attuali a livello ModelData di.
observable_dataDati attuali a livello ObservableData di.
pathsI percorsi per il calcolo degli osservabili.
raw_dataDati attuali a livello RawData di.
relationsRelazioni "path-to-sequence", oppure None se non specificato.

copy

copy() → Self

Restituisce una copia che conserva la cronologia completa a ogni livello.

history

Tipo: FitHistory

La cronologia completa delle scritture per ciascun livello.

model

Tipo: LinearMap[Hashable, FidelityIndex] | None

Il modello di fedeltà utilizzato per la costruzione della matrice di progettazione.

raw_data

Tipo: RawData | AbsentType | SkippedType

Dati attuali a livello RawData di.

observable_data

Tipo: ObservableData | AbsentType | SkippedType

Dati attuali a livello ObservableData di.

aggregated_observable_data

Tipo: AggregatedObservableData | AbsentType | SkippedType

Dati attuali a livello AggregatedObservableData di.

model_data

Tipo: ModelData | AbsentType | SkippedType

Dati attuali a livello ModelData di.

paths

Tipo: list[Path]

I percorsi per il calcolo degli osservabili.

instruction_sequences

Tipo: list[InstructionSequence] | None

Le sequenze di istruzioni utilizzate nell'esperimento, oppure, None se non specificato.

relations

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

Relazioni "path-to-sequence", oppure None se non specificato.

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

Traccia una griglia che rappresenti il decadimento della fedeltà per coppie di qubit, ricavata dai dati di questo adattamento.

Una sottotrama per coppia, con etichette e colori comuni a tutte le coppie. I decadimenti visualizzati sono controllati dai pulsanti di attivazione/disattivazione riportati di seguito; per impostazione predefinita sono tutti disattivati, quindi attiva quelli che desideri. Un decadimento richiesto i cui dati non sono stati ancora calcolati in questo adattamento viene ignorato con un avviso.

Parametri

  • coppie – Le coppie di qubit da rappresentare graficamente, una sottotrama per ciascuna. Una coppia non è ordinata – (1, 0) indica la stessa sottotrama di (0, 1) – quindi nessuna coppia può essere ripetuta. Come impostazione predefinita, vengono selezionate le coppie della mappa di accoppiamento del gate impostato in questo adattamento, che rientrano nel suo qubit_subset, mantenendo solo quelle che presentano almeno uno dei decadimenti rappresentati nel grafico.
  • restrict_to_qubits – Un insieme opzionale di indici di qubit che consente di filtrare i risultati pairs limitandoli a quelli in cui entrambi i qubit appartengono a tale insieme.
  • observable_type – Modalità di rappresentazione dei dati empirici osservabili: "raw" (distribuzione grezza per randomizzazione), "means" (medie per profondità di frammento con barre di errore) "both", o ( None impostazione predefinita) per omettere i punti empirici. Utilizza il. di questa configurazione ObservableData.
  • exponential_fit – Indica se tracciare la curva di decadimento esponenziale adattata, sulla base dei dati di questo adattamento ( AggregatedObservableData ovvero dei suoi parametri adattati fragment_depth == -1 ). Il valore predefinito è False.
  • model_prediction – Indica se tracciare la curva di decadimento prevista dal modello, basata sul modello di questa adattamento e ModelData. Il valore predefinito è False.
  • observable_marker_kwargs – Sostituzioni marker facoltative per i punti osservabili grezzi.
  • means_marker_kwargs – Sostituzioni marker opzionali per i punti dell'osservabile "means".
  • exponential_fit_line_kwargs – Parametri line opzionali per la curva di adattamento esponenziale.
  • model_line_kwargs – Sostituzioni line facoltative per la curva del modello.
  • num_cols – Il numero di colonne del sottografico; il numero di righe dipende dal numero di coppie.
  • noise_site – Una mappatura opzionale "noise-site" inoltrata al formattatore delle etichette (con lo stile predefinito delle etichette "formula" , ciò produce un'etichetta f^{gate}_{pauli} compatta). Per impostazione predefinita, viene utilizzato il sito di rumore del modello di adattamento quando questo è, o contiene, un singolo PauliLindbladModel.
  • percorsi – I percorsi da tracciare su tutti i livelli. Per impostazione predefinita, utilizza i percorsi di decadimento rilevati nei dati osservabili/aggregati di questa approssimazione; in paths assenza di tali dati, ricorre ai percorsi di decadimento propri dell'approssimazione stessa. Inserisci questo dato per tracciare le curve di previsione del modello per un adattamento che includa solo il modello (senza dati osservabili o dati osservabili aggregati da cui ricavare i percorsi).
  • fragment_depths – L'intervallo di profondità dei frammenti per le curve. Il valore predefinito è pari 0 alla profondità del frammento più grande presente nei dati empirici disponibili oppure 0,10 in assenza di tali dati, a 0.
  • titolo – Un titolo facoltativo per la figura.

Risultati

La figura con le legende interattive.

Aumenti

  • ValueError : se l'adattamento non dispone di un modello (e quindi di un insieme di gate) da cui ricavare le etichette, oppure se viene pairs specificata due volte la stessa coppia.
  • ValueError : se non pairs viene specificato e non è possibile ricavarne il valore predefinito.
  • ValueError : se restrict_to_qubits elimina tutte le coppie.
  • ImportError : se non matplotlib è installato.
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.