Langkau ke kandungan utama
Projek ini dalam fasa beta. Jumpa pepijat? Buat isu GitHub. Ada soalan atau idea? Tanya dalam Discussions — kami suka dengar maklum balas anda!
Bagaimana kualiti terjemahan pada halaman ini?

Pengawalan Qubit

Versi pakej

Kod pada halaman ini dibangunkan menggunakan keperluan berikut. Kami mengesyorkan menggunakan versi ini atau yang lebih baharu.

qiskit-ibm-runtime~=0.50.0

Apabila litar dilaksanakan pada unit pemprosesan kuantum (QPU) IBM®, set semula tersirat biasanya dimasukkan pada permulaan litar untuk memastikan qubit diinisialisasi kepada sifar. Ini dikawal oleh bendera init_qubits, ditetapkan sebagai pilihan pelaksanaan primitif.

Walau bagaimanapun, ketidaksempurnaan dalam proses set semula boleh menyebabkan ralat penyediaan keadaan. Untuk mengurangkan ralat, QPU juga memasukkan masa lengah pengulangan (atau rep_delay) antara Circuit. Setiap backend mempunyai rep_delay lalai yang berbeza, tetapi biasanya ditetapkan untuk mengimbangi kesetiaan set semula dengan jumlah masa pelaksanaan. Jalankan backend.default_rep_delay untuk mencari rep_delay lalai bagi QPU tertentu.

Kerana semua QPU IBM menggunakan pelaksanaan kadar pengulangan dinamik, anda boleh menukar rep_delay untuk setiap kerja. Circuit yang anda hantar dalam kerja primitif dibungkus bersama untuk dilaksanakan pada QPU. Circuit ini dilaksanakan dengan berulang ke atas Circuit untuk setiap shot yang diminta; pelaksanaan adalah mengikut lajur atas matriks Circuit dan shot, seperti yang ditunjukkan dalam rajah berikut.

The first column represents shot 0.  The circuits are run in order from 0 through 3.  The second column represents shot 1.  The circuits are run in order from 0 through 3.  The remaining columns follow the same pattern.

Kerana rep_delay dimasukkan antara Circuit, setiap shot pelaksanaan menghadapi lengahan ini. Oleh itu, apabila anda menurunkan rep_delay, jumlah masa pelaksanaan QPU berkurang, tetapi kadar ralat penyediaan keadaan akan meningkat, seperti yang ditunjukkan oleh imej berikut:

This image shows that as the rep_delay value is lowered, the state preparation error rate increases.

Jika anda menetapkan kedua-dua rep_delay=0 dan init_qubits=False, Circuit "bergabung" bersama, kerana qubit akan bermula dalam keadaan akhir dari shot sebelumnya.

Perhatikan bahawa walaupun Circuit dalam kerja primitif dibungkus bersama untuk pelaksanaan QPU, tiada jaminan tentang urutan pelaksanaan Circuit dari PUB. Sebagai contoh, jika anda menghantar pubs=[pub1, pub2], Circuit dari pub1 mungkin tidak berjalan sebelum Circuit dari pub2. Juga tiada jaminan bahawa Circuit dari kerja yang sama akan berjalan sebagai satu kelompok pada QPU.

Tentukan rep_delay untuk kerja primitif​

Sahkan nilai rep_delay untuk QPU

Sentiasa sahkan julat rep_delay yang disokong untuk QPU tertentu yang anda gunakan. Nilai-nilai ini tidak sama untuk setiap QPU dan juga boleh berubah dari masa ke masa.

Sila ambil perhatian bahawa peningkatan dalam rep_delay akan memberi kesan langsung kepada masa pelaksanaan dan penggunaan kapasiti anda.

# Added by doQumentation — installs the packages this notebook needs if they are missing
import importlib.util

_needed = {"qiskit_ibm_runtime": "qiskit-ibm-runtime"}
_missing = [pip for module, pip in _needed.items()
if importlib.util.find_spec(module) is None]
# One at a time, so a package that fails to install does not block the others
for _pip in _missing:
%pip install -q {_pip}
if not _missing:
print("\u2713 All required packages are installed")
from qiskit_ibm_runtime import QiskitRuntimeService

# Legacy server-side primitive before qiskit-ibm-runtime v0.50.0
# from qiskit_ibm_runtime import QiskitRuntimeService, Sampler

# Client-side primitive introduced in qiskit-ibm-runtime v0.50.0
from qiskit_ibm_runtime.executor_sampler import Sampler

service = QiskitRuntimeService()

# Make sure your backend supports it
backend = service.least_busy(
operational=True, min_num_qubits=100, dynamic_reprate_enabled=True
)

# Determine the allowable range
backend.rep_delay_range
sampler = Sampler(mode=backend)

# Specify a value in the supported range
sampler.options.execution.rep_delay = 0.0005

Langkah seterusnya​