W odpornym na błędy obliczeniu kwantowym rozróżniamy kubity fizyczne i kubity logiczne .
nn
Kubity fizyczne są tymi, które faktycznie istnieją i są hałaśliwe. Tego używamy do tworzenia logicznych kubitów, ale zwykle potrzeba wielu fizycznych kubitów, aby stworzyć jeden logiczny kubit. Wynika to z dużej nadmiarowości potrzebnej do wykrywania i korygowania błędów.
Rzeczywisty kod uruchamiany na fizycznych kubitach będzie się układał warstwowo. Inżynier oprogramowania do korekcji błędów kwantowych zaprojektuje logiczne kubity, pisząc program niezbędny do wdrożenia kodu korekcji błędów kwantowych. Dla każdej operacji, której ktoś może potrzebować w algorytmie, zaprojektuje wersję zgodną z korekcją błędów, która wykonuje operację na kubitach logicznych w sposób umożliwiający wykrycie i skorygowanie niedoskonałości.
Następnie programista przyjdzie i napisze swój program. Nie będą musieli w ogóle myśleć o kubitach fizycznych lub korekcie błędów.
Na koniec kompilator połączy wszystko, aby utworzyć odporną na błędy wersję programu do działania na fizycznych kubitach. Nie będzie to wyglądało tak, jak napisał programista. Nie będzie to wyglądało na ciągłe zmienianie się rzeczy napisanych przez programistę, po których następują korekty błędów w celu wyczyszczenia. Prawie całkowicie poradzi sobie z wykrywaniem i korygowaniem stale pojawiających się błędów, z niewielkimi zaburzeniami w implementacji algorytmu.
Jako odniesienie myślę, że najlepiej polecić coś, co wyjaśnia, w jaki sposób operacje na kubitach logicznych są realizowane na kubitach fizycznych za pomocą kodu korygującego błędy. Jeden z moich własnych artykułów wykonuje tę pracę, wyjaśniając to na wiele sposobów uzyskania logicznych operacji w kodzie powierzchniowym. Zawiera także odniesienia do wielu prac innych w tym samym obszarze.