Circuit
Dalam ilmu komputer, circuit adalah model komputasi di mana informasi dibawa oleh kabel (wire) melalui jaringan gate, yang merepresentasikan operasi pada informasi yang dibawa kabel. Quantum circuit adalah model komputasi spesifik berdasarkan konsep yang lebih umum ini.
Meski kata "circuit" sering mengacu pada jalur melingkar, jalur melingkar sebenarnya tidak diizinkan dalam model circuit komputasi yang paling umum dipelajari. Artinya, kita biasanya mempertimbangkan acyclic circuit ketika memikirkan circuit sebagai model komputasi. Quantum circuit mengikuti pola ini; quantum circuit merepresentasikan urutan operasi terbatas yang tidak dapat mengandung putaran umpan balik.
Circuit Booleanβ
Berikut adalah contoh dari circuit Boolean (klasik), di mana kabel membawa nilai biner dan gate merepresentasikan operasi logika Boolean:
Aliran informasi sepanjang kabel mengalir dari kiri ke kanan: kabel di sisi kiri gambar yang berlabel dan adalah bit masukan, yang masing-masing dapat diatur ke nilai biner apa pun yang kita pilih, dan kabel di sisi kanan adalah keluaran. Kabel antara mengambil nilai apa pun yang ditentukan oleh gate, yang dievaluasi dari kiri ke kanan.
Gate-nya adalah gate AND (berlabel ), gate OR (berlabel ), dan gate NOT (berlabel ). Fungsi yang dihitung oleh gate-gate ini mungkin sudah familiar bagi banyak pembaca, tetapi berikut ini direpresentasikan dalam tabel nilai:
Dua lingkaran kecil berisi pada kabel tepat di sebelah kanan nama dan merepresentasikan operasi fan-out, yang sekadar membuat salinan dari nilai apa pun yang dibawa pada kabel tempat mereka muncul, memungkinkan nilai ini dimasukkan ke beberapa gate. Operasi fan-out tidak selalu dianggap sebagai gate dalam pengaturan klasik; terkadang diperlakukan seolah-olah "gratis" dalam arti tertentu. Namun ketika circuit Boolean dikonversi menjadi quantum circuit yang setara, kita memang perlu mengklasifikasikan operasi fan-out secara eksplisit sebagai gate untuk menangani dan memperhitungkannya dengan benar.
Berikut adalah circuit yang sama yang diilustrasikan dalam gaya yang lebih umum dalam teknik elektro, yang menggunakan simbol konvensional untuk gate AND, OR, dan NOT:
Kita tidak akan menggunakan gaya ini atau simbol gate tertentu ini lebih lanjut, tetapi kita akan menggunakan simbol yang berbeda untuk merepresentasikan gate dalam quantum circuit, yang akan kita jelaskan saat kita menemuinya.
Circuit tertentu dalam contoh ini menghitung exclusive-OR (atau XOR singkatnya), yang dilambangkan dengan simbol :
Pada diagram berikutnya kita mempertimbangkan hanya satu pilihan untuk masukan: dan Setiap kabel diberi label nilai yang dibawanya sehingga kamu dapat mengikuti operasinya. Nilai keluarannya adalah dalam kasus ini, yang merupakan nilai yang benar untuk XOR:
Ketiga pengaturan masukan yang mungkin lainnya dapat diperiksa dengan cara yang serupa.
Jenis circuit lainnyaβ
Seperti yang disarankan di atas, gagasan tentang circuit dalam ilmu komputer sangat umum. Misalnya, circuit yang kabelnya membawa nilai selain dan terkadang dianalisis, begitu juga gate yang merepresentasikan pilihan operasi yang berbeda.
Dalam circuit aritmatika, misalnya, kabel dapat membawa nilai integer sementara gate merepresentasikan operasi aritmatika, seperti penjumlahan dan perkalian. Gambar berikut menggambarkan circuit aritmatika yang mengambil dua nilai masukan variabel ( dan ) serta masukan ketiga yang diatur ke nilai Nilai yang dibawa oleh kabel, sebagai fungsi dari nilai dan ditunjukkan dalam gambar.
Kita juga dapat mempertimbangkan circuit yang menggabungkan keacakan, seperti yang gate-nya merepresentasikan operasi probabilistik.
Quantum circuitβ
Dalam model quantum circuit, kabel merepresentasikan qubit dan gate merepresentasikan operasi pada qubit-qubit ini. Kita akan fokus untuk saat ini pada operasi yang telah kita temui sejauh ini, yaitu operasi uniter dan pengukuran basis standar. Saat kita mempelajari jenis operasi kuantum dan pengukuran lainnya, kita dapat meningkatkan model kita sesuai kebutuhan.
Berikut adalah contoh sederhana dari quantum circuit:
Dalam circuit ini, kita memiliki satu qubit bernama yang direpresentasikan oleh garis horizontal, dan urutan gate yang merepresentasikan operasi uniter pada qubit ini. Sama seperti contoh di atas, aliran informasi mengalir dari kiri ke kanan β jadi operasi pertama yang dilakukan adalah operasi Hadamard, kedua adalah operasi , ketiga adalah operasi Hadamard lainnya, dan operasi terakhir adalah operasi . Menerapkan seluruh circuit karenanya menerapkan komposisi operasi-operasi ini, pada qubit
Terkadang kita mungkin ingin secara eksplisit menunjukkan keadaan masukan atau keluaran dari circuit. Misalnya, jika kita menerapkan operasi pada keadaan kita mendapatkan keadaan Ini dapat ditunjukkan sebagai berikut:
Quantum circuit sering dimulai dengan semua qubit diinisialisasi ke seperti yang kita miliki dalam kasus ini, tetapi ada juga situasi di mana qubit masukan awalnya diatur ke keadaan yang berbeda. Berikut adalah contoh lain dari quantum circuit, kali ini dengan dua qubit:
Seperti biasa, gate berlabel mengacu pada operasi Hadamard, sedangkan gate kedua adalah operasi controlled-NOT: lingkaran berisi merepresentasikan qubit kontrol dan lingkaran yang menyerupai simbol menunjukkan qubit target.
Sebelum memeriksa circuit ini secara lebih rinci dan menjelaskan apa yang dilakukannya, sangat penting bahwa kita terlebih dahulu mengklarifikasi bagaimana qubit dipesan dalam quantum circuit. Ini terhubung dengan konvensi yang digunakan Qiskit untuk penamaan dan pengurutan sistem yang disebutkan secara singkat di pelajaran sebelumnya.
Dalam Qiskit, qubit paling atas dalam diagram circuit memiliki indeks dan bersesuaian dengan posisi paling kanan dalam tuple qubit (atau dalam string, produk Cartesian, atau produk tensor yang bersesuaian dengan tuple ini), qubit kedua dari atas memiliki indeks dan bersesuaian dengan posisi kedua dari kanan dalam tuple, dan seterusnya. Qubit paling bawah, yang memiliki indeks tertinggi, karenanya bersesuaian dengan posisi paling kiri dalam sebuah tuple. Khususnya, nama default Qiskit untuk qubit dalam circuit -qubit direpresentasikan oleh -tuple dengan menjadi qubit di bagian atas dan di bagian bawah dalam diagram quantum circuit.
Perhatikan bahwa ini adalah pembalikan konvensi yang lebih umum untuk memesan qubit dalam circuit, dan merupakan sumber kebingungan yang sering terjadi. Informasi lebih lanjut tentang konvensi pengurutan ini dapat ditemukan di halaman dokumentasi Bit-ordering in Qiskit.
Meskipun kita terkadang menyimpang dari nama default spesifik yang digunakan untuk qubit oleh Qiskit, kita akan selalu mengikuti konvensi pengurutan yang dijelaskan di atas saat menginterpretasikan diagram circuit sepanjang kursus ini. Dengan demikian, interpretasi kita dari circuit di atas adalah bahwa ia menggambarkan operasi pada sepasang qubit Jika masukan ke circuit adalah keadaan kuantum misalnya, maka artinya qubit bawah dimulai dalam keadaan dan qubit atas dimulai dalam keadaan
Untuk memahami apa yang dilakukan circuit, kita dapat melewatinya dari kiri ke kanan melalui operasinya.
-
Operasi pertama adalah operasi Hadamard pada :
Ketika menerapkan gate pada qubit tunggal seperti ini, tidak ada yang terjadi pada qubit lainnya (yang hanya satu qubit lain dalam kasus ini). Tidak ada yang terjadi setara dengan operasi identitas yang dilakukan. Persegi panjang bertitik-titik dalam gambar di atas karenanya merepresentasikan operasi ini:
Perhatikan bahwa matriks identitas ada di sebelah kiri produk tensor dan ada di sebelah kanan, yang konsisten dengan konvensi pengurutan Qiskit.
-
Operasi kedua adalah operasi controlled-NOT, di mana adalah kontrol dan adalah target:
Aksi gate controlled-NOT pada keadaan basis standar adalah sebagai berikut:
Mengingat bahwa kita memesan qubit sebagai dengan di bagian bawah dan di bagian atas circuit kita, representasi matriks dari gate controlled-NOT adalah ini:
Operasi uniter yang diimplementasikan oleh seluruh circuit, yang akan kita beri nama adalah komposisi dari operasi-operasi:
Khususnya, mengingat notasi kita untuk keadaan Bell,
kita menemukan bahwa
Circuit ini karenanya memberi kita cara untuk membuat keadaan jika kita menjalankannya pada dua qubit yang diinisialisasi ke Secara lebih umum, ini memberi kita cara untuk mengubah basis standar ke basis Bell. (Perhatikan bahwa, meski tidak penting untuk contoh ini, faktor fase pada keadaan terakhir, dapat dihilangkan jika kita mau dengan melakukan sedikit tambahan pada circuit. Misalnya, kita bisa menambahkan gate controlled- di awal, yang mirip dengan gate controlled-NOT kecuali operasi diterapkan pada qubit target daripada operasi NOT ketika kontrol diatur ke Sebagai alternatif, kita bisa menambahkan gate swap di akhir. Kedua pilihan menghilangkan tanda minus tanpa mempengaruhi aksi circuit pada tiga keadaan basis standar lainnya.)
Secara umum, quantum circuit dapat berisi sejumlah kabel qubit. Kita juga dapat menyertakan kabel bit klasik, yang ditunjukkan oleh garis ganda, seperti dalam contoh ini:
Di sini kita memiliki gate Hadamard dan gate controlled-NOT pada dua qubit dan sama seperti contoh sebelumnya. Kita juga memiliki dua bit klasik, dan serta dua gate pengukuran. Gate pengukuran merepresentasikan pengukuran basis standar: qubit diubah ke keadaan pasca-pengukuran mereka, sementara hasil pengukuran ditimpa ke bit klasik yang ditunjuk oleh panah.
Sering kali nyaman untuk menggambarkan pengukuran sebagai gate yang mengambil qubit sebagai masukan dan menghasilkan bit klasik (sebagai lawan dari menghasilkan qubit dalam keadaan pasca-pengukurannya dan menuliskan hasilnya ke bit klasik terpisah). Ini berarti qubit yang diukur telah dibuang dan dapat diabaikan dengan aman setelahnya, keadaannya telah berubah menjadi atau tergantung pada hasil pengukuran.
Misalnya, diagram circuit berikut merepresentasikan proses yang sama dengan yang ada di diagram sebelumnya, tetapi di mana kita mengabaikan dan setelah mengukurnya:
Seiring kursus berlanjut, kita akan melihat lebih banyak contoh quantum circuit, yang biasanya lebih kompleks dari contoh sederhana di atas. Berikut adalah beberapa contoh simbol yang digunakan untuk menunjukkan gate yang sering muncul dalam diagram circuit:
-
Gate qubit tunggal umumnya ditampilkan sebagai kotak dengan huruf yang menunjukkan operasi apa itu, seperti ini:
Gate NOT (atau setara, gate ) juga terkadang dilambangkan dengan lingkaran di sekitar tanda plus:
-
Gate swap dilambangkan sebagai berikut:
-
Gate terkontrol, yaitu gate yang menggambarkan operasi controlled-unitary, dilambangkan dengan lingkaran berisi (menunjukkan kontrol) yang terhubung oleh garis vertikal ke operasi apa pun yang dikendalikan. Misalnya, gate controlled-NOT, gate controlled-controlled-NOT (atau Toffoli), dan gate controlled-swap (Fredkin) dilambangkan seperti ini:
-
Operasi uniter sembarang pada beberapa qubit dapat dipandang sebagai gate. Operasi tersebut digambarkan dengan persegi panjang yang diberi label nama operasi uniter. Misalnya, berikut adalah penggambaran operasi uniter (tidak ditentukan) sebagai gate, bersama dengan versi terkontrol dari gate ini: