Na computação quântica tolerante a falhas, fazemos uma distinção entre qubits físicos e qubits lógicos .
nn
Os qubits físicos são os que realmente existem e são barulhentos. É isso que usamos para fazer qubits lógicos, mas normalmente são necessários muitos qubits físicos para fazer um qubit lógico. Isso ocorre devido à grande redundância necessária para detectar e corrigir erros.
O design do código real executado em qubits físicos ocorrerá em camadas. Um engenheiro de software de correção quântica de erros projetará os qubits lógicos escrevendo o programa necessário para implementar o código de correção quântica de erros. Para cada operação que alguém possa precisar em um algoritmo, eles projetarão uma versão compatível com correção de erros, que executa a operação nos qubits lógicos de uma maneira que permita que suas imperfeições sejam detectadas e corrigidas.
Em seguida, o programador aparecerá e escreverá seu programa. Eles não precisarão pensar em qubits físicos ou correção de erros.
Por fim, o compilador combinará tudo para criar a versão tolerante a falhas do programa para executar nos qubits físicos. Isso não se parecerá com o que foi escrito pelo programador. Não parecerá uma constante alternância de coisas que o programador escreveu, seguido de correções de erros para limpá-lo. Ele irá lidar quase completamente com apenas detectar e corrigir os erros que ocorrem constantemente, com pequenas perturbações para implementar o algoritmo.
Como referência, acho que é melhor recomendar algo que explique como as operações em qubits lógicos são implementadas em qubits físicos por meio de um código de correção de erros. Um dos meus artigos faz esse trabalho, explicando isso de várias maneiras para obter operações lógicas no código de superfície. Ele também tem referências a muitos trabalhos de outros na mesma área.