logo

Quantum Topology/CCNOT Gate

Quantum Topology/CCNOT Gate

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

Definition1

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

$$ \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*} $$

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

Here $(\mathbb{C}^{2})^{\otimes 3}$ is the tensor product of vector spaces, $\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 $T_{q}$ are as follows. The output changes only when the input is $\ket{110}, \ket{111}$.

$$ 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.

$$ 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 ↩︎