Langkau ke kandungan utama

Permulaan Qubit

Versi pakej

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

qiskit-ibm-runtime~=0.46.1

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

Walau bagaimanapun, ketidaksempurnaan dalam proses set semula boleh memperkenalkan 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, dengan mengorbankan peningkatan kadar ralat penyediaan keadaan, 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 — required packages for this notebook
!pip install -q qiskit-ibm-runtime
from qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2 as 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