У квантових обчисленнях, стійких до відмов, ми робимо різницю між фізичними кубітами та логічними кубітами.
нн
Фізичні кубіти - це ті, які існують насправді, і вони шумно. Це те, що ми використовуємо для створення логічних кубітів, але для створення одного логічного кубіта зазвичай потрібно багато фізичних кубітів. Це пояснюється великою надмірністю, необхідною для виявлення та виправлення помилок.
Конструкція фактичного коду, виконаного на фізичних кубітах, відбуватиметься шарами. Інженер програмного забезпечення з квантової корекції помилок спроектує логічні кубіти, написавши програму, необхідну для реалізації коду виправлення квантових помилок. Для кожної операції, яка комусь може знадобитися в алгоритмі, вони розробити сумісну версію для виправлення помилок, яка виконує операцію над логічними кубітами таким чином, що дозволяє виявити та виправити її недосконалості.
Потім програміст підійде і напише свою програму. Їм взагалі не потрібно буде думати про фізичні кубіти або виправлення помилок.
Нарешті, компілятор поєднає все, щоб створити невідмовну версію програми для роботи на фізичних кубітах. Це буде виглядати не так, як написав програміст. Це не буде схоже на постійне чергування речей, написаних програмістом, з подальшим виправленням помилок, щоб очистити його. Він майже повністю матиме справу з просто виявленням та виправленням помилок, які постійно виникають, із незначними збуреннями для реалізації алгоритму.
В якості посилання, я думаю, найкраще порекомендувати щось, що пояснює, як операції з логічними кубітами реалізуються на фізичних кубітах через код виправлення помилок. Один із моїх власних робіт виконує цю роботу, пояснюючи це різними способами отримання логічних операцій в поверхневому коді. У ньому також є посилання на багато творів інших в цій же галузі.