Bagikan melalui


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. Quantum gate: 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 beberapa 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 informasi klasik input dan output.

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 di 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 dikembalikan 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 $unitary dua kubit B$ dapat didefinisikan menjadi $(H S\otimes X)$, sehingga sirkuit kuantum yang setara adalah sebagai berikut:

Diagram sirkuit dari operasi unitary 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 Quantum 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 satu nilai qubit 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 dikendalikan dengan nyanyian.

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 klasik, 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)\ket{00}=\frac{1}{\sqrt{2}}\left(\ket{{00} + \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 kubit 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 Quantum 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 dihubungi disebut qubit pesan. Alice dan Bob memegang masing-masing 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 q0 adalah qubit pesan, qubit register q1 adalah qubit Alice, dan qubit register q2 adalah qubit Bob. Qubit pesan dalam keadaan tidak diketahui, dan qubit Alice dan Bob berada dalam $\ket{0}$ status .
  2. Gerbang Hadamard diterapkan pada qubit Alice. Karena qubit dalam $\ket{0}$ keadaan, status yang dihasilkan adalah $\frac{1}{\sqrt{{2}}(\ket{{0} + \ket{1})$.
  3. Gerbang CNOT diterapkan pada qubit Alice dan Bob. Qubit Alice adalah qubit 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 diterapkan ke qubit pesan.
  6. Alice mengukur dua qubit-nya dan memberi tahu hasil pengukuran kepada Bob, yang tidak tercermin dalam sirkuit. Hasil pengukuran adalah dua bit klasik, yang dapat mengambil nilai 00, 01, 10, atau 11.
  7. Dua gerbang Pauli X dan Z yang dikontrol secara klasifikasi diterapkan pada qubit Bob, tergantung pada bit hasil menjadi nilai $1$. Status yang dihasilkan adalah status qubit pesan asli.