Quantum Fredkin/CSWAP Gate Quantum Fredkin/CSWAP Gate Definition (From the definition of the classical Fredkin gate ( a , b , c ) ↦ ( a , ( ¬ a ∧ b ) ∨ ( a ∧ c ) , ( ¬ a ∧ c ) ∨ ( a ∧ b ) ) (a, b, c) \mapsto \big(a, (\lnot a \land b) \lor (a \land c), (\lnot a \land c) \lor (a \land b) \big) ( a , b , c ) ↦ ( a , ( ¬ a ∧ b ) ∨ ( a ∧ c ) , ( ¬ a ∧ c ) ∨ ( a ∧ b ) ) ) For qubits ∣ a , b , c ⟩ = ∣ a ⟩ ⊗ ∣ b ⟩ ⊗ ∣ c ⟩ \ket{a, b, c} = \ket{a} \otimes \ket{b} \otimes \ket{c} ∣ a , b , c ⟩ = ∣ a ⟩ ⊗ ∣ b ⟩ ⊗ ∣ c ⟩ , the quantum Toffoli gate is defined as follows.
F q : ( C 2 ) ⊗ 3 → ( C 2 ) ⊗ 3 ∣ a , b , c ⟩ ↦ ∣ a , ( ¬ a ∧ b ) ∨ ( a ∧ c ) , ( ¬ a ∧ c ) ∨ ( a ∧ b ) ⟩ , ∀ 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*}
F q : ( C 2 ) ⊗ 3 ∣ a , b , c ⟩ → ( C 2 ) ⊗ 3 ↦ ∣ a , ( ¬ a ∧ b ) ∨ ( a ∧ c ) , ( ¬ a ∧ c ) ∨ ( a ∧ b ) ⟩ , ∀ a , b , c ∈ { 0 , 1 }
F q ( ∣ a ⟩ ⊗ ∣ b ⟩ ⊗ ∣ c ⟩ ) = ∣ a ⟩ ⊗ ∣ ( ¬ a ∧ b ) ∨ ( a ∧ c ) ⟩ ⊗ ∣ ( ¬ a ∧ c ) ∨ ( a ∧ b ) ⟩
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)}
F q ( ∣ a ⟩ ⊗ ∣ b ⟩ ⊗ ∣ c ⟩ ) = ∣ a ⟩ ⊗ ∣ ( ¬ a ∧ b ) ∨ ( a ∧ c ) ⟩ ⊗ ∣ ( ¬ a ∧ c ) ∨ ( a ∧ b ) ⟩
Here, ( C 2 ) ⊗ 3 (\mathbb{C}^{2})^{\otimes 3} ( C 2 ) ⊗ 3 is the tensor product of vector spaces , ∣ a ⟩ ⊗ ∣ b ⟩ ⊗ ∣ c ⟩ \ket{a} \otimes \ket{b} \otimes \ket{c} ∣ a ⟩ ⊗ ∣ b ⟩ ⊗ ∣ c ⟩ is the direct product , ∧ \land ∧ is the logical AND , ∨ \lor ∨ is the logical OR , and ¬ \lnot ¬ is the logical NOT .
Description This is the quantum computer version of the classical Fredkin gate. Whereas the classical Fredkin gate is a universal gate , the quantum Fredkin gate is not a universal gate. Not only the quantum Fredkin gate, but it is also impossible to find a universal gate in quantum computing .
The specific input and output of F q F_{q} F q are as follows. The output changes only when the input is ∣ 101 ⟩ , ∣ 110 ⟩ \ket{101}, \ket{110} ∣ 101 ⟩ , ∣ 110 ⟩ .
F q ( ∣ 000 ⟩ ) = ∣ 0 , ( ¬ 0 ∧ 0 ) ∨ ( 0 ∧ 0 ) , ( ¬ 0 ∧ 0 ) ∨ ( 0 ∧ 0 ) ⟩ = ∣ 000 ⟩ F q ( ∣ 001 ⟩ ) = ∣ 0 , ( ¬ 0 ∧ 0 ) ∨ ( 0 ∧ 1 ) , ( ¬ 0 ∧ 1 ) ∨ ( 0 ∧ 0 ) ⟩ = ∣ 001 ⟩ F q ( ∣ 010 ⟩ ) = ∣ 0 , ( ¬ 0 ∧ 1 ) ∨ ( 0 ∧ 0 ) , ( ¬ 0 ∧ 0 ) ∨ ( 0 ∧ 1 ) ⟩ = ∣ 010 ⟩ F q ( ∣ 011 ⟩ ) = ∣ 0 , ( ¬ 0 ∧ 1 ) ∨ ( 0 ∧ 1 ) , ( ¬ 0 ∧ 1 ) ∨ ( 0 ∧ 1 ) ⟩ = ∣ 011 ⟩ F q ( ∣ 100 ⟩ ) = ∣ 1 , ( ¬ 1 ∧ 0 ) ∨ ( 1 ∧ 0 ) , ( ¬ 1 ∧ 0 ) ∨ ( 1 ∧ 0 ) ⟩ = ∣ 100 ⟩ F q ( ∣ 101 ⟩ ) = ∣ 1 , ( ¬ 1 ∧ 0 ) ∨ ( 1 ∧ 1 ) , ( ¬ 1 ∧ 1 ) ∨ ( 1 ∧ 0 ) ⟩ = ∣ 110 ⟩ F q ( ∣ 110 ⟩ ) = ∣ 1 , ( ¬ 1 ∧ 1 ) ∨ ( 1 ∧ 0 ) , ( ¬ 1 ∧ 0 ) ∨ ( 1 ∧ 1 ) ⟩ = ∣ 101 ⟩ F q ( ∣ 111 ⟩ ) = ∣ 1 , ( ¬ 1 ∧ 1 ) ∨ ( 1 ∧ 1 ) , ( ¬ 1 ∧ 1 ) ∨ ( 1 ∧ 1 ) ⟩ = ∣ 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}
F q ( ∣ 000 ⟩ ) = ∣ 0 , ( ¬0 ∧ 0 ) ∨ ( 0 ∧ 0 ) , ( ¬0 ∧ 0 ) ∨ ( 0 ∧ 0 ) ⟩ = ∣ 000 ⟩ F q ( ∣ 001 ⟩ ) = ∣ 0 , ( ¬0 ∧ 0 ) ∨ ( 0 ∧ 1 ) , ( ¬0 ∧ 1 ) ∨ ( 0 ∧ 0 ) ⟩ = ∣ 001 ⟩ F q ( ∣ 010 ⟩ ) = ∣ 0 , ( ¬0 ∧ 1 ) ∨ ( 0 ∧ 0 ) , ( ¬0 ∧ 0 ) ∨ ( 0 ∧ 1 ) ⟩ = ∣ 010 ⟩ F q ( ∣ 011 ⟩ ) = ∣ 0 , ( ¬0 ∧ 1 ) ∨ ( 0 ∧ 1 ) , ( ¬0 ∧ 1 ) ∨ ( 0 ∧ 1 ) ⟩ = ∣ 011 ⟩ F q ( ∣ 100 ⟩ ) = ∣ 1 , ( ¬1 ∧ 0 ) ∨ ( 1 ∧ 0 ) , ( ¬1 ∧ 0 ) ∨ ( 1 ∧ 0 ) ⟩ = ∣ 100 ⟩ F q ( ∣ 101 ⟩ ) = ∣ 1 , ( ¬1 ∧ 0 ) ∨ ( 1 ∧ 1 ) , ( ¬1 ∧ 1 ) ∨ ( 1 ∧ 0 ) ⟩ = ∣ 110 ⟩ F q ( ∣ 110 ⟩ ) = ∣ 1 , ( ¬1 ∧ 1 ) ∨ ( 1 ∧ 0 ) , ( ¬1 ∧ 0 ) ∨ ( 1 ∧ 1 ) ⟩ = ∣ 101 ⟩ F q ( ∣ 111 ⟩ ) = ∣ 1 , ( ¬1 ∧ 1 ) ∨ ( 1 ∧ 1 ) , ( ¬1 ∧ 1 ) ∨ ( 1 ∧ 1 ) ⟩ = ∣ 111 ⟩
The matrix representation is as follows.
F q = [ 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 ]
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}
F q = 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