Konvensi diagram sirkuit kuantum

Terkadang algoritma kuantum lebih mudah dipahami dalam diagram sirkuit daripada dalam representasi matriks tertulis yang setara. Artikel ini menjelaskan cara membaca diagram sirkuit kuantum dan konvensinya.

Untuk informasi selengkapnya, lihat Cara memvisualisasikan diagram sirkuit kuantum.

Membaca diagram sirkuit kuantum

Dalam sirkuit kuantum, waktu mengalir dari kiri ke kanan. Gerbang kuantum diurutkan dalam urutan kronologis dengan gerbang paling kiri sebagai gerbang pertama kali diterapkan pada qubit.

Ambil diagram sirkuit kuantum berikut sebagai contoh:

Diagram sirkuit kuantum dengan dua register, satu gerbang hadamard, satu gerbang terkontrol dan satu pengukuran.

  1. Qubit register: Qubit register ditampilkan sebagai garis horizontal, dengan setiap baris mewakili qubit. Baris atas adalah qubit register berlabel 0, baris kedua adalah qubit register berlabel 1, dan sebagainya.
  2. Gerbang kuantum: Operasi kuantum diwakili oleh gerbang kuantum. Ketentuan gerbang kuantum sejalan dengan gerbang logika klasik. Gerbang yang bertindak pada satu atau lebih register qubit dilambangkan sebagai kotak. Dalam contoh ini, simbol mewakili operasi Hadamard.
  3. Gerbang terkontrol: Gerbang terkontrol bertindak pada dua atau lebih qubit. Dalam contoh ini, simbol mewakili gerbang CNOT. Lingkaran hitam mewakili qubit kontrol, dan salib dalam lingkaran mewakili target qubit.
  4. Operasi pengukuran: Simbol meter mewakili operasi pengukuran. Operasi pengukuran mengambil register qubit sebagai input dan output informasi klasik.

Menerapkan gerbang kuantum

Karena waktu mengalir dari kiri ke kanan, gerbang paling kiri diterapkan terlebih dahulu Misalnya, tindakan sirkuit kuantum berikut adalah CBA$ matriks $uniter.

Diagram gerbang kuantum yang diterapkan kiri-ke-kanan dalam sirkuit kuantum.

Catatan

Perkalian matriks mematuhi konvensi yang berlawanan: matriks paling kanan diterapkan terlebih dahulu. Namun, dalam diagram sirkuit kuantum, gerbang paling kiri diterapkan terlebih dahulu. Perbedaan ini terkadang dapat menyebabkan kebingungan, jadi perbedaan yang signifikan antara notasi aljabar linier dan diagram sirkuit kuantum ini penting untuk dicatat.

Input dan output sirkuit kuantum

Dalam diagram sirkuit kuantum, kabel yang memasuki gerbang kuantum mewakili qubit yang dimasukkan ke gerbang kuantum, dan kabel yang keluar dari gerbang kuantum mewakili qubit yang merupakan output dari gerbang kuantum.

Jumlah input gerbang kuantum sama dengan jumlah output gerbang kuantum. Ini karena operasi kuantum bersifat uniter dan karenanya dapat dibalik. Jika gerbang kuantum memiliki lebih banyak output daripada input, itu tidak akan dapat dibalik dan karenanya bukan unitary, yang merupakan kontradiksi.

Untuk alasan ini, setiap kotak yang digambar dalam diagram sirkuit harus memiliki jumlah kabel masuk yang sama persis dengan kabel keluar.

Operasi multi-qubit

Diagram sirkuit multi-qubit mengikuti konvensi serupa dengan qubit tunggal. Misalnya, operasi $uniter dua kubit B$ dapat didefinisikan menjadi $(H S\otimes X)$, sehingga sirkuit kuantum yang setara adalah sebagai berikut:

Diagram sirkuit dari operasi uniter dua kubit.

Anda juga dapat melihat $B$ sebagai memiliki tindakan pada register dua qubit tunggal daripada dua register satu qubit bergantung pada konteks saat sirkuit digunakan.

Mungkin properti yang paling berguna dari diagram sirkuit abstrak tersebut adalah bahwa mereka memungkinkan algoritma kuantum yang rumit untuk dijelaskan pada tingkat tinggi tanpa harus mengompilasinya ke gerbang fundamental. Ini berarti bahwa Anda bisa mendapatkan intuisi tentang aliran data untuk algoritma kuantum besar tanpa perlu memahami semua detail tentang cara masing-masing subrutinitas dalam algoritma bekerja.

Gerbang yang dikendalikan

Gerbang terkontrol kuantum adalah gerbang dua qubit yang menerapkan gerbang qubit tunggal ke target qubit jika qubit kontrol dalam keadaan tertentu.

Misalnya, pertimbangkan gerbang yang dikontrol kuantum, ditandai $\Lambda(G)$, di mana nilai qubit tunggal mengontrol aplikasi $operasi G$ ,. Gerbang $\Lambdaterkontrol (G)$ dapat dipahami dengan melihat contoh input status produk berikut:

