Pertama, komputer klasik melakukan matematika dasar pada tingkat perangkat keras di unit aritmatika dan logika (ALU). Gerbang logika mengambil tegangan input rendah dan tinggi dan menggunakan CMOS untuk mengimplementasikan gerbang logika yang memungkinkan gerbang individu dilakukan dan dibangun untuk melakukan operasi yang lebih besar dan lebih rumit. Dalam hal ini, mengetik pada keyboard mengirim sinyal listrik, yang akhirnya berakhir dengan perintah (dalam bentuk lebih banyak sinyal listrik) dikirim ke ALU, operasi yang benar dilakukan dan lebih banyak sinyal dikirim kembali, yang kemudian dikonversi menjadi menampilkan piksel dalam bentuk angka di layar Anda.
Bagaimana dengan komputer kuantum?
Ada dua cara yang memungkinkan prosesor kuantum digunakan: sendiri, atau bersamaan dengan prosesor klasik. Namun, sebagian besar (termasuk contoh superkonduktor Anda) prosesor kuantum tidak benar-benar menggunakan sinyal listrik, meskipun ini masih bagaimana mouse, keyboard, dan monitor Anda, dll. Mengirim dan menerima informasi. Jadi, perlu ada cara untuk mengubah sinyal listrik menjadi sinyal apa pun yang digunakan prosesor kuantum (yang akan saya bahas nanti), serta beberapa cara untuk memberi tahu prosesor apa yang ingin Anda lakukan. Kedua masalah ini dapat diselesaikan sekaligus dengan pra-dan pasca-pemrosesan klasik, seperti dalam QISKit IBM . Microsoft mengambil sedikit lebih banyak dari pendekatan top-down di Q #, di mana program untuk prosesor kuantum ditulis lebih seperti program 'klasik', bukan skrip, kemudian dikompilasi dan berpotensi dioptimalkan untuk perangkat keras. Artinya, jika Anda memiliki fungsi, ia dapat melakukan operasi klasik, serta membuat panggilan ke prosesor kuantum untuk melakukan operasi kuantum yang diperlukan. Ini menuntun saya ke poin pertama:
2+3
OK, katakanlah Anda memaksa prosesor klasik untuk menggunakan prosesor kuantum, yang dalam hal ini adalah salah satu chip superkonduktor IBM, menggunakan qubit transmon , katakanlah, IBM QX4 . Ini terlalu kecil untuk koreksi kesalahan, jadi mari kita abaikan itu. Ada tiga bagian untuk menggunakan prosesor model sirkuit: inisialisasi, evolusi kesatuan dan pengukuran, yang dijelaskan secara lebih rinci di bawah ini. Sebelum itu,
Apa itu transmon?
EJ=IcΦ0/2π Φ0=h/2eIcVgCgEC=(2e)2/2CC
H=EC(n−ng)2−EJcosϕ,
nϕng=CgVg/2e|n⟩=|0⟩|n⟩=|1⟩E0=ℏω0E1=ℏω1ω=ω1−ω0EC=5EJEJ≫EC
Akhirnya , kita sampai pada pertanyaan utama:
Bagaimana kita menginisialisasi, mengembangkan, dan mengukur transmon?
Menambahkan 2 dan 3 sekarang menjadi masalah 'sederhana' untuk menginisialisasi qubit, melakukan gerbang yang setara dengan adder klasik yang dapat dibalik dan mengukur hasilnya, semua diimplementasikan secara otomatis. Hasil pengukuran kemudian dikembalikan oleh komputer klasik seperti biasa.
Sebagai bonus , sepertinya tidak ada gunanya melewati semua itu untuk mengimplementasikan gerbang yang bisa dilakukan pada komputer klasik, jadi ternyata mungkin untuk menerapkan kira-kira penguat kuantum , yang menambahkan dua kuantum (sebagai lawan ke klasik) menyatakan, dengan beberapa kesalahan, pada salah satu prosesor IBM.