logo

양자 프레드킨/CSWAP 게이트 📂양자정보이론

양자 프레드킨/CSWAP 게이트

양자정보이론
[ 펼치기 · 접기 ]

정의1

(고전적 프레드킨 게이트 (a,b,c)(a,(¬ab)(ac),(¬ac)(ab))(a, b, c) \mapsto \big(a, (\lnot a \land b) \lor (a \land c), (\lnot a \land c) \lor (a \land b) \big)의 정의로부터) 33큐비트 a,b,c=abc\ket{a, b, c} = \ket{a} \otimes \ket{b} \otimes \ket{c}에 대해서 양자 토폴리 게이트quantum Toffoli gate 를 다음과 같이 정의한다.

Fq:(C2)3(C2)3a,b,ca,(¬ab)(ac),(¬ac)(ab),a,b,c{0,1} \begin{align*} F_{q} : (\mathbb{C}^{2})^{\otimes 3} &\to (\mathbb{C}^{2})^{\otimes 3} \\ \ket{a, b, c} &\mapsto \ket{a, (\lnot a \land b) \lor (a \land c), (\lnot a \land c) \lor (a \land b)},\quad \forall a,b,c \in \left\{ 0, 1 \right\} \end{align*}

Fq(abc)=a(¬ab)(ac)(¬ac)(ab) F_{q}(\ket{a} \otimes \ket{b} \otimes \ket{c}) = \ket{a} \otimes \ket{(\lnot a \land b) \lor (a \land c)} \otimes \ket{(\lnot a \land c) \lor (a \land b)}

여기서 (C2)3(\mathbb{C}^{2})^{\otimes 3}벡터공간의 텐서곱, abc\ket{a} \otimes \ket{b} \otimes \ket{c}곱벡터, \land논리곱, \lor논리합, ¬\lnot논리부정이다.

설명

고전적 프레드킨 게이트의 양자 컴퓨터 버전이다. 고전적 프레드킨 게이트가 범용 게이트인 것에 반해 양자 프레드킨 게이트는 범용 게이트가 아니다. 양자 프레드킨 게이트 뿐 아니라 양자 컴퓨팅에서 범용 게이트를 찾을 수는 없다.

FqF_{q}의 구체적인 입출력은 다음과 같다. 입력이 101,110\ket{101}, \ket{110}일 때만 출력이 바뀐다.

Fq(000)=0,(¬00)(00),(¬00)(00)=000Fq(001)=0,(¬00)(01),(¬01)(00)=001Fq(010)=0,(¬01)(00),(¬00)(01)=010Fq(011)=0,(¬01)(01),(¬01)(01)=011Fq(100)=1,(¬10)(10),(¬10)(10)=100Fq(101)=1,(¬10)(11),(¬11)(10)=110Fq(110)=1,(¬11)(10),(¬10)(11)=101Fq(111)=1,(¬11)(11),(¬11)(11)=111 F_{q} (\ket{000}) = \ket{0, (\lnot 0 \land 0) \lor (0 \land 0), (\lnot 0 \land 0) \lor (0 \land 0)} = \ket{000} \\[0.5em] F_{q} (\ket{001}) = \ket{0, (\lnot 0 \land 0) \lor (0 \land 1), (\lnot 0 \land 1) \lor (0 \land 0)} = \ket{001} \\[0.5em] F_{q} (\ket{010}) = \ket{0, (\lnot 0 \land 1) \lor (0 \land 0), (\lnot 0 \land 0) \lor (0 \land 1)} = \ket{010} \\[0.5em] F_{q} (\ket{011}) = \ket{0, (\lnot 0 \land 1) \lor (0 \land 1), (\lnot 0 \land 1) \lor (0 \land 1)} = \ket{011} \\[0.5em] F_{q} (\ket{100}) = \ket{1, (\lnot 1 \land 0) \lor (1 \land 0), (\lnot 1 \land 0) \lor (1 \land 0)} = \ket{100} \\[0.5em] F_{q} (\ket{101}) = \ket{1, (\lnot 1 \land 0) \lor (1 \land 1), (\lnot 1 \land 1) \lor (1 \land 0)} = \ket{110} \\[0.5em] F_{q} (\ket{110}) = \ket{1, (\lnot 1 \land 1) \lor (1 \land 0), (\lnot 1 \land 0) \lor (1 \land 1)} = \ket{101} \\[0.5em] F_{q} (\ket{111}) = \ket{1, (\lnot 1 \land 1) \lor (1 \land 1), (\lnot 1 \land 1) \lor (1 \land 1)} = \ket{111}

행렬표현은 다음과 같다.

Fq=[1000000001000000001000000001000000001000000000100000010000000001] F_{q} = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \end{bmatrix}


  1. 김영훈·허재성, 양자 정보 이론 (2020), p97 ↩︎