量子フレドキン/CSWAPゲート量子フレドキン/CSWAPゲート
定義
(古典的フレドキンゲート の定義から) 3キュービット に対して 量子トフォリゲートquantum Toffoli gate を次のように定義する。
Fq:(C2)⊗3∣a,b,c⟩→(C2)⊗3↦∣a,(¬a∧b)∨(a∧c),(¬a∧c)∨(a∧b)⟩,∀a,b,c∈{0,1}
Fq(∣a⟩⊗∣b⟩⊗∣c⟩)=∣a⟩⊗∣(¬a∧b)∨(a∧c)⟩⊗∣(¬a∧c)∨(a∧b)⟩
ここで、(C2)⊗3は ベクトル空間のテンソル積、∣a⟩⊗∣b⟩⊗∣c⟩は 直積、∧は 論理積、∨は 論理和、¬は 論理否定 である。
説明
古典的フレドキンゲートの量子コンピュータバージョンである。古典的フレドキンゲートが 汎用ゲート であるのに対して、量子フレドキンゲートは汎用ゲートではない。量子フレドキンゲートだけでなく、量子コンピューティングで汎用ゲートを見つけることはできない。
Fqの具体的な入出力は次の通りである。入力が ∣101⟩,∣110⟩のときのみ、出力が変わる。
Fq(∣000⟩)=∣0,(¬0∧0)∨(0∧0),(¬0∧0)∨(0∧0)⟩=∣000⟩Fq(∣001⟩)=∣0,(¬0∧0)∨(0∧1),(¬0∧1)∨(0∧0)⟩=∣001⟩Fq(∣010⟩)=∣0,(¬0∧1)∨(0∧0),(¬0∧0)∨(0∧1)⟩=∣010⟩Fq(∣011⟩)=∣0,(¬0∧1)∨(0∧1),(¬0∧1)∨(0∧1)⟩=∣011⟩Fq(∣100⟩)=∣1,(¬1∧0)∨(1∧0),(¬1∧0)∨(1∧0)⟩=∣100⟩Fq(∣101⟩)=∣1,(¬1∧0)∨(1∧1),(¬1∧1)∨(1∧0)⟩=∣110⟩Fq(∣110⟩)=∣1,(¬1∧1)∨(1∧0),(¬1∧0)∨(1∧1)⟩=∣101⟩Fq(∣111⟩)=∣1,(¬1∧1)∨(1∧1),(¬1∧1)∨(1∧1)⟩=∣111⟩
行列表現 は次のようである。
Fq=1000000001000000001000000001000000001000000000100000010000000001