Sari la conținutul principal

Introducere în opțiuni

Poți transmite opțiuni primitivelor pentru a le personaliza în funcție de nevoi. Această secțiune se concentrează pe opțiunile primitivelor Qiskit Runtime. Deși interfața metodei run() a primitivelor este comună tuturor implementărilor, opțiunile nu sunt. Consultă referințele API corespunzătoare pentru informații despre opțiunile qiskit.primitives și qiskit_aer.primitives.

Prezentare generală

Structură

Când apelezi primitivele, poți transmite opțiuni folosind o clasă de opțiuni sau un dicționar. Opțiunile utilizate frecvent, precum resilience_level, se află la primul nivel. Alte opțiuni sunt grupate în categorii diferite, cum ar fi execution. Consultă secțiunea Setează opțiunile primitivelor pentru detalii complete.

Valori implicite

Dacă nu specifici o valoare pentru o opțiune, aceasta primește valoarea specială Unset și se folosește valoarea implicită de pe server. Astfel, valoarea implicită va fi aceeași indiferent de versiunea codului tău.

Tabelele din secțiunea Rezumat clase de opțiuni listează valorile implicite.

Setează opțiunile

Opțiunile pot fi definite înainte de a construi o primitivă și transmise acesteia, care face o copie a lor. Acest lucru se poate face fie ca dicționar imbricat, fie folosind clasele de opțiuni. În plus, după construirea primitivei, opțiunile sale pot fi modificate. Folosește fluxul de lucru care se potrivește cel mai bine aplicației tale. Consultă Specifică opțiunile pentru detalii complete.

Rezumat clase de opțiuni

  • Dynamical decoupling: Opțiuni pentru decuplare dinamică.
  • Environment: Opțiuni pentru mediul de execuție, cum ar fi nivelul de jurnalizare de setat și etichetele joburilor de adăugat.
  • Execution: Opțiuni de execuție a primitivei, inclusiv dacă se inițializează qubiții și întârzierea de repetiție.
  • Resilience: Opțiuni avansate pentru configurarea metodelor de atenuare a erorilor, cum ar fi atenuarea erorilor de măsurare, ZNE și PEC.
  • Simulator: Opțiuni pentru simulator, cum ar fi porțile de bază, seed-ul simulatorului și harta de cuplare. Se aplică doar în modul de testare locală.
  • Twirling: Opțiuni de twirling, cum ar fi dacă se aplică twirling pentru porțile cu doi qubiți și numărul de măsurători de rulat pentru fiecare eșantion aleatoriu.

Opțiuni disponibile

Tabelul următor documentează opțiunile din cea mai recentă versiune a qiskit-ibm-runtime. Pentru a vedea versiuni mai vechi ale opțiunilor, vizitează referința API qiskit-ibm-runtime și selectează o versiune anterioară.

default_shots

Numărul total de măsurători de utilizat per circuit per configurație.

Opțiuni: Număr întreg >= 0

Implicit: None

default_shots documentație API

default_precision

Precizia implicită de utilizat pentru orice PUB sau apel run() care nu specifică una.

Opțiuni: Float > 0

Implicit: 0.015625 (1 / sqrt(4096))

default_precision documentație API

dynamical_decoupling

Controlează setările de atenuare a erorilor prin decuplare dinamică.

dynamical_decoupling documentație API

dynamical_decoupling.enable

Opțiuni: True, False

Implicit: False

dynamical_decoupling.extra_slack_distribution

Opțiuni: middle, edges

Implicit: middle

dynamical_decoupling.scheduling_method

Opțiuni: asap, alap Implicit: alap

dynamical_decoupling.sequence_type

Opțiuni: XX, XpXm, XY4 Implicit: XX

dynamical_decoupling.skip_reset_qubits

Opțiuni: True, False Implicit: False

environment

Documentația API pentru environment

environment.callback

Funcție apelabilă care primește Job ID și rezultatul job-ului (Job result).

Opțiuni: None

Implicit: None

environment.job_tags

Listă de etichete.

Opțiuni: None

Implicit: None

environment.log_level

Opțiuni: DEBUG, INFO, WARNING, ERROR, CRITICAL

Implicit: WARNING

environment.private

Opțiuni: True, False

Implicit: False

execution

Documentația API pentru execution

execution.init_qubits

Dacă se resetează qubiții la starea fundamentală pentru fiecare shot.

Opțiuni: True, False

Implicit: True

execution.rep_delay

Întârzierea dintre o măsurătoare și circuitul cuantic următor.

Opțiuni: Valoare din intervalul furnizat de backend.rep_delay_range

Implicit: Dat de backend.default_rep_delay

max_execution_time

Opțiuni: Număr întreg de secunde în intervalul [1, 10800]

Implicit: 10800 (3 ore)

Documentația API pentru max_execution_time

resilience

