フォールトトレラントな量子コンピューティングでは、物理キュビットと論理キュビットを区別します。
んん
物理的なキュービットは実際に存在するものであり、ノイズが多くなります。これらは、論理キュービットを作成するために使用するものですが、通常、1つの論理キュービットを作成するには多くの物理キュービットが必要です。これは、エラーを検出して修正するために必要な冗長性が大きいためです。
物理キュービットで実行される実際のコードの設計は、レイヤーで行われます。量子エラー訂正ソフトウェアエンジニアは、量子エラー訂正コードの実装に必要なプログラムを作成して、論理キュービットを設計します。アルゴリズムで誰かが必要とする可能性のある各操作について、エラーを修正して互換性のあるバージョンを設計します。このバージョンでは、欠陥を検出して修正できるように論理キュービットで操作を実行します。
次に、プログラマーが一緒に来て、プログラムを作成します。彼らは物理的なキュービットやエラー訂正について考える必要はまったくありません。
最後に、コンパイラーはすべてを組み合わせて、物理キュービットで実行するプログラムのフォールトトレラントバージョンを作成します。これは、プログラマーが書いたものとはまったく異なります。それは、プログラマーが書いたものの一定の代替のようには見えません。その後、エラーを修正してクリーンアップします。常に発生するエラーを検出して修正するだけで、アルゴリズムを実装するためのわずかな摂動でほぼ完全に処理されます。
参考として、論理キュービットの操作がエラー修正コードを介して物理キュービットにどのように実装されるかを説明するものをお勧めするのが最善だと思います。私自身の論文の1つは、表面コードで論理演算を取得するさまざまな方法でこれを説明することにより、この仕事を実行します。また、同じ地域の他の人による多くの作品への参照もあります。