В отказоустойчивых квантовых вычислениях мы делаем различие между физическими кубитами и логическими кубитами.
NN
Физические кубиты - это те, которые действительно существуют, и они шумные. Это то, что мы используем для создания логических кубитов, но для создания одного логического кубита обычно требуется много физических кубитов. Это связано с большой избыточностью, необходимой для обнаружения и исправления ошибок.
Проектирование реального кода, выполняемого на физических кубитах, будет происходить послойно. Инженер-программист по квантовой коррекции ошибок спроектирует логические кубиты, написав программу, необходимую для реализации кода с квантовой коррекцией ошибок. Для каждой операции, которая может понадобиться кому-то в алгоритме, они разработают версию, совместимую с исправлением ошибок, которая выполняет операцию над логическими кубитами таким образом, чтобы ее недостатки могли быть обнаружены и исправлены.
Затем придет программист и напишет свою программу. Им вообще не нужно будет думать о физических кубитах или исправлении ошибок.
Наконец, компилятор объединит все, чтобы создать отказоустойчивую версию программы для работы на физических кубитах. Это не будет похоже на то, что было написано программистом. Это не будет выглядеть как постоянное чередование вещей, написанных программистом, с последующим исправлением ошибок, чтобы очистить его. Он почти полностью будет иметь дело только с обнаружением и исправлением постоянно возникающих ошибок, с небольшими возмущениями для реализации алгоритма.
В качестве справки, я думаю, лучше всего порекомендовать что-нибудь, объясняющее, как операции над логическими кубитами реализованы на физических кубитах с помощью кода с исправлением ошибок. Одна из моих собственных работ делает эту работу, объясняя это для различных способов получения логических операций в поверхностном коде. Он также имеет ссылки на многие работы других в той же области.