logo

Quantum Topology/CCNOT Gate

Quantum Topology/CCNOT Gate

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

Definition1

(From the definition of the classical Toffoli gate (a,b,c)(a,b,(ab)c)(a, b, c) \mapsto (a, b, (a \land b) \oplus c)) The quantum Toffoli gate for qubits a,b,c=abc\ket{a, b, c} = \ket{a} \otimes \ket{b} \otimes \ket{c} is defined as follows.

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

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

Here (C2)3(\mathbb{C}^{2})^{\otimes 3} is the tensor product of vector spaces, abc\ket{a} \otimes \ket{b} \otimes \ket{c} is the product vector, \land is the logical AND, and \oplus is the exclusive OR (XOR).

Description

It is the quantum computer version of the classical Toffoli gate. Whereas the classical Toffoli gate is a universal gate, the quantum Toffoli gate is not a universal gate. Not only the quantum Toffoli gate, but also there are no universal gates in quantum computing.

The specific input and output of TqT_{q} are as follows. The output changes only when the input is 110,111\ket{110}, \ket{111}.

Tq(000)=0,0,(00)0=000Tq(001)=0,0,(00)1=001Tq(010)=0,1,(01)0=010Tq(011)=0,1,(01)1=011Tq(100)=1,0,(10)0=100Tq(101)=1,0,(10)1=101Tq(110)=1,1,(11)0=111Tq(111)=1,1,(11)1=110 T_{q} (\ket{000}) = \ket{0, 0, (0 \land 0) \oplus 0} = \ket{000} \\[0.5em] T_{q} (\ket{001}) = \ket{0, 0, (0 \land 0) \oplus 1} = \ket{001} \\[0.5em] T_{q} (\ket{010}) = \ket{0, 1, (0 \land 1) \oplus 0} = \ket{010} \\[0.5em] T_{q} (\ket{011}) = \ket{0, 1, (0 \land 1) \oplus 1} = \ket{011} \\[0.5em] T_{q} (\ket{100}) = \ket{1, 0, (1 \land 0) \oplus 0} = \ket{100} \\[0.5em] T_{q} (\ket{101}) = \ket{1, 0, (1 \land 0) \oplus 1} = \ket{101} \\[0.5em] T_{q} (\ket{110}) = \ket{1, 1, (1 \land 1) \oplus 0} = \ket{111} \\[0.5em] T_{q} (\ket{111}) = \ket{1, 1, (1 \land 1) \oplus 1} = \ket{110} \\[0.5em]

The matrix representation is as follows.

Tq=[1000000001000000001000000001000000001000000001000000000100000010] T_{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 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \end{bmatrix}


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