Pengenalan opsi
Kamu bisa meneruskan opsi ke primitif untuk menyesuaikannya sesuai kebutuhan. Bagian ini berfokus pada opsi primitif Qiskit Runtime. Meskipun antarmuka metode run() pada primitif sama di semua implementasi, opsinya tidak sama. Lihat referensi API yang sesuai untuk informasi tentang opsi qiskit.primitives dan qiskit_aer.primitives.
Gambaran umumβ
Strukturβ
Saat memanggil primitif, kamu bisa meneruskan opsi menggunakan kelas opsi atau dictionary. Opsi yang sering digunakan, seperti resilience_level, ada di level pertama. Opsi lainnya dikelompokkan ke kategori yang berbeda, seperti execution. Lihat bagian Set primitive options untuk detail lengkapnya.
Defaultβ
Kalau kamu tidak menentukan nilai untuk suatu opsi, opsi itu akan diberi nilai khusus Unset dan nilai default server yang akan dipakai. Jadi, nilai default-nya akan sama terlepas dari versi kode kamu.
Tabel di bagian Ringkasan kelas opsi mencantumkan nilai default-nya.
Set opsiβ
Opsi bisa didefinisikan sebelum primitif dibuat lalu diteruskan ke primitif, yang akan membuat salinannya. Ini bisa dilakukan sebagai nested dictionary atau menggunakan kelas opsi. Selain itu, setelah primitif dibuat, opsinya bisa diubah. Gunakan alur kerja yang paling cocok untuk aplikasimu. Lihat Specify options untuk detail lengkapnya.
Ringkasan kelas opsiβ
- Estimator
- Sampler
- Dynamical decoupling: Opsi untuk dynamical decoupling.
- Environment: Opsi lingkungan eksekusi, seperti level logging yang mau diset dan tag job yang mau ditambahkan.
- Execution: Opsi eksekusi primitif, termasuk apakah mau menginisialisasi Qubit dan repetition delay.
- Resilience: Opsi lanjutan untuk mengonfigurasi metode error mitigation seperti measurement error mitigation, ZNE, dan PEC.
- Simulator: Opsi simulator, seperti basis gate, simulator seed, dan coupling map. Hanya berlaku untuk mode pengujian lokal.
- Twirling: Opsi twirling, seperti apakah mau menerapkan two-qubit gate twirling dan jumlah shot yang dijalankan untuk setiap sampel acak.
- Dynamical decoupling: Opsi untuk dynamical decoupling.
- Environment: Opsi lingkungan eksekusi, seperti level logging yang mau diset dan tag job yang mau ditambahkan.
- Execution: Opsi eksekusi primitif, termasuk apakah mau menginisialisasi Qubit dan repetition delay.
- Simulator: Opsi simulator, seperti basis gate, simulator seed, dan coupling map. Hanya berlaku untuk mode pengujian lokal.
- Twirling: Opsi twirling, seperti apakah mau menerapkan two-qubit gate twirling dan jumlah shot yang dijalankan untuk setiap sampel acak.
Opsi yang tersediaβ
Tabel berikut mendokumentasikan opsi dari versi terbaru qiskit-ibm-runtime. Untuk melihat versi opsi yang lebih lama, kunjungi referensi API qiskit-ibm-runtime dan pilih versi sebelumnya.
- Estimator
- Sampler
default_shotsβ
default_shotsβJumlah total shot yang digunakan per Circuit per konfigurasi.
Pilihan: Integer >= 0
Default: None
default_precisionβ
default_precisionβPresisi default yang digunakan untuk PUB atau panggilan run() yang tidak menentukan presisi secara eksplisit.
Pilihan: Float > 0
Default: 0.015625 (1 / sqrt(4096))
dynamical_decouplingβ
dynamical_decouplingβKendalikan pengaturan error mitigation dynamical decoupling.
Dokumentasi API dynamical_decoupling
dynamical_decoupling.enableβ
dynamical_decoupling.enableβPilihan: True, False
Default: False
dynamical_decoupling.extra_slack_distributionβ
dynamical_decoupling.extra_slack_distributionβPilihan: middle, edges
Default: middle
dynamical_decoupling.scheduling_methodβ
dynamical_decoupling.scheduling_methodβPilihan: asap, alap
Default: alap
dynamical_decoupling.sequence_typeβ
dynamical_decoupling.sequence_typeβPilihan: XX, XpXm, XY4
Default: XX
dynamical_decoupling.skip_reset_qubitsβ
dynamical_decoupling.skip_reset_qubitsβPilihan: True, False
Default: False
environmentβ
environmentβenvironment.callbackβ
environment.callbackβFungsi callable yang menerima Job ID dan Job result.
Pilihan: None
Default: None
environment.job_tagsβ
environment.job_tagsβDaftar tag.
Pilihan: None
Default: None
environment.log_levelβ
environment.log_levelβPilihan: DEBUG, INFO, WARNING, ERROR, CRITICAL
Default: WARNING
environment.privateβ
environment.privateβPilihan: True, False
Default: False
executionβ
executionβexecution.init_qubitsβ
execution.init_qubitsβApakah mau mereset Qubit ke ground state untuk setiap shot.
Pilihan: True, False
Default: True
execution.rep_delayβ
execution.rep_delayβJeda antara pengukuran dan Circuit kuantum berikutnya.
Pilihan: Nilai dalam rentang yang disediakan oleh backend.rep_delay_range
Default: Diberikan oleh backend.default_rep_delay
max_execution_timeβ
max_execution_timeβPilihan: Jumlah detik berupa integer dalam rentang [1, 10800]
Default: 10800 (3 jam)
resilienceβ
resilienceβOpsi resilience lanjutan untuk menyetel strategi resilience secara detail.
resilience.layer_noise_learningβ
resilience.layer_noise_learningβOpsi untuk mempelajari noise layer.
resilience.layer_noise_learning.layer_pair_depthsβ
resilience.layer_noise_learning.layer_pair_depthsβPilihan: list[int] berisi 2β10 nilai dalam rentang [0, 200]
Default: (0, 1, 2, 4, 16, 32)
resilience.layer_noise_learning.max_layers_to_learnβ
resilience.layer_noise_learning.max_layers_to_learnβPilihan: None, Integer >= 1
Default: 4
resilience.layer_noise_learning.num_randomizationsβ
resilience.layer_noise_learning.num_randomizationsβPilihan: Integer >= 1
Default: 32
resilience.layer_noise_learning.shots_per_randomizationβ
resilience.layer_noise_learning.shots_per_randomizationβPilihan: Integer >= 1
Default: 128
resilience.layer_noise_modelβ
resilience.layer_noise_modelβPilihan: NoiseLearnerResult, Sequence[LayerError]
Default: None
resilience.measure_mitigationβ
resilience.measure_mitigationβPilihan: True, False
Default: True
resilience.measure_noise_learningβ
resilience.measure_noise_learningβOpsi untuk mempelajari noise pengukuran.
resilience.measure_noise_learning.num_randomizationsβ
resilience.measure_noise_learning.num_randomizationsβPilihan: Integer >= 1
Default: 32
resilience.measure_noise_learning.shots_per_randomizationβ
resilience.measure_noise_learning.shots_per_randomizationβPilihan: Integer, auto
Default: auto
resilience.pec_mitigationβ
resilience.pec_mitigationβPilihan: True, False
Default: False
resilience.pecβ
resilience.pecβOpsi mitigasi probabilistic error cancellation.
resilience.pec.max_overheadβ
resilience.pec.max_overheadβPilihan: None, Integer >= 1
Default: 100
resilience.pec.noise_gainβ
resilience.pec.noise_gainβPilihan: auto, float dalam rentang [0, 1]
Default: auto
resilience.zne_mitigationβ
resilience.zne_mitigationβPilihan: True, False
Default: False
resilience.zneβ
resilience.zneβresilience.zne.amplifierβ
resilience.zne.amplifierβPilihan: gate_folding, gate_folding_front, gate_folding_back, pea
Default: gate_folding
resilience.zne.extrapolated_noise_factorsβ
resilience.zne.extrapolated_noise_factorsβPilihan: Daftar float
Default: [0, *noise_factors]
resilience.zne.extrapolatorβ
resilience.zne.extrapolatorβPilihan: Satu atau lebih dari: exponential, linear, double_exponential, polynomial_degree_(1 <= k <= 7), fallback
Default: (exponential, linear)
resilience.zne.noise_factorsβ
resilience.zne.noise_factorsβPilihan: Daftar float; setiap float >= 1
Default: (1, 1.5, 2) untuk PEA, dan (1, 3, 5) selainnya
resilience_levelβ
resilience_levelβSeberapa besar ketahanan yang dibangun terhadap kesalahan. Level yang lebih tinggi menghasilkan hasil yang lebih akurat dengan mengorbankan waktu pemrosesan yang lebih lama.
Pilihan: 0, 1, 2
Default: 1
seed_estimatorβ
seed_estimatorβsimulatorβ
simulatorβOpsi yang diteruskan saat mensimulasikan backend
simulator.basis_gatesβ
simulator.basis_gatesβPilihan: Daftar nama gate basis untuk di-unroll
Default: Kumpulan semua gate basis yang didukung oleh simulator Qiskit Aer
simulator.coupling_mapβ
simulator.coupling_mapβPilihan: Daftar interaksi dua-qubit terarah
Default: None, yang berarti tidak ada batasan konektivitas (konektivitas penuh).
simulator.noise_modelβ
simulator.noise_modelβPilihan: Qiskit Aer NoiseModel, atau representasinya
Default: None
simulator.seed_simulatorβ
simulator.seed_simulatorβPilihan: Integer
Default: None
twirlingβ
twirlingβOpsi twirling
twirling.enable_gatesβ
twirling.enable_gatesβPilihan: True, False
Default: False
twirling.enable_measureβ
twirling.enable_measureβPilihan: True, False
Default: True
twirling.num_randomizationsβ
twirling.num_randomizationsβPilihan: auto, Integer >= 1
Default: auto
twirling.shots_per_randomizationβ
twirling.shots_per_randomizationβPilihan: auto, Integer >= 1
Default: auto
twirling.strategyβ
twirling.strategyβPilihan: active, active-circuit, active-accum, all
Default: active-accum
experimentalβ
experimentalβOpsi eksperimental, jika tersedia.
default_shotsβ
default_shotsβJumlah total shots yang dipakai per sirkuit per konfigurasi.
Pilihan: Integer >= 0
Default: None
dynamical_decouplingβ
dynamical_decouplingβKendalikan pengaturan mitigasi error dynamical decoupling.
Dokumentasi API dynamical_decoupling
dynamical_decoupling.enableβ
dynamical_decoupling.enableβPilihan: True, False
Default: False
dynamical_decoupling.extra_slack_distributionβ
dynamical_decoupling.extra_slack_distributionβPilihan: middle, edges
Default: middle
dynamical_decoupling.scheduling_methodβ
dynamical_decoupling.scheduling_methodβPilihan: asap, alap
Default: alap
dynamical_decoupling.sequence_typeβ
dynamical_decoupling.sequence_typeβPilihan: XX, XpXm, XY4
Default: XX
dynamical_decoupling.skip_reset_qubitsβ
dynamical_decoupling.skip_reset_qubitsβPilihan: True, False
Default: False
environmentβ
environmentβexecutionβ
executionβexecution.init_qubitsβ
execution.init_qubitsβApakah Qubit direset ke ground state untuk setiap shot.
Pilihan: True, False
Default: True
execution.rep_delayβ
execution.rep_delayβJeda antara pengukuran dan Circuit kuantum berikutnya.
Pilihan: Nilai dalam rentang yang disediakan oleh backend.rep_delay_range
Default: Diberikan oleh backend.default_rep_delay
execution.meas_typeβ
execution.meas_typeβPilihan: classified, kerneled, avg_kerneled
Default: classified
max_execution_timeβ
max_execution_timeβPilihan: Bilangan bulat dalam detik, rentang [1, 10800]
Default: 10800 (3 jam)
simulatorβ
simulatorβOpsi yang dipakai saat mensimulasikan Backend
simulator.basis_gatesβ
simulator.basis_gatesβPilihan: Daftar nama basis gate untuk di-unroll
Default: Kumpulan semua basis gate yang didukung oleh simulator Qiskit Aer
simulator.coupling_mapβ
simulator.coupling_mapβPilihan: Daftar interaksi dua-Qubit berarah
Default: None, yang berarti tidak ada batasan konektivitas (konektivitas penuh).
simulator.noise_modelβ
simulator.noise_modelβPilihan: Qiskit Aer NoiseModel, atau representasinya
Default: None
simulator.seed_simulatorβ
simulator.seed_simulatorβPilihan: Integer
Default: None
twirlingβ
twirlingβOpsi twirling
twirling.enable_gatesβ
twirling.enable_gatesβPilihan: True, False
Default: False
twirling.enable_measureβ
twirling.enable_measureβPilihan: True, False
Default: False
twirling.num_randomizationsβ
twirling.num_randomizationsβPilihan: auto, Integer >= 1
Default: auto
twirling.shots_per_randomizationβ
twirling.shots_per_randomizationβPilihan: auto, Integer >= 1
Default: auto
twirling.strategyβ
twirling.strategyβPilihan: active, active-circuit, active-accum, all
Default: active-accum
experimentalβ
experimentalβOpsi eksperimental, jika tersedia.
Kompatibilitas fiturβ
Karena perbedaan proses kompilasi perangkat, fitur-fitur runtime tertentu tidak bisa dipakai bersamaan dalam satu job. Klik tab yang sesuai untuk melihat daftar fitur yang tidak kompatibel dengan fitur yang dipilih:
- Circuit dinamis
- Dynamical decoupling
- Fractional gates
- ZNE gate-folding
- Gate twirling
- PEA
- PEC
Tidak kompatibel dengan:
- ZNE gate-folding
- PEA
- PEC
- Dynamical decoupling
Catatan lain:
- Bisa dipakai dengan gate twirling untuk gate non-conditional.
- Kompatibel dengan fractional gate saat menggunakan
qiskit-ibm-runtimev0.42.0 atau lebih baru.
Tidak kompatibel dengan circuit dinamis.
Tidak kompatibel dengan:
- Gate twirling
- PEA
- PEC
Kompatibel dengan circuit dinamis saat menggunakan qiskit-ibm-runtime v0.42.0 atau lebih baru.
Tidak kompatibel dengan:
- Circuit dinamis
- PEA
- PEC
Mungkin tidak berfungsi saat menggunakan gate kustom.
Tidak kompatibel dengan fractional gate atau stretch.
Catatan lain:
- Bisa dipakai dengan circuit dinamis untuk gate non-conditional.
- Tidak berfungsi dengan entangler non-Clifford.
Tidak kompatibel dengan:
- Circuit dinamis
- Fractional gate
- ZNE gate-folding
- PEC
Tidak kompatibel dengan:
- Circuit dinamis
- Fractional gate
- ZNE gate-folding
- PEA
Langkah selanjutnyaβ
- Temukan detail lebih lanjut tentang metode
EstimatorV2di referensi API Estimator. - Temukan detail lebih lanjut tentang metode
SamplerV2di referensi API Sampler. - Temukan detail cara mengonfigurasi error suppression dan error mitigation.
- Pelajari cara menentukan opsi.