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)
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:
RawDatacorrispondenti al numero di bit delle sequenze di istruzioni eseguite.ObservableDatacorrispondenti alle grandezze osservabili delle randomizzazioni dei percorsi che attraversano le sequenze di istruzioni.AggregatedObservableDatacorrispondente a una combinazione di grandezze osservabili aggregate tra le diverse randomizzazioni.ModelDatacorrispondenti 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 levelParametri
- modello – Il modello da adattare. Se specificato, deve trattarsi di un modello di fedeltà, ovvero un
LinearMapil cui spazio di uscita sia unLogFidelitySpace(vediis_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_data | Dati attuali a livello AggregatedObservableData di. |
history | La cronologia completa delle scritture per ciascun livello. |
instruction_sequences | Le sequenze di istruzioni utilizzate nell'esperimento, oppure, None se non specificato. |
model | Il modello di fedeltà utilizzato per la costruzione della matrice di progettazione. |
model_data | Dati attuali a livello ModelData di. |
observable_data | Dati attuali a livello ObservableData di. |
paths | I percorsi per il calcolo degli osservabili. |
raw_data | Dati attuali a livello RawData di. |
relations | Relazioni "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
instruction_sequences
Tipo: list[InstructionSequence] | None
Le sequenze di istruzioni utilizzate nell'esperimento, oppure, None se non specificato.
relations
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 suoqubit_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
pairslimitandoli 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 (Noneimpostazione predefinita) per omettere i punti empirici. Utilizza il. di questa configurazioneObservableData. - exponential_fit – Indica se tracciare la curva di decadimento esponenziale adattata, sulla base dei dati di questo adattamento (
AggregatedObservableDataovvero dei suoi parametri adattatifragment_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
markerfacoltative per i punti osservabili grezzi. - means_marker_kwargs – Sostituzioni
markeropzionali per i punti dell'osservabile "means". - exponential_fit_line_kwargs – Parametri
lineopzionali per la curva di adattamento esponenziale. - model_line_kwargs – Sostituzioni
linefacoltative 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'etichettaf^{gate}_{pauli}compatta). Per impostazione predefinita, viene utilizzato il sito di rumore del modello di adattamento quando questo è, o contiene, un singoloPauliLindbladModel. - 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
pathsassenza 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
0alla profondità del frammento più grande presente nei dati empirici disponibili oppure0,10in 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
pairsspecificata due volte la stessa coppia. - ValueError : se non
pairsviene specificato e non è possibile ricavarne il valore predefinito. - ValueError : se
restrict_to_qubitselimina tutte le coppie. - ImportError : se non
matplotlibè installato.