양자 프레드킨/CSWAP 게이트
📂양자정보이론양자 프레드킨/CSWAP 게이트
정의
(고전적 프레드킨 게이트 (a,b,c)↦(a,(¬a∧b)∨(a∧c),(¬a∧c)∨(a∧b))의 정의로부터) 3큐비트 ∣a,b,c⟩=∣a⟩⊗∣b⟩⊗∣c⟩에 대해서 양자 토폴리 게이트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