量子トポロジー/CCNOTゲート量子トポロジー/CCNOTゲート
定義
(古典的トフォリゲート (a,b,c)↦(a,b,(a∧b)⊕c)の定義から)3キュービット ∣a,b,c⟩=∣a⟩⊗∣b⟩⊗∣c⟩に対して、 量子トフォリゲートquantum Toffoli gate を以下のように定義する。
Tq:(C2)⊗3∣a,b,c⟩→(C2)⊗3↦∣a,b,(a∧b)⊕c⟩,∀a,b,c∈{0,1}
CNOTq(∣a⟩⊗∣b⟩⊗∣c⟩)=∣a⟩⊗∣b⟩⊗∣(a∧b)⊕c⟩
ここで、(C2)⊗3はベクトル空間のテンソル積、∣a⟩⊗∣b⟩⊗∣c⟩は積ベクトル、∧は論理積、⊕は排他的論理和である。
説明
古典的トフォリゲートの量子コンピューター版である。古典的トフォリゲートが万能ゲートであるのに対し、量子トフォリゲートは万能ゲートではない。量子トフォリゲートだけでなく、量子コンピューティングにおいては万能ゲートが存在しない。
Tqの具体的な入出力は以下の通りである。入力が∣110⟩,∣111⟩の時だけ出力が変わる。
Tq(∣000⟩)=∣0,0,(0∧0)⊕0⟩=∣000⟩Tq(∣001⟩)=∣0,0,(0∧0)⊕1⟩=∣001⟩Tq(∣010⟩)=∣0,1,(0∧1)⊕0⟩=∣010⟩Tq(∣011⟩)=∣0,1,(0∧1)⊕1⟩=∣011⟩Tq(∣100⟩)=∣1,0,(1∧0)⊕0⟩=∣100⟩Tq(∣101⟩)=∣1,0,(1∧0)⊕1⟩=∣101⟩Tq(∣110⟩)=∣1,1,(1∧1)⊕0⟩=∣111⟩Tq(∣111⟩)=∣1,1,(1∧1)⊕1⟩=∣110⟩
行列表現は以下の通りである。
Tq=1000000001000000001000000001000000001000000001000000000100000010