Di mana kita meletakkan kode koreksi kesalahan di sirkuit kuantum?

11

Pertama-tama: Saya seorang pemula dalam komputasi kuantum.

Saya ingin memiliki sumber daya (atau jawaban jika tidak rumit) menjelaskan di mana kita meletakkan kode koreksi kesalahan dalam rangkaian kuantum.

Memang, saya tahu kami memiliki berbagai kesalahan yang mungkin terjadi (bit flip, phase flip dll), dan kami memiliki algoritma untuk memperbaikinya. Tapi yang ingin saya ketahui adalah jika ada beberapa strategi di mana kita menempatkan algoritma koreksi kesalahan. Apakah setelah setiap gerbang terlibat algoritma utama? Apakah ada strategi yang lebih cerdas yang digunakan untuk melakukan satu koreksi untuk satu set gerbang?

Jika jawabannya "rumit" Saya ingin memiliki sumber daya untuk mempelajari semua ini (saya menemukan banyak hal untuk kode koreksi kesalahan, tetapi saya belum menemukan apa pun tentang di mana kita harus melakukan koreksi).

StarBucK
sumber
4
Jadi pertanyaan Anda adalah tentang komputasi kuantum yang toleran terhadap kesalahan, kan? Maksud saya, Anda ingin tahu bagaimana koreksi kesalahan digunakan agar dapat menjalankan algoritma kuantum sedemikian rupa sehingga tidak ada kesalahan yang merusak output dari algoritma tersebut.
Josu Etxezarreta Martinez
1
@JosuEtxezarretaMartinez memang!
StarBucK
Jawaban singkatnya adalah: di mana-mana!
DaftWullie

Jawaban:

9

Berdasarkan pertanyaan Anda, saya pikir Anda tidak mencari istilah yang benar. Kode koreksi kesalahan adalah metode untuk mendeteksi dan memperbaiki kemungkinan kesalahan yang muncul dalam qubit karena efek dekoherensi.

Istilah komputasi kuantum toleran kesalahan mengacu pada paradigma perangkat kuantum yang bekerja secara efektif bahkan ketika komponen-komponen dasarnya tidak sempurna, dan kode koreksi kesalahan yang Anda cari adalah dasar untuk membangun jenis komputasi semacam itu. Saya mendorong Anda untuk mencari informasi yang berkaitan dengan toleransi kesalahan sendiri karena itu adalah area yang cukup besar dalam komputasi kuantum. Namun, saya sangat menyarankan Anda teks Perhitungan kuantum toleran-kesalahan oleh Preskill. Dalam makalah seperti itu, penulis memang mulai berbicara tentang kode koreksi kesalahan, tetapi setelah itu masuk jauh ke dalam konsep toleran kesalahan, dan saya pikir itu akan menyelesaikan banyak keraguan Anda tentang topik tersebut.

Josu Etxezarreta Martinez
sumber
6

Dalam komputasi kuantum yang toleran terhadap kesalahan, kami membuat perbedaan antara qubit fisik dan logis qubit .

nn qubit ini adalah qubit logis. Ketika kita meminta transformasi quantum Fourier pada kumpulan qubit, maka ini juga akan menjadi qubit logis. Kami mengharapkan qubit logis dan operasi yang kami lakukan pada mereka benar-benar bebas dari kesalahan, sama seperti yang kami lakukan dengan bit dan operasi di komputer normal.

Qubit fisik adalah yang benar-benar ada, dan mereka berisik. Inilah yang kami gunakan untuk membuat qubit logis, tetapi biasanya dibutuhkan banyak qubit fisik untuk membuat satu qubit logis. Ini karena redundansi besar yang diperlukan untuk dapat mendeteksi dan memperbaiki kesalahan.

Desain kode aktual dijalankan pada qubit fisik akan terjadi berlapis-lapis. Seorang insinyur perangkat lunak koreksi kesalahan kuantum akan merancang qubit logis dengan menulis program yang diperlukan untuk mengimplementasikan kode koreksi kesalahan kuantum. Untuk setiap operasi yang mungkin diperlukan seseorang dalam suatu algoritma, mereka akan merancang versi yang kompatibel dengan koreksi kesalahan, yang melakukan operasi pada qubit logis dengan cara yang memungkinkan ketidaksempurnaannya terdeteksi dan diperbaiki.

Kemudian programmer akan datang dan menulis program mereka. Mereka tidak perlu memikirkan qubit fisik atau koreksi kesalahan sama sekali.

Akhirnya, kompiler akan menggabungkan semuanya untuk membuat versi program yang toleran terhadap kesalahan untuk dijalankan pada qubit fisik. Ini tidak akan seperti apa yang ditulis oleh programmer. Itu tidak akan terlihat seperti pergantian hal-hal yang ditulis oleh programmer, diikuti oleh hal-hal koreksi kesalahan untuk membersihkannya. Ini akan hampir sepenuhnya berurusan dengan hanya mendeteksi dan memperbaiki kesalahan yang terus-menerus terjadi, dengan gangguan kecil untuk mengimplementasikan algoritma.

Sebagai referensi, saya kira yang terbaik adalah merekomendasikan sesuatu yang menjelaskan bagaimana operasi pada qubit logis diimplementasikan pada qubit fisik melalui kode koreksi kesalahan. Salah satu makalah saya sendiri melakukan pekerjaan ini, dengan menjelaskan ini untuk berbagai cara untuk mendapatkan operasi logis dalam kode permukaan. Ini juga memiliki referensi ke banyak karya oleh orang lain di area yang sama.

James Wootton
sumber