Kode stabilizer
Sekarang kita akan mendefinisikan kode stabilizer secara umum. Kita juga akan membahas beberapa sifat dasarnya dan cara kerjanya, termasuk bagaimana state bisa diencode dan bagaimana error dideteksi serta dikoreksi menggunakan kode-kode ini.
Definisi kode stabilizer
Sebuah kode stabilizer -Qubit ditentukan oleh daftar operasi Pauli -Qubit, Operasi-operasi ini disebut generator stabilizer dalam konteks ini, dan harus memenuhi tiga sifat berikut.
-
Generator stabilizer semuanya komutatif satu sama lain.
-
Generator stabilizer membentuk himpunan penghasil minimal.
-
Setidaknya ada satu vektor state kuantum yang ditetapkan oleh semua generator stabilizer.
(Mungkin tidak langsung terlihat bahwa keberadaan vektor state kuantum yang ditetapkan oleh semua generator stabilizer, yaitu setara dengan namun memang demikian adanya, dan kita akan melihat alasannya sedikit lebih lanjut dalam pelajaran ini.)
Dengan asumsi kita punya daftar seperti itu, ruang kode yang didefinisikan oleh generator stabilizer ini adalah subruang yang memuat setiap vektor state kuantum -Qubit yang ditetapkan oleh semua generator stabilizer ini.
Vektor state kuantum dalam subruang ini adalah tepat vektor yang bisa dipandang sebagai encoding valid dari state kuantum. Kita akan membahas proses encoding yang sebenarnya nanti.
Akhirnya, stabilizer dari kode yang didefinisikan oleh generator stabilizer adalah himpunan yang dihasilkan oleh operasi-operasi ini:
Cara alami untuk memikirkan kode stabilizer adalah dengan memandang generator stabilizer sebagai observable, dan secara kolektif menginterpretasikan hasil pengukuran yang terkait dengan observable ini sebagai sindrom error. Encoding valid adalah vektor state kuantum -Qubit yang hasil pengukurannya, sebagai nilai eigen, semuanya dijamin Sindrom lainnya, di mana setidaknya ada satu hasil pengukuran menandakan bahwa error telah terdeteksi.
Kita akan melihat beberapa contoh sebentar lagi, tapi pertama-tama ada beberapa catatan tentang tiga kondisi pada generator stabilizer.
Kondisi pertama bersifat alami, mengingat interpretasi generator stabilizer sebagai observable, karena kondisi ini mengimplikasikan bahwa urutan pengukuran tidak berpengaruh: observable-nya komutatif, sehingga pengukurannya juga komutatif. Ini secara alami memaksakan batasan aljabar tertentu pada kode stabilizer yang penting bagi cara kerjanya.
Kondisi kedua mengharuskan generator stabilizer membentuk himpunan penghasil minimal, artinya menghapus salah satunya akan menghasilkan stabilizer yang lebih kecil. Secara ketat, kondisi ini sebenarnya tidak esensial bagi cara kerja kode stabilizer dalam arti operasional — dan, seperti yang akan kita lihat di pelajaran berikutnya, terkadang memang masuk akal untuk memikirkan himpunan generator stabilizer untuk kode yang tidak memenuhi kondisi ini. Demi keperluan analisis kode stabilizer dan menjelaskan sifat-sifatnya, bagaimanapun, kita akan mengasumsikan kondisi ini berlaku. Singkatnya, kondisi ini menjamin bahwa setiap observable yang kita ukur untuk mendapatkan sindrom error menambah informasi tentang kemungkinan error, alih-alih bersifat redundan dan menghasilkan hasil yang bisa disimpulkan dari pengukuran generator stabilizer lainnya.
Kondisi ketiga mengharuskan setidaknya ada satu vektor tak-nol yang ditetapkan oleh semua generator stabilizer, yang setara dengan tidak termuat dalam stabilizer. Kebutuhan akan kondisi ini berasal dari fakta bahwa sebenarnya mungkin untuk memilih himpunan penghasil minimal dari operasi Pauli -Qubit yang semuanya komutatif satu sama lain, namun tidak ada vektor tak-nol yang ditetapkan oleh setiap operasi. Kita tidak tertarik pada "kode" yang tidak memiliki encoding valid, sehingga kita menyingkirkan kemungkinan ini dengan menjadikannya bagian dari definisi.
Contoh
Berikut beberapa contoh kode stabilizer untuk nilai kecil. Kita akan melihat lebih banyak contoh, termasuk yang -nya bisa jauh lebih besar, di pelajaran berikutnya.
Kode repetisi 3-bit
Kode repetisi 3-bit adalah contoh kode stabilizer, di mana generator stabilizer kita adalah dan
Kita bisa dengan mudah memeriksa bahwa dua generator stabilizer ini memenuhi kondisi yang diperlukan. Pertama, dua generator stabilizer dan saling komutatif.
Kedua, kita memiliki himpunan penghasil minimal (yang dalam kasus ini cukup jelas).
Dan ketiga, kita sudah tahu bahwa dan serta kombinasi linear dari vektor-vektor ini, ditetapkan oleh maupun Kita juga bisa menyimpulkan ini menggunakan kondisi ekuivalen dari definisi.
Kondisi-kondisi ini bisa jauh lebih sulit untuk diperiksa pada kode stabilizer yang lebih rumit.
Kode repetisi 3-bit yang dimodifikasi
Pada pelajaran sebelumnya, kita melihat bahwa kode repetisi 3-bit bisa dimodifikasi agar melindungi dari error phase-flip alih-alih bit-flip. Sebagai kode stabilizer, kode baru ini mudah dideskripsikan: generator stabilizernya adalah dan
Kali ini generator stabilizer merepresentasikan observable alih-alih sehingga pada dasarnya ini adalah pemeriksaan paritas dalam basis plus/minus alih-alih basis standar. Tiga kondisi yang diperlukan pada generator stabilizer mudah diverifikasi, dengan cara yang mirip dengan kode repetisi 3-bit biasa.
Kode Shor 9-Qubit
Berikut kode Shor 9-Qubit, yang juga merupakan kode stabilizer, dinyatakan dengan generator stabilizer.
Dalam kasus ini, pada dasarnya kita memiliki tiga salinan kode repetisi 3-bit, satu untuk masing-masing dari tiga blok tiga qubit, serta dua generator stabilizer terakhir, yang mengambil bentuk yang mengingatkan kita pada sirkuit untuk mendeteksi phase flip pada kode ini.
Cara alternatif untuk memikirkan dua generator stabilizer terakhir adalah bahwa mereka mengambil bentuk yang sama seperti pada kode repetisi 3-bit untuk phase flip, kecuali bahwa disubstitusikan untuk yang konsisten dengan fakta bahwa sesuai dengan operasi pada qubit logis yang diencode menggunakan kode repetisi 3-bit.
Sebelum melanjutkan ke contoh lain, perlu dicatat bahwa simbol produk tensor sering dihilangkan saat mendeskripsikan kode stabilizer berdasarkan daftar generator stabilizer, karena cenderung membuatnya lebih mudah dibaca dan melihat polanya. Misalnya, generator stabilizer yang sama seperti di atas untuk kode Shor 9-Qubit terlihat seperti ini tanpa simbol produk tensor yang ditulis secara eksplisit.
Kode Steane 7-Qubit
Berikut contoh lain dari kode stabilizer, yang dikenal sebagai kode Steane 7-Qubit. Kode ini memiliki beberapa fitur luar biasa, dan kita akan kembali ke kode ini dari waktu ke waktu sepanjang pelajaran-pelajaran berikutnya dalam kursus ini.
Untuk sekarang, mari kita cukup amati bahwa ini adalah kode stabilizer yang valid. Tiga generator stabilizer pertama jelas komutatif satu sama lain, karena komutatif dengan dirinya sendiri dan identitas komutatif dengan segalanya, dan situasinya serupa untuk tiga generator stabilizer terakhir. Yang tersisa adalah memeriksa bahwa jika kita ambil salah satu generator -stabilizer (yaitu, salah satu dari tiga yang pertama) dan salah satu generator -stabilizer (yaitu, salah satu dari tiga yang terakhir), maka keduanya komutatif, dan seseorang bisa melalui 9 kemungkinan pasangan untuk memeriksanya. Dalam semua kasus ini, matriks Pauli dan selalu sejajar pada posisi yang sama sejumlah genap, sehingga dua generator akan komutatif, sama seperti dan yang komutatif. Ini juga merupakan himpunan penghasil minimal, dan mendefinisikan ruang kode yang tidak trivial, yang merupakan fakta yang diserahkan kepada kamu untuk direnungkan.
Kode Steane 7-Qubit mirip dengan kode Shor 9-Qubit dalam hal bahwa keduanya mengenkode satu qubit dan memungkinkan koreksi error sembarang pada satu qubit, tetapi hanya membutuhkan 7 qubit alih-alih 9.
Kode 5-Qubit
Tujuh bukanlah jumlah qubit terkecil yang diperlukan untuk mengenkode satu qubit dan melindunginya dari error sembarang pada satu qubit — berikut kode stabilizer yang melakukan ini hanya dengan 5 qubit.
Kode ini biasanya disebut kode 5-Qubit. Ini adalah jumlah qubit terkecil dalam kode koreksi error kuantum yang bisa memungkinkan koreksi error satu qubit sembarang.
Kode stabilizer satu dimensi
Berikut contoh lain dari kode stabilizer, meski sebenarnya tidak mengenkode qubit apapun: ruang kodenya berdimensi satu. Namun, ini tetap merupakan kode stabilizer yang valid menurut definisi.
Secara spesifik, ruang kode adalah ruang satu dimensi yang direntangkan oleh e-bit
Berikut contoh terkait dari kode stabilizer yang ruang kodenya adalah ruang satu dimensi yang direntangkan oleh state GHZ
Dimensi ruang kode
Misalkan kita memiliki kode stabilizer, yang dideskripsikan oleh generator stabilizer -Qubit Mungkin pertanyaan pertama yang muncul tentang kode ini adalah, "Berapa banyak qubit yang diencode?"
Pertanyaan ini memiliki jawaban sederhana. Dengan asumsi generator stabilizer -Qubit memenuhi tiga persyaratan definisi (yaitu, generator stabilizer semuanya komutatif satu sama lain, ini adalah himpunan penghasil minimal, dan ruang kode tidak kosong), maka ruang kode untuk kode stabilizer ini memiliki dimensi sehingga qubit bisa diencode menggunakan kode ini.
Secara intuitif, kita memiliki qubit untuk digunakan dalam encoding ini, dan setiap generator stabilizer secara efektif "mengambil satu qubit" dalam hal berapa banyak qubit yang bisa kita enkode. Perlu dicatat bahwa ini bukan tentang error mana atau berapa banyak yang bisa dideteksi atau dikoreksi, ini hanya pernyataan tentang dimensi ruang kode.
Misalnya, untuk kode repetisi 3-bit maupun versi modifikasinya untuk error phase-flip, kita memiliki qubit dan generator stabilizer, sehingga masing-masing kode ini bisa mengenkode 1 qubit. Sebagai contoh lain, pertimbangkan kode 5-Qubit: kita memiliki 5 qubit dan 4 generator stabilizer, sehingga sekali lagi ruang kode berdimensi 2, artinya satu qubit bisa diencode menggunakan kode ini. Sebagai contoh terakhir, kode yang generator stabilizernya adalah dan memiliki ruang kode berdimensi satu, direntangkan oleh state yang konsisten dengan memiliki qubit dan generator stabilizer.
Sekarang mari kita lihat bagaimana fakta ini bisa dibuktikan. Langkah pertama adalah mengamati bahwa, karena generator stabilizer komutatif, dan karena setiap operasi Pauli adalah inversnya sendiri, setiap elemen dalam stabilizer bisa dinyatakan sebagai produk
di mana Ekuivalennya, setiap elemen stabilizer diperoleh dengan mengalikan beberapa subset dari generator stabilizer. Memang, setiap elemen stabilizer bisa dinyatakan secara unik dengan cara ini, karena kondisi bahwa adalah himpunan penghasil minimal.
Selanjutnya, definisikan sebagai proyeksi ke ruang vektor-eigen dari untuk setiap Proyeksi-proyeksi ini bisa diperoleh dengan merata-ratakan operasi Pauli yang bersangkutan dengan operasi identitas sebagai berikut.
Ruang kode adalah subruang dari semua vektor yang ditetapkan oleh semua generator stabilizer atau ekuivalennya, semua proyeksi
Mengingat bahwa generator stabilizer semuanya komutatif satu sama lain, proyeksi juga harus komutatif. Ini memungkinkan kita menggunakan fakta dari aljabar linear, yaitu bahwa produk dari proyeksi-proyeksi ini adalah proyeksi ke irisan dari subruang-subruang yang berhubungan dengan proyeksi-proyeksi individual. Artinya, produk adalah proyeksi ke ruang kode
Kita sekarang bisa menguraikan produk menggunakan formula untuk proyeksi-proyeksi ini untuk mendapatkan ekspresi berikut.
Dengan kata lain, proyeksi ke ruang kode dari sebuah kode stabilizer sama, sebagai matriks, dengan rata-rata atas semua elemen dalam stabilizer dari kode tersebut.
Akhirnya, kita bisa menghitung dimensi ruang kode dengan menggunakan fakta bahwa dimensi subruang mana pun sama dengan jejak proyeksi ke subruang tersebut. Dengan demikian, dimensi ruang kode diberikan oleh formula berikut.
Kita bisa mengevaluasi ekspresi ini dengan menggunakan beberapa fakta dasar.
-
Kita memiliki sehingga
-
Untuk produk haruslah kali operasi Pauli — tetapi kita tidak bisa mendapatkan karena ini akan bertentangan dengan minimalitas himpunan dan kita tidak bisa mendapatkan karena kondisi ketiga pada generator stabilizer melarangnya. Oleh karena itu, karena jejak setiap operasi Pauli non-identitas adalah nol, kita mendapatkan
Dimensi ruang kode dengan demikian adalah sebagaimana diklaim:
Sebagai catatan tambahan, kita sekarang bisa melihat bahwa asumsi bahwa tidak termuat dalam stabilizer mengimplikasikan bahwa ruang kode harus memuat setidaknya satu vektor state kuantum. Ini karena, seperti yang baru saja kita verifikasi, asumsi ini mengimplikasikan bahwa ruang kode memiliki dimensi yang tidak mungkin nol. Implikasi kebalikannya ternyata trivial: jika termuat dalam stabilizer, maka ruang kode tidak mungkin memuat vektor state kuantum manapun, karena tidak ada vektor tak-nol yang ditetapkan oleh operasi ini.
Operasi Clifford dan pengkodean
Selanjutnya, kita akan membahas secara singkat bagaimana qubit bisa dikodekan menggunakan stabilizer codes, tapi untuk itu kita perlu mengenalkan dulu operasi Clifford.
Operasi Clifford
Operasi Clifford adalah operasi uniter, pada qubit berapa pun, yang bisa diimplementasikan oleh quantum circuit dengan kumpulan gate yang terbatas:
- Hadamard gates
- Gate
- CNOT gates
Perlu diperhatikan bahwa gate tidak termasuk, begitu pula Toffoli gates dan Fredkin gates. Bukan hanya gate-gate tersebut tidak ada dalam daftar, bahkan faktanya tidak mungkin mengimplementasikan gate-gate itu menggunakan yang ada di sini; mereka bukan operasi Clifford. Operasi Pauli, di sisi lain, adalah operasi Clifford karena bisa diimplementasikan dengan rangkaian gate Hadamard dan .
Itu cara sederhana untuk mendefinisikan operasi Clifford, tapi tidak menjelaskan kenapa didefinisikan seperti ini atau apa yang istimewa dari kumpulan gate tertentu ini. Alasan sebenarnya operasi Clifford didefinisikan seperti ini adalah bahwa, sampai faktor fase global, operasi Clifford adalah tepat operasi uniter yang selalu mengubah operasi Pauli menjadi operasi Pauli melalui konjugasi. Lebih tepatnya, operasi uniter -qubit setara dengan operasi Clifford sampai faktor fase jika, dan hanya jika, untuk setiap operasi Pauli -qubit kita punya
untuk suatu operasi Pauli -qubit
(Perlu dicatat bahwa tidak mungkin ada untuk ketika adalah uniter dan dan adalah operasi Pauli. Ini mengikuti dari fakta bahwa matriks di sisi kiri persamaan tersebut adalah uniter sekaligus Hermitian, dan serta adalah satu-satunya pilihan untuk yang memungkinkan sisi kanan menjadi uniter dan Hermitian juga.)
Cukup mudah untuk memverifikasi sifat konjugasi yang baru saja dijelaskan ketika adalah Hadamard, gate atau CNOT. Khususnya, ini mudah untuk Hadamard gates,
dan gate
Untuk CNOT gates, ada 15 operasi Pauli non-identitas pada dua qubit yang perlu dicek. Tentu saja, bisa dicek satu per satu — tapi hubungan antara CNOT gates dan gate dan yang terdaftar (dalam bentuk circuit) di pelajaran sebelumnya, bersama dengan aturan perkalian untuk matriks Pauli, menawarkan jalan pintas menuju kesimpulan yang sama.
Begitu kita tahu bahwa sifat konjugasi ini benar untuk Hadamard, gate dan CNOT gates, kita bisa langsung menyimpulkan bahwa itu benar untuk circuit yang tersusun dari gate-gate ini — yang artinya, semua operasi Clifford.
Lebih sulit untuk membuktikan bahwa hubungan ini bekerja ke arah sebaliknya, yaitu bahwa jika suatu operasi uniter memenuhi sifat konjugasi untuk operasi Pauli, maka harus mungkin untuk mengimplementasikannya (sampai fase global) hanya menggunakan Hadamard, dan CNOT gates. Ini tidak akan dijelaskan di pelajaran ini, tapi memang benar.
Operasi Clifford bukan universal untuk komputasi kuantum; tidak seperti kumpulan gate kuantum universal, pendekatan operasi uniter sembarang ke tingkat akurasi berapa pun dengan operasi Clifford tidak mungkin dilakukan. Memang, untuk nilai tertentu, hanya ada finitely many operasi Clifford -qubit (sampai faktor fase). Melakukan operasi Clifford pada standard basis states diikuti dengan standard basis measurements juga tidak bisa memungkinkan kita melakukan komputasi yang di luar jangkauan algoritma klasik — karena kita bisa secara efisien mensimulasikan komputasi bentuk ini secara klasikal. Fakta ini dikenal sebagai teorema Gottesman-Knill.
Encoder untuk stabilizer codes
Stabilizer code mendefinisikan code space dengan dimensi tertentu, dan kita punya kebebasan untuk menggunakan code space itu sesuka kita — tidak ada yang memaksa kita untuk mengkodekan qubit ke dalam code space ini dengan cara tertentu. Namun selalu mungkin menggunakan operasi Clifford sebagai encoder, jika kita memilih itu. Lebih tepatnya, untuk setiap stabilizer code yang memungkinkan qubit dikodekan ke dalam qubit, ada operasi Clifford -qubit sehingga, untuk setiap vektor state kuantum -qubit kita punya bahwa
adalah vektor state kuantum dalam code space dari kode kita yang bisa kita interpretasikan sebagai pengkodean dari
Ini bagus karena operasi Clifford relatif sederhana, dibandingkan dengan operasi uniter sembarang, dan ada cara untuk mengoptimalkan implementasinya menggunakan teknik yang mirip dengan yang ditemukan dalam bukti teorema Gottesman-Knill. Hasilnya, circuit untuk mengkodekan state menggunakan stabilizer codes tidak perlu terlalu besar. Khususnya, selalu mungkin melakukan pengkodean untuk stabilizer code -qubit menggunakan operasi Clifford yang membutuhkan gate . Ini karena setiap operasi Clifford pada qubit bisa diimplementasikan oleh circuit berukuran ini.
Misalnya, berikut adalah encoder untuk 7-qubit Steane code. Ini memang operasi Clifford, dan ternyata yang ini bahkan tidak perlu gate .
Mendeteksi error
Untuk stabilizer code -qubit yang dijelaskan oleh stabilizer generators deteksi error bekerja dengan cara berikut.
Untuk mendeteksi error, semua stabilizer generators diukur sebagai observabel. Ada stabilizer generators, dan karenanya hasil pengukuran, masing-masing bernilai atau (atau nilai biner jika kita memilih untuk mengasosiasikan dengan dan dengan masing-masing). Kita menginterpretasikan hasil tersebut secara kolektif, sebagai vektor atau string, sebagai syndrome. Syndrome menunjukkan bahwa tidak ada error yang terdeteksi, sementara setidaknya satu di dalam syndrome menunjukkan bahwa suatu error telah terdeteksi.
Misalkan, khususnya, bahwa adalah operasi Pauli -qubit, mewakili error hipotetis. (Kita hanya mempertimbangkan operasi Pauli sebagai error, ngomong-ngomong, karena diskretisasi error bekerja dengan cara yang sama untuk stabilizer codes sembarang seperti yang terjadi untuk 9-qubit Shor code.) Ada tiga kasus yang menentukan apakah terdeteksi sebagai error atau tidak.
Kasus-kasus deteksi error
-
Operasi proporsional terhadap suatu elemen dalam stabilizer.
Dalam kasus ini, harus komutatif dengan setiap stabilizer generator, jadi kita memperoleh syndrome Ini berarti tidak terdeteksi sebagai error.
-
Operasi tidak proporsional terhadap elemen dalam stabilizer, tapi tetap saja komutatif dengan setiap stabilizer generator.
Ini adalah error yang mengubah vektor dalam code space dengan cara yang tidak trivial. Tapi, karena komutatif dengan setiap stabilizer generator, syndrome-nya adalah sehingga tidak terdeteksi oleh kode.
-
Operasi anti-komutatif dengan setidaknya satu stabilizer generator.
Syndrome-nya berbeda dari jadi error terdeteksi oleh kode.
Dalam kasus pertama, error bukan masalah karena operasi ini tidak melakukan apa pun pada vektor dalam code space, kecuali mungkin menyuntikkan fase global yang tidak relevan: untuk setiap encoded state Pada dasarnya, ini sebenarnya bukan error — tindakan non-trivial apa pun yang mungkin dilakukan terjadi di luar code space — jadi bagus bahwa tidak terdeteksi sebagai error, karena tidak perlu dilakukan apa pun.
Kasus kedua, secara intuitif, adalah kasus yang buruk. Anti-komutasi suatu error dengan stabilizer generator yang menyebabkan muncul di suatu tempat dalam syndrome, yang menandakan error, tapi itu tidak terjadi dalam kasus ini. Jadi, kita punya error yang memang mengubah vektor dalam code space dengan cara yang tidak trivial, tapi tidak terdeteksi oleh kode. Misalnya, untuk 3-bit repetition code, operasi termasuk dalam kategori ini.
Fakta bahwa error seperti itu harus mengubah beberapa vektor dalam code space dengan cara yang tidak trivial bisa diargumentasikan sebagai berikut. Dengan asumsi bahwa komutatif dengan tapi tidak proporsional terhadap elemen stabilizer, kita bisa menyimpulkan bahwa kita akan mendapatkan stabilizer code baru yang valid dengan memasukkan sebagai stabilizer generator bersama Namun code space untuk kode baru ini hanya memiliki setengah dimensi dari code space asli, yang dari sana kita bisa menyimpulkan bahwa aksi pada code space asli tidak bisa proporsional terhadap operasi identitas.
Untuk kasus terakhir dari tiga kasus tersebut, yaitu bahwa error anti-komutatif dengan setidaknya satu stabilizer generator, syndrome memiliki setidaknya satu di suatu tempat, yang menunjukkan ada yang salah. Seperti yang sudah kita bahas, syndrome tidak akan secara unik mengidentifikasi secara umum, jadi masih perlu memilih operasi koreksi untuk setiap syndrome, yang mungkin atau tidak mungkin mengoreksi error Kita akan membahas langkah ini sebentar lagi, di bagian terakhir pelajaran.
Jarak stabilizer code
Sebagai terminologi, ketika kita menyebut jarak dari suatu stabilizer code, yang kita maksud adalah bobot minimum dari operasi Pauli yang termasuk dalam kategori kedua di atas — artinya operasi yang mengubah code space dengan cara yang tidak trivial, tapi kode tidak mendeteksi ini. Ketika disebutkan bahwa suatu stabilizer code adalah stabilizer code , menggunakan tanda kurung siku ganda, ini berarti:
- Pengkodean panjangnya qubit,
- kode memungkinkan pengkodean qubit, dan
- jarak kode adalah
Sebagai contoh, mari kita perhatikan 7-qubit Steane code. Berikut adalah stabilizer generators untuk kode ini:
Kode ini memiliki jarak 3, dan kita bisa berargumen seperti ini.
Pertama, perhatikan operasi Pauli berbobot paling banyak 2, dan anggap operasi ini komutatif dengan semua enam stabilizer generators. Kita akan menyimpulkan bahwa harus merupakan operasi identitas, yang (seperti biasa) adalah elemen dari stabilizer. Ini akan menunjukkan bahwa jarak kode secara ketat lebih besar dari 2. Anggap, khususnya, bahwa berbentuk
untuk dan yang mungkin merupakan matriks Pauli non-identitas. Ini hanya satu kasus, dan perlu mengulangi argumen yang menyusul untuk semua lokasi lain yang mungkin untuk matriks Pauli non-identitas di antara faktor tensor dari tapi argumennya pada dasarnya sama untuk semua lokasi yang mungkin.
Operasi komutatif dengan semua enam stabilizer generators, jadi komutatif dengan dua ini khususnya:
Faktor tensor dalam error kita sejajar dengan matriks identitas dalam kedua stabilizer generators ini (itulah mengapa keduanya dipilih). Mengingat bahwa kita memiliki matriks identitas di 5 posisi paling kanan dari kita menyimpulkan bahwa harus komutatif dengan dan karena jika tidak akan anti-komutatif dengan salah satu dari dua generator tersebut. Namun, satu-satunya matriks Pauli yang komutatif dengan maupun adalah matriks identitas, jadi
Sekarang kita tahu ini, kita bisa memilih dua stabilizer generators lagi yang memiliki dan di posisi kedua dari kiri, dan kita menarik kesimpulan serupa: Oleh karena itu, adalah operasi identitas.
Jadi, tidak ada cara bagi error berbobot paling banyak 2 untuk tidak terdeteksi oleh kode ini, kecuali error tersebut adalah operasi identitas (yang ada dalam stabilizer dan karenanya bukan error sungguhan). Di sisi lain, ada operasi Pauli berbobot 3 yang komutatif dengan semua enam stabilizer generators ini, tapi tidak proporsional terhadap elemen stabilizer, seperti dan Ini menetapkan bahwa kode ini memiliki jarak 3, seperti yang diklaim.
Mengoreksi error
Topik pembahasan terakhir untuk pelajaran ini adalah koreksi error untuk stabilizer codes. Seperti biasa, anggap kita memiliki stabilizer code yang ditentukan oleh stabilizer generators -qubit
Operasi Pauli -qubit, sebagai error yang bisa mempengaruhi state yang dikodekan menggunakan kode ini, dipartisi ke dalam koleksi berukuran sama sesuai dengan syndrome yang mereka sebabkan. Ada syndrome yang berbeda dan operasi Pauli, yang berarti ada operasi Pauli yang menyebabkan setiap syndrome. Error mana pun dari operasi-operasi ini bisa bertanggung jawab atas syndrome yang bersangkutan.
Namun, di antara operasi Pauli yang menyebabkan setiap syndrome, ada beberapa yang harus dianggap setara. Khususnya, jika produk dari dua operasi Pauli proporsional terhadap elemen stabilizer, maka kedua operasi tersebut secara efektif setara sebagai error.
Cara lain untuk mengatakannya adalah bahwa jika kita menerapkan operasi koreksi untuk mencoba mengoreksi error maka koreksi ini berhasil selama komposisi proporsional terhadap elemen stabilizer. Mengingat ada elemen dalam stabilizer, berikut bahwa setiap operasi koreksi mengoreksi error Pauli yang berbeda. Ini meninggalkan kelas operasi Pauli yang tidak setara, yang dianggap sebagai error, yang konsisten dengan setiap syndrome yang mungkin.
Ini berarti bahwa, kecuali (di mana kita memiliki code space satu dimensi yang trivial), kita tidak mungkin mengoreksi setiap error yang terdeteksi oleh stabilizer code. Yang harus kita lakukan sebagai gantinya adalah memilih hanya satu operasi koreksi untuk setiap syndrome, dengan harapan mengoreksi hanya satu kelas error setara yang menyebabkan syndrome ini.
Satu strategi alami untuk memilih operasi koreksi mana yang dilakukan untuk setiap syndrome adalah memilih operasi Pauli berbobot paling rendah yang, sebagai error, menyebabkan syndrome tersebut. Sebenarnya mungkin ada beberapa operasi yang seri untuk error berbobot terendah yang konsisten dengan syndrome tertentu, di mana kasus mana pun salah satunya bisa dipilih. Idenya adalah bahwa operasi Pauli berbobot lebih rendah mewakili penjelasan yang lebih mungkin untuk syndrome yang telah diukur. Ini mungkin sebenarnya tidak berlaku untuk beberapa noise model, dan satu strategi alternatif adalah menghitung error yang paling mungkin yang menyebabkan syndrome yang diberikan, berdasarkan noise model yang dipilih. Untuk pelajaran ini, namun, kita akan membuat hal sederhana dan hanya mempertimbangkan koreksi berbobot terendah.
Untuk stabilizer code berjarak strategi memilih operasi koreksi sebagai operasi Pauli berbobot terendah yang konsisten dengan syndrome yang diukur selalu memungkinkan koreksi error berbobot ketat kurang dari setengah atau dengan kata lain, bobot paling banyak Ini menunjukkan, misalnya, bahwa 7-qubit Steane code bisa mengoreksi error Pauli berbobot satu apa pun, dan dengan diskretisasi error, ini berarti bahwa Steane code bisa mengoreksi error sembarang pada satu qubit.
Untuk melihat cara kerjanya, perhatikan diagram di bawah. Lingkaran di sebelah kiri mewakili semua operasi Pauli yang menghasilkan syndrome yang merupakan syndrome yang menunjukkan bahwa tidak ada error yang terjadi dan semuanya baik-baik saja. Di antara operasi-operasi ini kita memiliki elemen stabilizer (atau operasi yang proporsional terhadap elemen stabilizer, lebih tepatnya) dan juga error non-trivial yang mengubah code space dengan suatu cara tapi tidak terdeteksi oleh kode. Berdasarkan definisi jarak, setiap operasi Pauli dalam kategori ini harus berbobot setidaknya karena didefinisikan sebagai bobot minimum dari operasi-operasi ini.
Lingkaran di sebelah kanan mewakili operasi Pauli yang menghasilkan syndrome berbeda termasuk error berbobot ketat kurang dari yang akan kita pertimbangkan.
Operasi koreksi yang dipilih untuk syndrome adalah operasi Pauli berbobot paling rendah dalam koleksi yang diwakili oleh lingkaran di sebelah kanan dalam diagram (atau salah satunya jika ada seri). Jadi, bisa saja tapi tidak harus. Yang bisa kita katakan dengan pasti, namun, adalah bahwa tidak bisa berbobot lebih besar dari bobot karena berbobot minimal di antara operasi dalam koleksi ini — dan karenanya berbobot ketat kurang dari
Sekarang perhatikan apa yang terjadi ketika operasi koreksi diterapkan pada state apa pun yang kita peroleh setelah error terjadi. Dengan asumsi bahwa pengkodean asli adalah kita tersisa dengan Tujuan kita adalah menunjukkan bahwa proporsional terhadap elemen dalam stabilizer, yang menyiratkan bahwa koreksi berhasil dan (sampai fase global) kita tersisa dengan encoded state asli
Pertama, karena dan menyebabkan syndrome yang sama, komposisi harus komutatif dengan setiap stabilizer generator. Khususnya, jika adalah salah satu stabilizer generators, maka kita harus punya
untuk nilai yang sama, karena ini adalah entri ke- dalam syndrome yang keduanya dan hasilkan. Karenanya, kita punya
jadi komutatif dengan Kita telah menunjukkan bahwa masuk dalam lingkaran di sebelah kiri dalam diagram, karena menghasilkan syndrome
Kedua, komposisi harus berbobot paling banyak jumlah bobot dan — yang mengikuti dari sejenak memikirkan produk operasi Pauli — dan karenanya bobot secara ketat kurang dari Ini menyiratkan bahwa proporsional terhadap elemen dalam stabilizer kode kita, yang itulah yang ingin kita tunjukkan. Dengan memilih operasi koreksi kita sebagai representasi berbobot terendah dari kumpulan error yang menghasilkan setiap syndrome, kita dijamin dapat mengoreksi error Pauli apa pun berbobot kurang dari setengah jarak kode.
Namun ada satu masalah. Untuk stabilizer codes secara umum, menghitung operasi Pauli berbobot terendah yang menyebabkan syndrome tertentu adalah masalah yang sulit secara komputasional. (Memang, ini benar bahkan untuk kode klasik, yang dalam konteks ini bisa kita anggap sebagai stabilizer codes di mana hanya matriks dan yang muncul sebagai faktor tensor dalam stabilizer generators.) Jadi, tidak seperti langkah pengkodean, operasi Clifford tidak akan datang menyelamatkan kita kali ini.
Solusinya adalah memilih kode-kode tertentu yang koreksinya bisa dihitung secara efisien, yang untuk itu tidak ada resep sederhana. Singkatnya, merancang stabilizer codes yang operasi koreksinya bisa dihitung secara efisien adalah bagian dari seni desain kode kuantum. Kita akan melihat seni ini dalam aksi di pelajaran berikutnya.