Introduzione alle opzioni
Puoi passare opzioni alle primitive per personalizzarle in base alle tue esigenze. Questa sezione si concentra sulle opzioni delle primitive di Qiskit Runtime. Sebbene l'interfaccia del metodo run() delle primitive sia comune a tutte le implementazioni, le relative opzioni non lo sono. Consulta i riferimenti API corrispondenti per informazioni sulle opzioni di qiskit.primitives e qiskit_aer.primitives.
Panoramica​
Struttura​
Quando chiami le primitive, puoi passare le opzioni usando una classe di opzioni o un dizionario. Le opzioni più comuni, come resilience_level, si trovano al primo livello. Le altre opzioni sono raggruppate in diverse categorie, come execution. Consulta la sezione Impostare le opzioni delle primitive per tutti i dettagli.
Valori predefiniti​
Se non specifichi un valore per un'opzione, le viene assegnato il valore speciale Unset e viene utilizzato il valore predefinito del server. Pertanto, il valore predefinito sarà lo stesso indipendentemente dalla versione del codice.
Le tabelle nella sezione Riepilogo delle classi di opzioni elencano i valori predefiniti.
Impostare le opzioni​
Le opzioni possono essere definite prima che una primitiva venga costruita e passate alla primitiva, che ne creerà una copia. Ciò può essere fatto sia come dizionario annidato, sia usando le classi di opzioni. Inoltre, dopo che la primitiva è stata costruita, le sue opzioni possono essere modificate. Usa il flusso di lavoro più adatto alla tua applicazione. Consulta Specificare le opzioni per tutti i dettagli.
Riepilogo delle classi di opzioni​
- Estimator
- Sampler
- Dynamical decoupling: Opzioni per il dynamical decoupling.
- Environment: Opzioni dell'ambiente di esecuzione, come il livello di logging da impostare e i tag del job da aggiungere.
- Execution: Opzioni di esecuzione delle primitive, incluso se inizializzare i qubit e il ritardo di ripetizione.
- Resilience: Opzioni avanzate per configurare metodi di mitigazione degli errori come la mitigazione degli errori di misura, ZNE e PEC.
- Simulator: Opzioni del simulatore, come i gate di base, il seed del simulatore e la mappa di accoppiamento. Si applica solo alla modalità di test locale.
- Twirling: Opzioni di twirling, come se applicare il twirling ai gate a due qubit e il numero di shot da eseguire per ogni campione casuale.
- Dynamical decoupling: Opzioni per il dynamical decoupling.
- Environment: Opzioni dell'ambiente di esecuzione, come il livello di logging da impostare e i tag del job da aggiungere.
- Execution: Opzioni di esecuzione delle primitive, incluso se inizializzare i qubit e il ritardo di ripetizione.
- Simulator: Opzioni del simulatore, come i gate di base, il seed del simulatore e la mappa di accoppiamento. Si applica solo alla modalità di test locale.
- Twirling: Opzioni di twirling, come se applicare il twirling ai gate a due qubit e il numero di shot da eseguire per ogni campione casuale.
Opzioni disponibili​
La tabella seguente documenta le opzioni dell'ultima versione di qiskit-ibm-runtime. Per vedere versioni precedenti delle opzioni, visita il riferimento API di qiskit-ibm-runtime e seleziona una versione precedente.
- Estimator
- Sampler
default_shots​
default_shots​Il numero totale di shot da utilizzare per circuit per configurazione.
Scelte: Intero >= 0
Predefinito: None
default_precision​
default_precision​La precisione predefinita da utilizzare per qualsiasi PUB o chiamata run() che non ne specifica una.
Scelte: Float > 0
Predefinito: 0.015625 (1 / sqrt(4096))
dynamical_decoupling​
dynamical_decoupling​Controlla le impostazioni di mitigazione degli errori tramite dynamical decoupling.
dynamical_decoupling documentazione API
dynamical_decoupling.enable​
dynamical_decoupling.enable​Scelte: True, False
Predefinito: False
dynamical_decoupling.extra_slack_distribution​
dynamical_decoupling.extra_slack_distribution​Scelte: middle, edges
Predefinito: middle
dynamical_decoupling.scheduling_method​
dynamical_decoupling.scheduling_method​Scelte: asap, alap
Predefinito: alap
dynamical_decoupling.sequence_type​
dynamical_decoupling.sequence_type​Scelte: XX, XpXm, XY4
Predefinito: XX
dynamical_decoupling.skip_reset_qubits​
dynamical_decoupling.skip_reset_qubits​Scelte: True, False
Predefinito: False
environment​
environment​environment documentazione API
environment.callback​
environment.callback​Funzione callable che riceve il Job ID e il Job result.
Scelte: None
Predefinito: None
environment.job_tags​
environment.job_tags​Elenco di tag.
Scelte: None
Predefinito: None
environment.log_level​
environment.log_level​Scelte: DEBUG, INFO, WARNING, ERROR, CRITICAL
Predefinito: WARNING
environment.private​
environment.private​Scelte: True, False
Predefinito: False
execution​
execution​execution.init_qubits​
execution.init_qubits​Se reimpostare i qubit allo stato fondamentale per ogni shot.
Scelte: True, False
Predefinito: True
execution.rep_delay​
execution.rep_delay​Il ritardo tra una misura e il successivo circuito quantistico.
Scelte: Valore nell'intervallo fornito da backend.rep_delay_range
Predefinito: Fornito da backend.default_rep_delay
max_execution_time​
max_execution_time​Scelte: Numero intero di secondi nell'intervallo [1, 10800]
Predefinito: 10800 (3 ore)
resilience​
resilience​Opzioni avanzate di resilienza per ottimizzare la strategia di resilienza.
resilience.layer_noise_learning​
resilience.layer_noise_learning​Opzioni per l'apprendimento del rumore a strati.
resilience.layer_noise_learning.layer_pair_depths​
resilience.layer_noise_learning.layer_pair_depths​Scelte: list[int] di 2-10 valori nell'intervallo [0, 200]
Predefinito: (0, 1, 2, 4, 16, 32)
resilience.layer_noise_learning.max_layers_to_learn​
resilience.layer_noise_learning.max_layers_to_learn​Scelte: None, Intero >= 1
Predefinito: 4
resilience.layer_noise_learning.num_randomizations​
resilience.layer_noise_learning.num_randomizations​Scelte: Intero >= 1
Predefinito: 32
resilience.layer_noise_learning.shots_per_randomization​
resilience.layer_noise_learning.shots_per_randomization​Scelte: Intero >= 1
Predefinito: 128
resilience.layer_noise_model​
resilience.layer_noise_model​Scelte: NoiseLearnerResult, Sequence[LayerError]
Predefinito: None
resilience.measure_mitigation​
resilience.measure_mitigation​Scelte: True, False
Predefinito: True
resilience.measure_noise_learning​
resilience.measure_noise_learning​Opzioni per l'apprendimento del rumore di misura.
resilience.measure_noise_learning.num_randomizations​
resilience.measure_noise_learning.num_randomizations​Scelte: Intero >= 1
Predefinito: 32
resilience.measure_noise_learning.shots_per_randomization​
resilience.measure_noise_learning.shots_per_randomization​Scelte: Intero, auto
Predefinito: auto
resilience.pec_mitigation​
resilience.pec_mitigation​Scelte: True, False
Predefinito: False
resilience.pec​
resilience.pec​Opzioni di mitigazione tramite cancellazione probabilistica degli errori.
resilience.pec.max_overhead​
resilience.pec.max_overhead​Scelte: None, Intero >= 1
Predefinito: 100
resilience.pec.noise_gain​
resilience.pec.noise_gain​Scelte: auto, float nell'intervallo [0, 1]
Predefinito: auto
resilience.zne_mitigation​
resilience.zne_mitigation​Scelte: True, False
Predefinito: False
resilience.zne​
resilience.zne​resilience.zne.amplifier​
resilience.zne.amplifier​Scelte: gate_folding, gate_folding_front, gate_folding_back, pea
Predefinito: gate_folding
resilience.zne.extrapolated_noise_factors​
resilience.zne.extrapolated_noise_factors​Scelte: Lista di float
Predefinito: [0, *noise_factors]
resilience.zne.extrapolator​
resilience.zne.extrapolator​Scelte: Uno o più tra: exponential, linear, double_exponential, polynomial_degree_(1 <= k <= 7), fallback
Predefinito: (exponential, linear)
resilience.zne.noise_factors​
resilience.zne.noise_factors​Scelte: Lista di float; ogni float >= 1
Predefinito: (1, 1.5, 2) per PEA, e (1, 3, 5) altrimenti
resilience_level​
resilience_level​Quanta resilienza costruire contro gli errori. Livelli più alti producono risultati più accurati a scapito di tempi di elaborazione più lunghi.
Scelte: 0, 1, 2
Predefinito: 1
seed_estimator​
seed_estimator​simulator​
simulator​Opzioni da passare durante la simulazione di un backend
simulator.basis_gates​
simulator.basis_gates​Scelte: Elenco di nomi di gate di base su cui eseguire l'unrolling
Predefinito: L'insieme di tutti i gate di base supportati dal simulatore Qiskit Aer
simulator.coupling_map​
simulator.coupling_map​Scelte: Elenco di interazioni dirette a due qubit
Predefinito: None, che implica nessun vincolo di connettività (connettività completa).
simulator.noise_model​
simulator.noise_model​Scelte: Qiskit Aer NoiseModel, o la sua rappresentazione
Predefinito: None
simulator.seed_simulator​
simulator.seed_simulator​Scelte: Intero
Predefinito: None
twirling​
twirling​Opzioni di twirling
twirling.enable_gates​
twirling.enable_gates​Scelte: True, False
Predefinito: False
twirling.enable_measure​
twirling.enable_measure​Scelte: True, False
Predefinito: True
twirling.num_randomizations​
twirling.num_randomizations​Scelte: auto, Intero >= 1
Predefinito: auto
twirling.shots_per_randomization​
twirling.shots_per_randomization​Scelte: auto, Intero >= 1
Predefinito: auto
twirling.strategy​
twirling.strategy​Scelte: active, active-circuit, active-accum, all
Predefinito: active-accum
experimental​
experimental​Opzioni sperimentali, quando disponibili.
default_shots​
default_shots​Il numero totale di shot da utilizzare per circuit per configurazione.
Scelte: Intero >= 0
Predefinito: None
dynamical_decoupling​
dynamical_decoupling​Controlla le impostazioni di mitigazione degli errori tramite dynamical decoupling.
dynamical_decoupling documentazione API
dynamical_decoupling.enable​
dynamical_decoupling.enable​Scelte: True, False
Predefinito: False
dynamical_decoupling.extra_slack_distribution​
dynamical_decoupling.extra_slack_distribution​Scelte: middle, edges
Predefinito: middle
dynamical_decoupling.scheduling_method​
dynamical_decoupling.scheduling_method​Scelte: asap, alap
Predefinito: alap
dynamical_decoupling.sequence_type​
dynamical_decoupling.sequence_type​Scelte: XX, XpXm, XY4
Predefinito: XX
dynamical_decoupling.skip_reset_qubits​
dynamical_decoupling.skip_reset_qubits​Scelte: True, False
Predefinito: False
environment​
environment​environment documentazione API
environment.job_tags​
environment.job_tags​Elenco di tag.
Scelte: None
Predefinito: None
environment.log_level​
environment.log_level​Scelte: DEBUG, INFO, WARNING, ERROR, CRITICAL
Predefinito: WARNING
environment.private​
environment.private​Scelte: True, False
Predefinito: False
execution​
execution​execution.init_qubits​
execution.init_qubits​Se reimpostare i qubit allo stato fondamentale per ogni shot.
Scelte: True, False
Predefinito: True
execution.rep_delay​
execution.rep_delay​Il ritardo tra una misura e il successivo circuito quantistico.
Scelte: Valore nell'intervallo fornito da backend.rep_delay_range
Predefinito: Fornito da backend.default_rep_delay
execution.meas_type​
execution.meas_type​Scelte: classified, kerneled, avg_kerneled
Predefinito: classified
max_execution_time​
max_execution_time​Scelte: Numero intero di secondi nell'intervallo [1, 10800]
Predefinito: 10800 (3 ore)
simulator​
simulator​Opzioni da passare durante la simulazione di un backend
simulator.basis_gates​
simulator.basis_gates​Scelte: Elenco di nomi di gate di base su cui eseguire l'unrolling
Predefinito: L'insieme di tutti i gate di base supportati dal simulatore Qiskit Aer
simulator.coupling_map​
simulator.coupling_map​Scelte: Elenco di interazioni dirette a due qubit
Predefinito: None, che implica nessun vincolo di connettività (connettività completa).
simulator.noise_model​
simulator.noise_model​Scelte: Qiskit Aer NoiseModel, o la sua rappresentazione
Predefinito: None
simulator.seed_simulator​
simulator.seed_simulator​Scelte: Intero
Predefinito: None
twirling​
twirling​Opzioni di twirling
twirling.enable_gates​
twirling.enable_gates​Scelte: True, False
Predefinito: False
twirling.enable_measure​
twirling.enable_measure​Scelte: True, False
Predefinito: False
twirling.num_randomizations​
twirling.num_randomizations​Scelte: auto, Intero >= 1
Predefinito: auto
twirling.shots_per_randomization​
twirling.shots_per_randomization​Scelte: auto, Intero >= 1
Predefinito: auto
twirling.strategy​
twirling.strategy​Scelte: active, active-circuit, active-accum, all
Predefinito: active-accum
experimental​
experimental​Opzioni sperimentali, quando disponibili.
Compatibilità delle funzionalità ​
A causa delle differenze nel processo di compilazione del dispositivo, alcune funzionalità di runtime non possono essere utilizzate insieme in un singolo job. Clicca sulla scheda appropriata per un elenco delle funzionalità incompatibili con la funzionalità selezionata:
- Dynamic circuits
- Dynamical decoupling
- Fractional gates
- Gate-folding ZNE
- Gate twirling
- PEA
- PEC
Incompatibile con:
- ZNE con gate folding
- PEA
- PEC
- Dynamical decoupling
Altre note:
- Può essere utilizzato con il gate twirling per gate non condizionali.
- Compatibile con i gate frazionari quando si usa
qiskit-ibm-runtimev0.42.0 o versioni successive.
Incompatibile con i circuiti dinamici.
Incompatibile con:
- gate twirling
- PEA
- PEC
Compatibile con i circuiti dinamici quando si usa qiskit-ibm-runtime v0.42.0 o versioni successive.
Incompatibile con:
- Circuiti dinamici
- PEA
- PEC
Potrebbe non funzionare con gate personalizzati.
Incompatibile con i gate frazionari o con gli stretches.
Altre note:
- Può essere utilizzato con circuiti dinamici con gate non condizionali.
- Non funziona con entangler non-Clifford.
Incompatibile con:
- Circuiti dinamici
- gate frazionari
- ZNE con gate folding
- PEC
Incompatibile con:
- Circuiti dinamici
- gate frazionari
- ZNE con gate folding
- PEA
Passi successivi​
- Trova ulteriori dettagli sui metodi
EstimatorV2nel riferimento API di Estimator. - Trova ulteriori dettagli sui metodi
SamplerV2nel riferimento API di Sampler. - Trova dettagli su come configurare la soppressione degli errori e la mitigazione degli errori.
- Scopri come specificare le opzioni.