logo

양자 CNOT 게이트 📂양자정보이론

양자 CNOT 게이트

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

정의1

(고전적 CNOT\operatorname{CNOT} 게이트 (a,b)(a,ab)(a, b) \mapsto (a, a \oplus b)의 정의로부터) 22큐비트 a,b=ab\ket{a, b} = \ket{a} \otimes \ket{b}에 대해서 양자 CNOT\operatorname{CNOT} 게이트를 다음과 같이 정의한다.

CNOTq:(C2)2(C2)2a,ba,ab,a,b{0,1} \begin{align*} \operatorname{CNOT}_{q} : (\mathbb{C}^{2})^{\otimes 2} &\to (\mathbb{C}^{2})^{\otimes 2} \\ \ket{a, b} &\mapsto \ket{a, a \oplus b},\quad \forall a,b \in \left\{ 0, 1 \right\} \end{align*}

CNOTq(ab)=aab \operatorname{CNOT}_{q} (\ket{a} \otimes \ket{b}) = \ket{a} \otimes \ket{a \oplus b}

여기서 (C2)2(\mathbb{C}^{2})^{\otimes 2}벡터공간의 텐서곱, ab\ket{a} \otimes \ket{b}곱벡터, \oplus배타적 논리합이다.

설명

양자 회로에서 논리 부정파울리 XX 게이트이기 때문에, Controlled Pauli X gate라고도 한다.

CNOTq\operatorname{CNOT}_{q}의 구체적인 입출력은 다음과 같다.

CNOTq(00)=0,00=00CNOTq(01)=0,01=01CNOTq(10)=1,10=11CNOTq(11)=1,11=10 \operatorname{CNOT}_{q} (\ket{00}) = \ket{0, 0 \oplus 0} = \ket{00} \\[0.5em] \operatorname{CNOT}_{q} (\ket{01}) = \ket{0, 0 \oplus 1} = \ket{01} \\[0.5em] \operatorname{CNOT}_{q} (\ket{10}) = \ket{1, 1 \oplus 0} = \ket{11} \\[0.5em] \operatorname{CNOT}_{q} (\ket{11}) = \ket{1, 1 \oplus 1} = \ket{10}

행렬표현은 다음과 같다.

CNOTq=[1000010000010010] \operatorname{CNOT}_{q} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{bmatrix}


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