そのサイズが入力で指数関数的である場合、どのようにユニタリー演算子を実装することが可能ですか?


8

量子回路は任意のユニタリー演算子を使用できます。その行列は、入力ビット数の指数関数です。実際には、これはどのようにして可能になりますか(テンソル積である演算子を除いて)、すなわち、どのようにして指数サイズの行列を構築できますか?

回答:


8

重要なのは、実際には行列を作成しないことです。はい、古典的なコンピュータで量子計算をシミュレートしたい場合、1つの方法は対応するユニタリ行列を作成することです。これが本質的に(特別な構造がない限り)量子計算の古典的なシミュレーションを効率的に実行することが不可能である理由です。

ただし、この点について考えてくださいキュービットの量子システムがあり、それに対して何もしない場合は、単位行列で表されます。だから、あなたの考え方で、指数サイズ行列の特別なケースを構築しました。しかし、要点は、操作を行うだけです。それは行列で表されるかもしれませんが、その行列を見たり、構築したりすることは決してありません。n2n×2n

私たちが使用する基本的な量子演算はこのように考えられています。一度に1つまたは2つのキュビットに対して実際に何かを行うだけであり、他のすべてのキュビットにIDを追加する(「何もしない」)ことで指数サイズにします。キュービットの異なるセットに作用するこれらの少数を組み合わせると、テンソル積ではないいくつかのユニタリ行列が作成される可能性があります。

さて、量子コンピュータは原則として任意のユニタリー演算子を実装できますが、その意味での普遍性は、構築にかかる時間については何も述べていません。それらの広大な、圧倒的な過半数はない実装するための指数時間がかかります。量子計算は、多項式時間で実装できる少数のインスタンスであるゴールディロックスゾーンを見つけることに特に関心があり、従来のコンピューターでは多項式時間では計算できない興味深い計算を提供します。


2

これについて具体的には何もないことに注意してください。

ビットに対する任意の従来の演算は、行列として表すこともでき、各入力ビット文字列が演算によって送信される場所を示します。このような行列は、決定論的演算の置換行列(「入力の線形結合」という概念がないため、行列を使用しても意味がありません)、または確率論的プロセスを記述したい場合は、より一般的に確率行列です。n 2n×2n

これらの行列の次元もビット数とともに指数関数的に増加しますが、他の回答で説明されている理由により、対応する操作を実際に実装することがどれほど難しいかとは関係がないため、これは問題ではありません。

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