$\Lambda(G) (\alpha\ket{{0} + \beta\ket{1}) \ket{\psi}=\alpha\ket{{0}\ket{\psi} + \beta\ket{{1} G\ket{\psi}$

Artinya, gerbang terkontrol menerapkan $G$ ke register yang berisi $\psi$ jika dan hanya jika qubit kontrol mengambil nilai $1$. Secara umum, operasi terkontrol tersebut dijelaskan dalam diagram sirkuit dengan simbol berikut:

Diagram sirkuit gerbang yang dikontrol dengan sesuka hati.

Di sini, lingkaran hitam menunjukkan bit kuantum di mana gerbang dikendalikan dan kabel vertikal menunjukkan kesatuan yang diterapkan saat qubit kontrol mengambil nilai $1$.

Untuk kasus khusus di mana $G=X$ dan $G=Z$, notasi berikut digunakan untuk menjelaskan versi gerbang yang dikontrol (perhatikan bahwa gerbang controlled-X adalah gerbang CNOT):

Diagram sirkuit untuk kasus khusus gerbang terkontrol.

Q# menyediakan metode untuk secara otomatis menghasilkan versi operasi yang terkontrol, yang membuat programmer tidak harus membuat kode operasi ini secara manual. Contohnya ditunjukkan di bawah ini:

operation PrepareSuperposition(qubit : Qubit) : Unit
is Ctl { // Auto-generate the controlled specialization of the operation
    H(qubit);
}

Gerbang yang dikontrol secara klasifikasi

Gerbang kuantum juga dapat diterapkan setelah pengukuran, di mana hasil pengukuran bertindak sebagai bit kontrol klasik.

Simbol berikut mewakili gerbang yang dikontrol secara klasifikasi, di mana $G$ diterapkan dikondisikan pada bit kontrol klasik menjadi nilai 1:$$

Diagram sirkuit yang mewakili operasi terkontrol.

Operator pengukuran

Operasi pengukuran mengambil register qubit, mengukurnya, dan menghasilkan hasilnya sebagai informasi klasik.

Operasi pengukuran dilambangkan dengan simbol meter dan selalu mengambil sebagai input register qubit (dilambangkan dengan garis padat) dan menghasilkan informasi klasik (dilambangkan dengan garis ganda). Secara khusus, simbol operasi pengukuran terlihat seperti:

Simbol yang mewakili operasi pengukuran.

Dalam Q#, Measure operator menerapkan operasi pengukuran.

Contoh: Transformasi kesatuan

Pertimbangkan transformasi kesatuan $\text{ CNOT}_{01}(H\otimes 1)$. Urutan gerbang ini sangat penting bagi komputasi kuantum karena menciptakan keadaan dua qubit yang terikat secara maksimal:

$\mathrm{CNOT}_{01}(H\otimes 1)\left=\ket{00}\frac{1}{\sqrt{2}}({00}\ket{ + ), \ket{11}\right$

Operasi dengan kompleksitas ini atau lebih besar ada di mana-mana dalam algoritma kuantum dan koreksi kesalahan kuantum.

Diagram sirkuit untuk mempersiapkan keadaan kuantum yang terikat secara maksimal ini adalah:

Diagram sirkuit untuk status dua qubit yang terjerat maksimal.

Simbol di belakang gerbang Hadamard mewakili gerbang CNOT, di mana lingkaran hitam menunjukkan qubit kontrol dan salib dalam lingkaran menunjukkan target qubit. Sirkuit kuantum ini digambarkan sebagai bertindak pada dua qubit (atau setara dengan dua register yang terdiri dari satu qubit).

Contoh: Diagram sirkuit teleportasi

Teleportasi kuantum adalah salah satu algoritma kuantum terbaik untuk mengilustrasikan komponen sirkuit.

Teleportasi kuantum adalah protokol yang memungkinkan status kuantum ditransmisikan dari satu qubit ke qubit lainnya, dengan bantuan status terjerat bersama antara pengirim dan penerima, dan komunikasi klasik di antara mereka.

Untuk tujuan pembelajaran, pengirim disebut Alice, penerima disebut Bob, dan qubit yang akan di teleportasi disebut qubit pesan. Alice dan Bob masing-masing memegang satu qubit, dan Alice memiliki qubit tambahan yang merupakan qubit pesan.

Diagram sirkuit berikut mengilustrasikan protokol teleportasi:

Diagram sirkuit kuantum protokol teleportasi.

Mari kita uraikan langkah-langkah protokol teleportasi:

  1. Qubit register berlabel 0 adalah qubit pesan, qubit register berlabel 1 adalah qubit Alice, dan qubit register berlabel 2 adalah qubit Bob. Qubit pesan dalam keadaan tidak diketahui, dan qubit Alice dan Bob berada dalam status $\ket{0}$ .
  2. Gerbang $Hadamard H$ diterapkan pada qubit Alice. Karena qubit dalam $\ket{0}$ status , status yang dihasilkan adalah $\frac{1}{\sqrt{{2}}(\ket{{0} + \ket{1})$.
  3. Gerbang CNOT diterapkan pada qubit Alice dan Bob. Qubit Alice adalah kubit kontrol, dan qubit Bob adalah target qubit. Status yang dihasilkan adalah $\frac{{1}{\sqrt{2}}(\ket{00} + \ket{{11})$. Alice dan Bob sekarang berbagi keadaan terjerat.
  4. Gerbang CNOT diterapkan ke qubit pesan dan qubit Alice. Karena kubit Alice juga terjerat dengan kubit Bob, status yang dihasilkan adalah status terjerat tiga kubit.
  5. Gerbang $Hadamard H$ diterapkan ke qubit pesan.
  6. Alice mengukur dua qubit-nya dan mengkomunikasikan hasil pengukuran kepada Bob - ini tidak tercermin dalam sirkuit. Hasil pengukuran adalah dua bit klasik, yang dapat mengambil nilai 00, 01, 10, atau 1
  7. Dua gerbang Pauli yang dikontrol secara klasifikasi diterapkan pada qubit Bob, tergantung pada bit hasilnya menjadi nilai $1$. Status yang dihasilkan adalah status qubit pesan asli.

Langkah berikutnya