NielsenとChuangによるQuantum ComputationとQuantum Informationの演習4.29 は私を困らせました。
作業キュービットを使用せずに、ゲート()を実装する Toffoli、CNOT、および単一キュービットゲートを含む回路を見つけます。
これは古典的には実行できないことを理解しました。
私は指数関数的に正確なゲートを使用してそれを行う方法を理解しましたそれ自体の内部に、二重制御から単一制御および平方根の操作構造を回ネストします)。
上記の構造を一般化して、制御された操作の線形結合を蓄積することを試みました。たとえば、A、B、Cという3つのコントロールがあり、さまざまなケースのベクトル[0、A、B、C、AB、BC、AC、ABC]を作成すると、次のようになります。
- 操作を無条件に適用すると、[1、1、1、1、1、1、1、1]が追加されます
- Aの操作を制御すると、[0、1、0、0、1、1、0、1]が追加されます
- AをCにXorし、Cの操作を制御すると(xorを元に戻す)、[0、1、0、1、1、1、0、0]が追加されます。
- toffoliゲートを介してCにXoring(AおよびB)し、Cの操作を制御すると、[0、0、0、1、1、1、1、1、0]が追加されます。
次に、結果が[0、0、0、0、0、0、0、N]となるまで作成できるさまざまなベクトルを加算(Xのルートを適用)および減算(逆平方根を適用)しようとします。 。
しかし、私はさまざまな壁にぶつかり続けます。たとえば、最終的に大きな倍数になるソリューション(つまり、使用しているゲートが指数関数的に正確になり、これはノーノーだと思います)や、システム間の相互作用のためにシステムを解決できないだけです。 AND / XORを使用して要素を生成し、次に+ / *を非標準として解決するか、または指数のゲート数を作成します。
他に試してみる方法は何ですか?