Kode CSS
Kode linear klasikβ
Kode koreksi kesalahan klasik pertama kali dipelajari pada tahun 1940-an, dan sekarang sudah banyak kode yang diketahui, di mana kode yang paling umum dipelajari dan digunakan masuk ke dalam kategori yang disebut kode linear. Kita akan melihat arti kata "linear" dalam konteks ini sebentar lagi, tapi cara sederhana untuk menjelaskan kode linear saat ini adalah bahwa mereka adalah kode stabilizer yang kebetulan bersifat klasik. Kode CSS pada dasarnya adalah pasangan kode linear klasik yang digabungkan untuk membentuk kode koreksi kesalahan kuantum. Jadi, demi pembahasan berikut ini, kita perlu memahami beberapa hal dasar tentang kode linear klasik.
Misalkan adalah alfabet biner untuk seluruh pembahasan ini. Ketika kita menyebut kode linear klasik, yang kita maksud adalah himpunan non-kosong dari string biner dengan panjang untuk suatu bilangan bulat positif yang harus memenuhi satu sifat dasar: jika dan adalah string biner dalam maka string juga ada dalam Di sini, mengacu pada exclusive-OR bitwise dari dan seperti yang kita temui berkali-kali dalam kursus "Fundamentals of quantum algorithms".
Pada intinya, ketika kita menyebut kode koreksi kesalahan klasik sebagai linear, kita memikirkan string biner dengan panjang sebagai vektor berdimensi di mana entri-entrinya adalah atau dan mengharuskan kode itu sendiri membentuk subruang linear. Namun, alih-alih penjumlahan vektor biasa atas bilangan real atau kompleks, kita menggunakan penjumlahan modulo yang merupakan exclusive-OR. Artinya, jika kita punya dua codeword dan yang berarti dan adalah string biner dalam maka modulo 2, yaitu juga harus menjadi codeword dalam Perhatikan, khususnya, bahwa implikasi ini harus benar bahkan jika Ini berarti harus menyertakan string all-zero karena exclusive-OR bitwise dari string apapun dengan dirinya sendiri adalah string all-zero.
Contoh: kode repetisi 3-bitβ
Kode repetisi 3-bit adalah contoh kode linear klasik. Secara khusus, kita punya jadi, berkaitan dengan kondisi linearitas, hanya ada dua pilihan untuk dan dua pilihan untuk Mudah untuk menelusuri keempat pasangan yang mungkin dan melihat bahwa kita selalu mendapatkan codeword ketika mengambil exclusive-OR bitwise:
Contoh: kode -Hammingβ
Ini adalah contoh lain dari kode linear klasik yang disebut kode -Hamming. Ini adalah salah satu kode koreksi kesalahan klasik pertama yang pernah ditemukan, dan terdiri dari 16 string biner dengan panjang 7. (Terkadang kode -Hamming dipahami sebagai kode dengan string-string ini dibalik, tapi kita akan menggunakannya sebagai kode yang memuat string-string yang ditampilkan di sini.)
Ada logika yang sangat sederhana di balik pemilihan string-string ini, tapi itu adalah hal sekunder dari pelajaran dan tidak akan dijelaskan di sini. Untuk sekarang, cukup untuk mengamati bahwa ini adalah kode linear klasik: meng-XOR dua string manapun dari string-string ini akan selalu menghasilkan string lain yang ada dalam kode.
Notasi (dalam tanda kurung siku tunggal) memiliki arti yang analog dengan notasi tanda kurung siku ganda untuk kode stabilizer yang disebutkan dalam pelajaran sebelumnya, tapi di sini untuk kode linear klasik. Secara khusus, codeword memiliki bit, kita bisa mengenkode bit menggunakan kode (karena ada codeword), dan kebetulan ini adalah kode jarak yang berarti dua codeword yang berbeda harus berbeda setidaknya di posisi β jadi setidaknya bit harus dibalik untuk mengubah satu codeword menjadi codeword lain. Fakta bahwa ini adalah kode jarak berarti kode ini bisa mengoreksi hingga satu kesalahan bit-flip.
Mendeskripsikan kode linear klasikβ
Contoh-contoh yang baru saja disebutkan adalah contoh sangat sederhana dari kode linear klasik, tapi bahkan kode -Hamming terlihat agak misterius ketika codeword-nya hanya didaftarkan. Ada cara yang lebih baik dan lebih efisien untuk mendeskripsikan kode linear klasik, termasuk dua cara berikut.
-
Generator. Satu cara untuk mendeskripsikan kode linear klasik adalah dengan daftar minimal codeword yang menghasilkan kode tersebut, artinya dengan mengambil semua subset yang mungkin dari codeword-codeword ini dan meng-XOR mereka bersama, kita mendapatkan seluruh kode.
Lebih rinci, string menghasilkan kode linear klasik jika