qiskit_ibm_runtime.options_models.ZneOptions
pydantic model ZneOptions
Basi: BaseOptionsModel
Opzioni di mitigazione dell'estrapolazione del rumore zero. Questo viene utilizzato esclusivamente dal programma di preventivazione " V2 ".
Qualsiasi stimatore di tipo V2 garantisce il ritorno di campi di dati denominati evs e stds che riportano, rispettivamente, le stime dei valori attesi desiderati e i relativi errori. Quando le opzioni ZNE sono abilitate nello stimatore di runtime, vengono restituiti dati aggiuntivi.
In particolare, supponiamo che un pub di input abbia una forma dell'array osservabile e obs_shape una forma dei valori dei parametri par_shape, con una forma del pub corrispondente shape=np.broadcast_shapes(obs_shape, par_shape). In tal caso, il risultato corrispondente del pub conterrà inoltre:
-
pub_result.data.evs_extrapolatedepub_result.data.stds_extrapolated,entrambi con forma
(*shape, num_extrapolators, num_evaluation_points), dovenum_extrapolatorsè la lunghezza della lista dioptions.resilience.zne.extrapolator, enum_evaluation_pointsè la lunghezza della listaoptions.resilience.zne.extrapolated_noise_factors. Questi valori forniscono le valutazioni di ciascun estrapolatore per ogni valore specificato di estrapolazione del rumore. -
pub_result.data.evs_noise_factors,pub_result.data.stds_noise_factors, e hanno tuttiensemble_stds_noise_factorsforma(*shape, num_noise_factors)dovenum_noise_factorsè la lunghezza dioptions.resilience.zne.noise_factors. Questi valori forniscono i valori attesi grezzi, mediati rispetto al twirling, se applicabile, per ciascuna delle amplificazioni del rumore; è possibile basare le proprie routine di adattamento su questi valori. Se non si effettua il twirling, entrambi gli array*stds*saranno uguali; in caso contrario, il valore vienestds_noise_factorsricavato dalla dispersione sui campioni ottenuti tramite twirling, mentre siensemble_stds_noise_factorsipotizza solo rumore di scatto e nessuna deriva.
Nota tecnica: nel caso di osservabili singoli con più termini di base, può capitare che nello stesso valore atteso vengano utilizzati più metodi di estrapolazione; ad esempio, XX viene estrapolato linearmente, mentre XY viene estrapolato esponenzialmente nell’osservabile {"XX": 0.5, "XY": 0.5}. Chiamiamola " adattamento eterogeneo ". I dati di cui al punto (2) vengono valutati sulla base di adattamenti eterogenei, selezionando l’adattamento migliore per ogni singolo termine distinto, mentre i dati di cui al punto (1) vengono valutati sulla base di adattamenti omogenei forzati, uno per ciascun estrapolatore fornito. Se il vostro lavoro richiede una distinzione più precisa a questo proposito, al momento vi consigliamo di utilizzare osservabili a termine singolo oltre a quelli a termini multipli.
Riferimenti
- Z. Cai, " Estrapolazione degli errori multi-esponenziale e combinazione di tecniche di mitigazione degli errori per applicazioni NISQ ", npj Quantum Inf 7, 80 (2021)
Configurazione
- validate_assignment : bool = True
- extra : str = vietato
amplifier
field
Tipo: Literal['gate_folding', 'gate_folding_front', 'gate_folding_back', 'pea']
Valore predefinito: 'gate_folding'
Quale tecnica utilizzare per amplificare il rumore.
Una delle seguenti opzioni:
“gate_folding” (impostazione predefinita) utilizza il gate folding a 2 qubit per amplificare il rumore. Se il rumore
Se tale fattore richiede l'amplificazione solo di un sottoinsieme di porte, queste vengono scelte in modo casuale.
“gate_folding_front” utilizza il gate folding a 2 qubit per amplificare il rumore. Se il rumore
Se il fattore richiede l'amplificazione solo di un sottoinsieme di porte, queste vengono selezionate dalla parte iniziale del circuito DAG ordinato topologicamente.
“gate_folding_back” utilizza il gate folding a 2 qubit per amplificare il rumore. Se il rumore
Se il fattore richiede l'amplificazione solo di un sottoinsieme di porte, queste vengono selezionate dalla parte posteriore del circuito DAG ordinato topologicamente.
“pea” utilizza una tecnica denominata “amplificazione probabilistica dell’errore”
( PEA ) per amplificare il rumore. Quando questa opzione è selezionata, verrà sempre utilizzato il “gate twirling”, indipendentemente dal fatto che sia stato abilitato o meno nelle opzioni. In questa tecnica, il modello di rumore a spirale di ciascun singolo strato di porte di intrecciamento nei circuiti ISA viene appreso in anticipo; si veda
LayerNoiseLearningOptionsper le opzioni di apprendimento pertinenti. Una volta completati, i circuiti vengono eseguiti per ciascun fattore di rumore, dove ogni strato di entanglement dei circuiti viene amplificato mediante l’iniezione probabilistica di rumore su un singolo qubit, proporzionale al corrispondente modello di rumore appreso.
extrapolated_noise_factors
field
Tipo: Sequence[Annotated[float, Field(ge``=``0)]] | Literal['auto']
Valore predefinito: 'auto'
Fattori di rumore da considerare per valutare l'adattamento dei modelli di estrapolazione a.
Se si imposta "auto", i valori attesi saranno calcolati in [0, *noise_factors]. Questa opzione non influisce in alcun modo sull'esecuzione o sull'adattamento del modello, ma determina semplicemente i punti in cui vengono calcolati i valori di extrapolators da restituire nei campi dati denominati e evs_extrapolated stds_extrapolated.
extrapolator
field
Tipo: ExtrapolatorType | Sequence[ExtrapolatorType]
Valore predefinito: ('exponential', 'linear')
Estrapolatori da provare (in ordine) per l'estrapolazione con rumore pari a zero.
Le opzioni disponibili sono:
"exponential", che adatta i dati utilizzando una funzione esponenziale decadentedefinito come , dove è il valore a rumore zero ( ) e è un tasso positivo.
"double_exponential", che utilizza la somma di due funzioni esponenziali come in [Rif.], 1.
"polynomial_degree_(1 <= k <= 7)", che utilizza una funzione polinomiale definita come.
"linear", che equivale a"polynomial_degree_1".
"fallback", che restituisce semplicemente i dati grezzi corrispondenti al rumore più bassofattore (in genere
1) senza effettuare alcun tipo di estrapolazione.
I valori estrapolati (evs_extrapolated e stds_extrapolated) vengono ordinati in base all'ordine degli estrapolatori specificati. Se viene specificato più di un estrapolatore, i valori e evs riportati stds nei dati del risultato si riferiscono al primo estrapolatore che ha avuto esito positivo, dove il successo di un estrapolatore viene determinato in modo euristico.
noise_factors
field
Tipo: Annotated[Sequence[Annotated[float, Field(ge``=``1)]], AfterValidator(at_least_two_noise_factors)] | Literal['auto']
Valore predefinito: 'auto'
Fattori di rumore da utilizzare per l'amplificazione del rumore.
Il valore predefinito è DEFAULT_NOISE_FACTORS. Deve contenere un numero di valori superiore al numero di gradi di libertà (DOF) in tutti gli estrapolatori richiesti.