量子回路のどこにエラー訂正コードを入れますか?


11

まず、私は量子コンピューティングの初心者です。

エラー訂正コードを量子回路のどこに配置するかを説明するリソース(または複雑でない場合は回答)が欲しいのですが。

実際、発生する可能性のあるさまざまなエラー(ビットフリップ、位相フリップなど)があり、それらを修正するアルゴリズムがあります。しかし、私が知りたいのは、エラー修正アルゴリズムをどこに置くかについて、いくつかの戦略があるかどうかです。メインアルゴリズムに関与する各ゲートの後ですか?一連のゲートに対して単一の修正を行うために使用されるよりスマートな戦略はありますか?

答えが「複雑」な場合は、これをすべて学習するためのリソースを用意したいと思います(エラー修正コードについては多くのことを見つけましたが、どこで修正を行う必要があるのか​​わかりません)。


4
では、フォールトトレラントな量子コンピューティングについての質問ですよね?エラーがそのようなアルゴリズムの出力を破損しないように量子アルゴリズムを実行できるようにするために、エラー訂正がどのように使用されるかを知りたいということです。
Josu Etxezarreta Martinez

1
@josuEtxezarretaMartinez確かに!
StarBucK 2018年

短い答えは:どこでも!
DaftWullie

回答:


9

あなたの質問に基づいて、私はあなたが正しい用語を探していなかったと思います。エラー訂正コードは、デコヒーレンスの影響によりキュービットで発生する可能性のあるエラーを検出して訂正するための方法です。

フォールトトレラントな量子コンピューティングという用語は、その基本的なコンポーネントが不完全な場合でも効果的に機能する量子デバイスのパラダイムを指し、探していたエラー修正コードは、そのような種類の計算を構築するための基礎となります。フォールトトレランスに関する情報は量子コンピューティングの非常に大きな領域であるため、自分で探すことをお勧めします。ただし、Preskillによるテキスト「フォールトトレラントな量子計算」を強くお勧めします。そのような論文では、作者は確かにエラー訂正コードについて話し始めますが、その後フォールトトレラントコンセプトに深く入り込み、トピックに関する多くの疑問を解決すると思います。


6

フォールトトレラントな量子コンピューティングでは、物理キュビットと論理キュビットを区別します。

物理的なキュービットは実際に存在するものであり、ノイズが多くなります。これらは、論理キュービットを作成するために使用するものですが、通常、1つの論理キュービットを作成するには多くの物理キュービットが必要です。これは、エラーを検出して修正するために必要な冗長性が大きいためです。

物理キュービットで実行される実際のコードの設計は、レイヤーで行われます。量子エラー訂正ソフトウェアエンジニアは、量子エラー訂正コードの実装に必要なプログラムを作成して、論理キュービットを設計します。アルゴリズムで誰かが必要とする可能性のある各操作について、エラーを修正して互換性のあるバージョンを設計します。このバージョンでは、欠陥を検出して修正できるように論理キュービットで操作を実行します。

次に、プログラマーが一緒に来て、プログラムを作成します。彼らは物理的なキュービットやエラー訂正について考える必要はまったくありません。

最後に、コンパイラーはすべてを組み合わせて、物理キュービットで実行するプログラムのフォールトトレラントバージョンを作成します。これは、プログラマーが書いたものとはまったく異なります。それは、プログラマーが書いたものの一定の代替のようには見えません。その後、エラーを修正してクリーンアップします。常に発生するエラーを検出して修正するだけで、アルゴリズムを実装するためのわずかな摂動でほぼ完全に処理されます。

参考として、論理キュービットの操作がエラー修正コードを介して物理キュービットにどのように実装されるかを説明するものをお勧めするのが最善だと思います。私自身の論文の1つは、表面コードで論理演算を取得するさまざまな方法でこれを説明することにより、この仕事を実行します。また、同じ地域の他の人による多くの作品への参照もあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.