Spesifikasi Qubits pada perangkat IBMQ

8

Seperti yang ditunjukkan di sini , gerbang CNOT antara qubit yang berbeda memiliki tingkat kesalahan yang berbeda. Saya punya pertanyaan berikut:

1) Saat mendefinisikan sirkuit pada QISkit, apakah q[0]selalu sesuai dengan qubit yang sama pada perangkat (mis. Qubit yang dilabeli q0pada manual perangkat)? Jika demikian, bagaimana saya bisa hanya menggunakan misalnya qubit 12dan 13dari ibmq_16_melbourne(hanya sebagai contoh)?

2) Jika satu pekerjaan sedang dieksekusi pada suatu perangkat, katakanlah misalnya menggunakan 3 qubit, apakah ada pekerjaan lain yang berjalan pada perangkat itu secara bersamaan?

3) Berapa banyak gerbang CNOT yang dapat dimiliki oleh satu sirkuit sehingga kesalahannya tetap masuk akal? Pada dasarnya, seberapa dalam sirkuit bisa berada di salah satu perangkat untuk mendapatkan hasil yang masuk akal?

Terima kasih.

Mathophile-Mathochist
sumber

Jawaban:

7
1) While defining a circuit on QISkit, does q[0] always correspond to the same qubit on a device 
(e.g. the qubit labeled q0 on the device manual)? If so, how can I only use for example qubit 12 and 
13 of ibmq_16_melbourne (just as an example)?

Jawaban cepat: tidak selalu.

Cara Qiskit bekerja dengan sirkuit kuantum dan backend adalah:

  1. Hasilkan sirkuit kuantum dengan API. Rangkaian kuantum disimpan dalam suatu QuantumCircuitobjek.
  2. Ubah QuantumCircuitobjek ini menjadi DAGCircuitobjek yang mewakili sirkuit kuantum yang sama tetapi menggunakan DAG sebagai ganti daftar gerbang.
  3. Berikan DAGCircuitobjek ini ke kompiler. Kompiler menangani beberapa hal:
    1. Menghargai topologi backend yang Anda kompilasi. Ini adalah langkah yang akan mengganggu Anda karena kompiler mungkin akan "acak" (bukan secara acak tentu saja) qubit Anda. Satu pengecualian yang saya lihat adalah ketika sirkuit sudah menghormati topologi backend. Dalam hal ini kompiler tidak dapat mengubah qubit.
    2. Menghargai gerbang dasar yang digunakan oleh backend.
    3. Mengoptimalkan sirkuit Anda. Langkah ini mungkin juga bermasalah. Saya tidak tahu apakah optimasi seperti itu ada dalam kompiler Qiskit, tetapi jika kompiler mencoba untuk mengoptimalkan juga sehubungan dengan tingkat kesalahan maka Anda mungkin berakhir dengan "shuffled" qubit.

Anda perlu memeriksa apa yang saya katakan secara eksperimental.

2) If one job is being executed on a device, say for instance using 3 qubits, is any other job being 
ran on that device at the same time?

Sepertinya tidak mungkin bagi saya tetapi mari kita tunggu jawaban dari salah satu pengembang Qiskit.

3) How many CNOT gates one circuit can have so that its error stays reasonable? Basically, how 
deep can a circuit be on any of the devices to get a reasonable result?

Sangat sedikit.

Q12Q13CX CX(1-0,041)nnCX10 CX0,66200,43

Awal
sumber
5

Saat memetakan sirkuit ke perangkat kuantum menggunakan Qiskit, pilihan mana qubit virtual (yang ada di sirkuit Anda) dipetakan ke mana qubit fisik (perangkat) tergantung pada apakah Anda membiarkan qiskit memutuskan atau Anda mengimplementasikannya initial_layout. Secara default, qiskit akan memilih subset yang paling terhubung dari grafik perangkat yang sesuai dengan sirkuit Anda. Qubit ini biasanya bukan qubit kebisingan terendah. Jika Anda ingin memilih qubit tertentu, Anda dapat meneruskan tata letak menggunakan initial_layoutargumen kata kunci ke salah satu executeatau compile. Perhatikan bahwa mungkin ada beberapa permutasi tambahan dari label qubit selama fase pemetaan swap, untuk menurunkan jumlah gerbang swap yang diperlukan, jika ada.

Paul Nation
sumber