Opțiuni avansate de reziliență pentru a regla fin strategia de reziliență.

Documentația API pentru resilience

resilience.layer_noise_learning

Opțiuni pentru învățarea zgomotului de strat.

Documentația API pentru resilience.layer_noise_learning

resilience.layer_noise_learning.layer_pair_depths

Opțiuni: list[int] cu 2–10 valori în intervalul [0, 200]

Implicit: (0, 1, 2, 4, 16, 32)

resilience.layer_noise_learning.max_layers_to_learn

Opțiuni: None, Integer >= 1

Implicit: 4

resilience.layer_noise_learning.num_randomizations

Opțiuni: Integer >= 1

Implicit: 32

resilience.layer_noise_learning.shots_per_randomization

Opțiuni: Integer >= 1

Implicit: 128

resilience.layer_noise_model

Opțiuni: NoiseLearnerResult, Sequence[LayerError]

Implicit: None

resilience.measure_mitigation

Opțiuni: True, False

Implicit: True

resilience.measure_noise_learning

Opțiuni pentru învățarea zgomotului de măsurare.

Documentația API pentru resilience.measure_noise_learning

resilience.measure_noise_learning.num_randomizations

Opțiuni: Integer >= 1

Implicit: 32

resilience.measure_noise_learning.shots_per_randomization

Opțiuni: Integer, auto

Implicit: auto

resilience.pec_mitigation

Opțiuni: True, False

Implicit: False

resilience.pec

Opțiuni de atenuare prin anulare probabilistică a erorilor.

resilience.pec API documentation

resilience.pec.max_overhead

Opțiuni: None, număr întreg >= 1

Implicit: 100

resilience.pec.noise_gain

Opțiuni: auto, număr real în intervalul [0, 1]

Implicit: auto

resilience.zne_mitigation

Opțiuni: True, False

Implicit: False

resilience.zne

resilience.zne.amplifier

Opțiuni: gate_folding, gate_folding_front, gate_folding_back, pea

Implicit: gate_folding

resilience.zne.extrapolated_noise_factors

Opțiuni: Listă de numere reale

Implicit: [0, *noise_factors]

resilience.zne.extrapolator

Opțiuni: Unul sau mai multe dintre: exponential, linear, double_exponential, polynomial_degree_(1 <= k <= 7), fallback

Implicit: (exponential, linear)

resilience.zne.noise_factors

Opțiuni: Listă de numere reale; fiecare număr real >= 1

Implicit: (1, 1.5, 2) pentru PEA, și (1, 3, 5) în celelalte cazuri

resilience_level

Nivelul de reziliență față de erori. Nivelurile mai ridicate generează rezultate mai precise, cu prețul unor timpi de procesare mai lungi.

Opțiuni: 0, 1, 2

Implicit: 1

Documentația API pentru resilience_level

seed_estimator

Opțiuni: Număr întreg

Implicit: None

seed_estimator

simulator

Opțiuni transmise la simularea unui backend

Documentația API pentru simulator

simulator.basis_gates

Opțiuni: Listă de nume de porți de bază la care se face desfășurarea

Implicit: Setul tuturor porților de bază suportate de simulatorul Qiskit Aer

simulator.coupling_map

Opțiuni: Listă de interacțiuni direcționate între doi qubiți

Implicit: None, ceea ce implică lipsa restricțiilor de conectivitate (conectivitate completă).

simulator.noise_model

Opțiuni: Qiskit Aer NoiseModel sau reprezentarea acestuia

Implicit: None

simulator.seed_simulator

Opțiuni: Număr întreg

Implicit: None

twirling

Opțiuni de twirling

Documentația API pentru twirling

twirling.enable_gates

Opțiuni: True, False

Implicit: False

twirling.enable_measure

Opțiuni: True, False

Implicit: True

twirling.num_randomizations

Opțiuni: auto, număr întreg >= 1

Implicit: auto

twirling.shots_per_randomization

Opțiuni: auto, număr întreg >= 1

Implicit: auto

twirling.strategy

Opțiuni: active, active-circuit, active-accum, all

Implicit: active-accum

experimental

Opțiuni experimentale, când sunt disponibile.

Compatibilitate de funcționalități

Din cauza diferențelor în procesul de compilare al dispozitivelor, anumite funcționalități de runtime nu pot fi utilizate împreună într-un singur job. Apasă pe fila corespunzătoare pentru o listă a funcționalităților incompatibile cu funcționalitatea selectată:

Incompatibil cu:

  • Gate-folding ZNE
  • PEA
  • PEC
  • Dynamical decoupling

Alte observații:

  • Poate fi utilizat cu gate twirling pentru porți necondiționale.
  • Compatibil cu fractional gates când folosești qiskit-ibm-runtime v0.42.0 sau o versiune ulterioară.

Pașii următori

Recommendations