CSS-коди
Класичні лінійні коди
Класичні коди виправлення помилок вперше почали вивчатись у 1940-х роках, і відтоді стало відомо багато різних кодів. Найпоширеніші та найуживаніші з них належать до категорії, відомої як лінійні коди. Зовсім скоро ми побачимо, що саме означає слово «лінійний» у цьому контексті, але дуже просто висловити суть лінійних кодів можна так: це стабілізаторні коди, які є класичними. CSS-коди — це, по суті, пари класичних лінійних кодів, об'єднаних для створення квантового коду виправлення помилок. Тож для подальшого обговорення нам потрібно розуміти кілька базових речей про класичні лінійні коди.
Нехай — двійковий алфавіт для всього подальшого обговорення. Коли ми кажемо класичний лінійний код, ми маємо на увазі непорожню множину двійкових рядків довжини для деякого натурального числа , яка повинна задовольняти лише одну базову властивість: якщо і — двійкові рядки з то рядок також належить Тут означає побітовий виключний АБО рядків і з яким ми неодноразово зустрічалися в курсі «Основи квантових алгоритмів».
По суті, коли ми називаємо класичний код виправлення помилок лінійним, ми розглядаємо двійкові рядки довжини як -вимірні вектори з компонентами або і вимагаємо, щоб сам код утворював лінійний підпростір. Проте замість звичайного додавання векторів над дійсними або комплексними числами ми використовуємо додавання за модулем яке є просто виключним АБО. Тобто якщо у нас є два кодових слова і тобто і — двійкові рядки з то за модулем 2, тобто теж повинно бути кодовим словом у Зверни увагу, що зокрема це твердження має бути справедливим навіть при Це означає, що обов'язково містить нульовий рядок адже побітовий виключний АБО будь-якого рядка з самим собою дає нульовий рядок.