CNOT-poort

De CNOT-poort of conditionele inverter (Nederlands: 'CNIET-poort') is een reversiebele operatie op dubbele qubits in quantumcomputers. De tweede qubit wordt enkel geïnverteerd als de eerste een 1 is.

Waarheidstabel voor een CNOT-poort

Ingang Uitgang
P Q
| 00 {\displaystyle |00\rangle } | 00 {\displaystyle |00\rangle }
| 01 {\displaystyle |01\rangle } | 01 {\displaystyle |01\rangle }
| 10 {\displaystyle |10\rangle } | 11 {\displaystyle |11\rangle }
| 11 {\displaystyle |11\rangle } | 10 {\displaystyle |10\rangle }

Uitwerking als tensorproduct

De bewerking kan ook geschreven worden als resultaat van een tensorproduct. Hierbij wordt gebruik gemaakt van permutatiematrix CNOT = [ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 ] {\displaystyle \operatorname {CNOT} ={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\end{bmatrix}}}

Triviaal zijn de eerste twee lijnen uit de waarheidstabel:

C N O T | 00 = C N O T ( [ 1 0 ] [ 1 0 ] ) = [ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 ] [ 1 0 0 0 ] = [ 1 0 0 0 ] = [ 1 0 ] [ 1 0 ] = | 00 {\displaystyle CNOT|00\rangle =CNOT\left({\begin{bmatrix}1\\0\\\end{bmatrix}}\otimes {\begin{bmatrix}1\\0\\\end{bmatrix}}\right)={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\\\end{bmatrix}}{\begin{bmatrix}1\\0\\0\\0\\\end{bmatrix}}={\begin{bmatrix}1\\0\\0\\0\\\end{bmatrix}}={\begin{bmatrix}1\\0\\\end{bmatrix}}\otimes {\begin{bmatrix}1\\0\\\end{bmatrix}}=|00\rangle }
C N O T | 01 = C N O T ( [ 1 0 ] [ 0 1 ] ) = [ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 ] [ 0 1 0 0 ] = [ 0 1 0 0 ] = [ 1 0 ] [ 0 1 ] = | 01 {\displaystyle CNOT|01\rangle =CNOT\left({\begin{bmatrix}1\\0\\\end{bmatrix}}\otimes {\begin{bmatrix}0\\1\\\end{bmatrix}}\right)={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\\\end{bmatrix}}{\begin{bmatrix}0\\1\\0\\0\\\end{bmatrix}}={\begin{bmatrix}0\\1\\0\\0\\\end{bmatrix}}={\begin{bmatrix}1\\0\\\end{bmatrix}}\otimes {\begin{bmatrix}0\\1\\\end{bmatrix}}=|01\rangle }


De laatste twee lijnen uit de waarheidstabel worden zo uitgewerkt:

C N O T | 10 = C N O T ( [ 0 1 ] [ 1 0 ] ) = [ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 ] [ 0 0 1 0 ] = [ 0 0 0 1 ] = [ 0 1 ] [ 0 1 ] = | 11 {\displaystyle CNOT|10\rangle =CNOT\left({\begin{bmatrix}0\\1\\\end{bmatrix}}\otimes {\begin{bmatrix}1\\0\\\end{bmatrix}}\right)={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\\\end{bmatrix}}{\begin{bmatrix}0\\0\\1\\0\\\end{bmatrix}}={\begin{bmatrix}0\\0\\0\\1\\\end{bmatrix}}={\begin{bmatrix}0\\1\\\end{bmatrix}}\otimes {\begin{bmatrix}0\\1\\\end{bmatrix}}=|11\rangle }
C N O T | 11 = C N O T ( [ 0 1 ] [ 0 1 ] ) = [ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 ] [ 0 0 0 1 ] = [ 0 0 1 0 ] = [ 0 1 ] [ 1 0 ] = | 10 {\displaystyle CNOT|11\rangle =CNOT\left({\begin{bmatrix}0\\1\\\end{bmatrix}}\otimes {\begin{bmatrix}0\\1\\\end{bmatrix}}\right)={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\\\end{bmatrix}}{\begin{bmatrix}0\\0\\0\\1\\\end{bmatrix}}={\begin{bmatrix}0\\0\\1\\0\\\end{bmatrix}}={\begin{bmatrix}0\\1\\\end{bmatrix}}\otimes {\begin{bmatrix}1\\0\\\end{bmatrix}}=|10\rangle }
· · Sjabloon bewerken
Logische poorten
Basis:AND-poort · OF-poort · NOT-poort
Combinaties:NAND-poort · NOR-poort · XOR-poort · XNOR-poort
Reversibele:CNOT-poort · Toffoli-poort · Fredkin-poort · Hadamard-poort