Toffoliゲートのみを使用したCCCNOTゲートの実装


10

CCCNOTゲートは4ビットのリバーシブルゲートで、最初の3ビットがすべて状態場合にのみ、4番目のビットを反転し1ます。

Toffoliゲートを使用してCCCNOTゲートを実装するにはどうすればよいですか?ワークスペースのビットは、特定の値(0または1)で始まると想定します。


使用のみトフォリゲートを、またはトホリとCNOTは公正なゲームですか?
user1271772

Toffoliゲートのみが許可されています。
チャスター

1
この質問のどの部分が量子ですか?クラシックリバーシブルゲート(CCCNOT)をより小さなクラシックリバーシブルゲート(CCNOT)に分解したいようです。
user1271772 2018年

1
質問自体は量子コンピューティングには関係しませんが、ゲートは量子回路にとって重要です。
チャスター

回答:


8

あなたが探しているのは次の回路だと思います。ここで、b1,b2,b3,b4{0,1}、および加算モジュロである2

ここに画像の説明を入力してください

ここでは、5番目の量子ビットは、補助量子ビットまたは補助量子ビットとして使用されます。|0で始まる 0 とで両端|0回路が適用されます。

この回路のしくみについて詳しく説明します。アイデアは、まず最初の2つのキュービットが状態にあるかどうかを確認することです|1。これは、単一のToffoliゲートを使用して行うことができ、結果は補助キュービットに格納されます。さて、問題は、量子ビット3と補助量子ビットが存在するときはいつでも、量子ビット4反転に減少します1 。これは、Toffoliゲートの1つのアプリケーション、つまり上に示した回路の中央のアプリケーションを使用しても実現できます。最後に、最後のToffoliゲートは、このキュービットの状態が|に戻るように、補助キュービットに保存した一時的な結果を計算解除する働きをします0 3|1|0 回路が適用された後。


コメントセクションでは、補助キュービットを使用せずに、Toffoliゲートのみを使用してこのような回路を実装することが可能かどうかという疑問が生じました。ここで説明するように、この質問は否定的に答えることができます。

4つのキュービットに作用するCCCNOTゲートを実装したいと考えています。次の行列(Pauli- Xゲートの 行列表現)を定義できます

X=[0110]
さらに、N次元の単位行列をIN表します。ここで、4つのキュビットに作用するCCCNOTゲートの行列表現が、次の16×16行列によって与えられることがわかります
CCCNOT=[I1400X]
したがって、その行列式を決定できます
det(CCCNOT)=1
ここで、4最初の3つのキュービットに作用するToffoliゲートの行列表現を考えます。-qubitシステム。(我々は行列のクロネッカー積を使用する場合)の行列表現は次のように書かれている:
ToffoliI2=[I600X]I2=[I1200XI2]=[I120000I20I20]
の行列式の収率の計算:
det(ToffoliI2)=1
Toffoliゲートは、もちろん異なるキュービットにも作用します。Toffoliゲートを1番目、2番目、4番目のキュビットに作用させると仮定します。4番目のキュビットはターゲットキュビットです。次に、3番目と4番目のキュービットのみが異なる状態に対応する列を交換することにより、上に表示されたものから新しい行列表現を取得します|0001|0010|0101|0110、などここで注意すべき重要なことは、列のスワップの数が偶数、ひいては決定は変わらないということであるということです。キュービットのすべての順列を、2(れるキュビットS4における転位によって生成されるS4)、我々はすべてのトホリゲートのために、制御およびターゲットキュービットの任意の組み合わせに適用されることが判明して、その行列表現は、行列式持つ1

最後に注意すべきことは、行列乗算と互換性のある任意の2つの行列AおよびBについて、行列式が行列乗算と交換すること、つまりdet(AB)=det(A)det(B)です。したがって、複数のToffoliゲートを順番に適用すると、行列表現が1とは異なる行列式をもつ回路が作成されないことが明らかになりました。これは、特に、4の Toffoliゲートのみを使用してC C C N O Tゲートを実装できないことを意味します。キュビット。AB1CCCNOT4

ここで明らかな問題は、補助キュービットを許可すると何が変わるかです。我々はのアクション書き出すとき私たちは答えを見つけるCCCNOT上-ゲート5:-qubitシステム

CCCNOTI2=[I1400X]I2=[I280000I20I20]
この行列式を計算すると、次のことがわかります。
det(CCCNOTI2)=1
従って、の行列CCCNOTに作用-ゲート5量子ビットは、1の代わりに、1。これは、OPが要求する明示的に構成された回路のために、すでにわかっているように、前の引数が5キュービットに対して有効でない理由です。


1
ソース、または回路を導出するために使用される方法が役立つでしょう!
glS

1
そのような回路を包括的に設計する方法を説明する情報源は知りません。量子コンピューティングについて学ぶときに使用した情報源は、NielsenとChuangによる本であり、講義ノートにはhomepages.cwi.nl/~rdewolf/qcnotes.pdfがありますが、これらの情報源は特に設計に焦点を当てていません量子回路
arriopolis

2
回路の動作についてもう少し詳しく説明しました。これがこのような回路の設計に役立つことを願っています!:)
arriopolis

助剤なしでそれは可能ですか?
user1271772

1
興味深い質問ですが、そうは思いません。4キュービットシステムに作用するToffoliゲートの行列表現を書き込むときは常に、この行列の行列式はです。ただし、4キュービットに作用するC C C N O Tゲートの行列表現の行列式は1であるため、Toffoliゲートを連続して適用しても構成できません。この補助キュービットとの違いは、C C C N O Tゲートの行列表現が+ 1になることです。+1CCCNOT41CCCNOT+1
arriopolis
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.