Bagaimana menerapkan "akar kuadrat dari gerbang Swap" pada IBM Q (komposer)?

9

Saya ingin mensimulasikan algoritma kuantum di mana salah satu langkahnya adalah "akar kuadrat dari gerbang Swap" antara 2 qubit.

Bagaimana saya bisa menerapkan langkah ini menggunakan komposer IBM ?

JanVdA
sumber
Mungkin berguna untuk menggunakan gerbang swap sederhana sebagai "batu bata" untuk membangun akar kuadrat dari gerbang swap. Anda dapat mensimulasikan pada IBM Q dengan cara ini: cx q [1], q [0]; hq [0]; hq [1]; cx q [1], q [0]; hq [0]; hq [1]; cx q [1], q [0];
Berbaring Penari
1
@JanVdA Root kuadrat tidak unik. Sebenarnya, harus ada 2 ^ 4 = 16 kemungkinan akar. Yang mana yang kamu maksud?
Norbert Schuch
Siapa pun akan melakukannya untuk saya. Tidak ada preferensi untuk yang tertentu.
JanVdA

Jawaban:

9

Berikut ini adalah konstruksi SQRT (SWAP) yang hanya membutuhkan CNOT dalam satu arah, Hadamard, Gerbang ( ), Gerbang belati ( ), Gerbang T ( ) dan gerbang T belati ( ):Z12Z12Z14Z14

masukkan deskripsi gambar di sini

Anda harus dapat menyandikannya langsung ke komposer.

Craig Gidney
sumber
Bagaimana seseorang memperoleh ini dari prinsip pertama?
user1271772
@ user1271772 Manakah "prinsip pertama" itu?
Norbert Schuch
Saya tidak tahu bagaimana menerapkan dan menggunakan komposer IBM. Z - 1 / 2Z1/2Z1/2
JanVdA
@ user1271772 Saya mulai dengan sirkuit SWAP CNOT-NOTC-CNOT, mengganti CNOT tengah dengan C-sqrt (tidak) untuk membuat semuanya menjadi sqrt (SWAP), menguraikan C-srt (tidak) menjadi gerbang S + CNOT , memindahkan beberapa gerbang sampai aku berhasil membatalkan salah satu CNOT, kemudian menggunakan Hadamard untuk membalik arah CNOT yang menunjuk ke arah yang salah.
Craig Gidney
@JanVdA adalah , dan adalah (lihat gerbang biru di komposer). S Z - 1 / 2 S Z1/2SZ1/2S
Craig Gidney
2

Yang ingin Anda lakukan adalah rotasi pada subruang yang direntang oleh dan yang memutarnya dengan . Untuk tujuan ini, pertama-tama Anda dapat melakukan CNOT, yang memetakan subruang ini ke . Sekarang Anda perlu melakukan rotasi pada qubit pertama, dikondisikan pada qubit kedua menjadi satu. Melaksanakan gerbang terkontrol menggunakan CNOT adalah konstruksi standar, yang dapat ditemukan di berbagai tempat, lihat misalnya https://arxiv.org/abs/quant-ph/9503016 . Bergantung bagaimana Anda melakukan langkah ini, Anda mungkin harus memperbaiki fase "global" dari qubit pertama (mengingat ke-2 adalah ). Akhirnya, Anda harus membatalkan CNOT.| 10 |01|10 {| 01,| 11}X{|01,|11} U| 1XU|1

Norbert Schuch
sumber
Tidak jelas bagi saya 1) bagaimana Anda melakukan di komposer. 2) cara membatalkan CNOT di komposer 3) Anda menyebutkan gerbang-U yang dikontrol tetapi tidak jelas di mana mereka harus digunakan dalam algoritma. Saya pikir penjelasan langkah algoritma yang bijaksana akan sangat membantu untuk mengimplementasikan ini pada komposer IBM. X
JanVdA
@JanVdA Saya khawatir Anda harus melakukan beberapa pekerjaan sendiri untuk membiasakan diri dengan sirkuit kuantum dan manipulasi mereka. Kalau tidak, apa yang akan Anda lakukan setelah Anda tahu sirkuit untuk sqrt-SWAP?
Norbert Schuch
FYI: Saya telah menggunakan uraian sqrt-SWAP di atas untuk menguji solusi yang disarankan untuk quantumcomputing.stackexchange.com/questions/2209/… pada komposer IBM.
JanVdA
@ JanVdA Yang mana? Yang diterima? Yang itu hanya berbicara tentang SWAP yang dikendalikan. (Untuk itu: journals.aps.org/pra/abstract/10.1103/PhysRevA.53.2855 )
Norbert Schuch
Maaf saya merujuk pada solusi yang diterima untuk pertanyaan: mathoverflow.net/questions/301733/...
JanVdA
-1

Setiap gerbang 2-qubit memiliki "dekomposisi Paulinomial" yang berarti dapat ditulis sebagai polinomial dari matriks Pauli.

Untuk gerbang yang Anda inginkan:

SWAP=[1000012(1+i)12(1i)0012(1i)12(1+i)00001]=1i4(X1X2+Y1Y2+Z1Z2)+3+i2I,

di mana adalah gerbang diterapkan pada qubit .XiXith

pengguna1271772
sumber
OK, terima kasih atas jawabannya - Saya perlu belajar sedikit untuk mengetahui bagaimana saya bisa menerjemahkan ini ke IBM Composer.
JanVdA
@ JanVdA Ada apa? Tidak bisakah Anda menyeret dan menjatuhkan gerbang X, Y, dan Z ke sirkuit? Anda mungkin ingin mengajukan pertanyaan terpisah tentang cara melipatgandakan gerbang dengan konstanta.
user1271772
X1X2X1X2+Y1Y2I
X1X2XX
ZZ