|  |  |
| --- | --- |
|    | **Šiam straipsniui ar jo daliai trūksta išnašų į šaltinius.**Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais. |

|  |  |
| --- | --- |
|    | **Buvo pasiūlyta šį straipsnį ar skyrių, kaip parašytą vadovėlio stiliumi, perkelti į Vikiknygas.**Taip pat galite šį straipsnį pritaikyti Vikipedijai - perrašyti enciklopediniu stiliumi. |

CNOT vartai yra analogiški klasikiniams XOR vartams
**CNOT vartai** (angl. *C-NOT gate*) – tai kvantiniai vartai, naudojami kvantiniame kompiuteryje. CNOT vartams analogiškas yra XOR loginis elementas.

Nuo visu funkcijų, kur prasmę turi tik f(x)=x ir f(x)=1
Viršutinis (pirmas) kubitas apsiverčia tik kai apatinis (antras) kubitas yra 1
C-NOT tai XOR vartai
CNOT su ir be Hadamardo vartų
Pirmas kubitas, pereidamas per CNOT vartus, nepasikeičia x=x, kur x gali būti 0 arba 1, bet mes žymėsime nulį vienetu, o vienetą - minus vienetu (0=1; 1=-1), to reikės kito per CNOT vartus pereinančio kubito aprašymui. Taigi kitas kubitas, pereidamas per CNOT vartus, bus yx. 
Jeigu skaičiuoti ne su 1 ir -1, o su 0 ir 1, tai reikia remtis sudėtimi pagal modulį 2. Modulis 2 reiškia, kad jeigu sveikųjų skaičių sudėtis lygi 2, tai atsakymas bus nulis (įprastai modulis 2 žymimas **+** apskritime):

{\displaystyle 1\oplus 1=0};
{\displaystyle 1\oplus 0=0\oplus 1=1};
{\displaystyle 0\oplus 0=0}.
Tai reiškia, kad pirmą ir antrą kubitą sudedame moduliu 2 ir, tokiu būdu, tai yra antro kubito išeinamasis atsakymas.

Kas bus jeigu pro CNOT vartus praleisime kubitus, esančius ne bazinėje būsenoje |0> arba |1>, o kubitus, esančius superpozicijos būsenoje {\displaystyle {\frac {1}{\sqrt {2}}}(|0\rangle +|1\rangle )} arba {\displaystyle {\frac {1}{\sqrt {2}}}(|0\rangle -|1\rangle )}? Įprastai antras (apatinis) kubitas (arba bitas) apsiverčia, jeigu pirmas kubitas yra 1. Ir neapsiverčia, jei pirmas kubitas yra 0. Tarkim superpozicijoje pirmas kubitas yra {\displaystyle {\frac {1}{\sqrt {2}}}(|0\rangle +|1\rangle )}, o antras {\displaystyle {\frac {1}{\sqrt {2}}}(|0\rangle -|1\rangle )}, tada jie abu užrašomi taip:

{\displaystyle {\frac {1}{2}}(|0\rangle +|1\rangle )(|0\rangle -|1\rangle )={\frac {1}{2}}(|00\rangle +|10\rangle -|01\rangle -|11\rangle )}.
Antras kubitas apsiverčia visose superpozicijos būsenose, jei pirmas kubitas yra 1:

{\displaystyle {\frac {1}{2}}(|00\rangle +|11\rangle -|01\rangle -|10\rangle )={\frac {1}{2}}(|0\rangle -|1\rangle )(|0\rangle -|1\rangle )}.
Kadangi kubitai, pereidami CNOT vartus, buvo superpozicijos būsenoje, tai faktiškai pirmas kubitas pasidarė toks koks buvo antras, ir tokį jį išmatuosime abu kubitus, praleidę pro Hadamardo vartus:

{\displaystyle {\frac {1}{2}}H(|0\rangle -|1\rangle )H(|0\rangle -|1\rangle )=|1\rangle |1\rangle =|11\rangle }.
Tokiu būdu faktiškai yra atvirkščiai, jei prieš ir po CNOT vartų bus Hadamardo vartai. Pirmas kubitas "apsivers" (iš nulio pereis į vienetą arba iš vieneto į nulį) tik tada, kai antras kubitas bus 1.
Štai įrodymai, kad tikrai taip:

{\displaystyle H|0\rangle H|0\rangle ={\frac {1}{2}}(|0\rangle +|1\rangle )(|0\rangle +|1\rangle )={\frac {1}{2}}(|00\rangle +|11\rangle +|01\rangle +|10\rangle )}.
{\displaystyle CNOT{\frac {1}{2}}(|00\rangle +|10\rangle +|01\rangle +|11\rangle )={\frac {1}{2}}(|00\rangle +|10\rangle +|01\rangle +|11\rangle )=}
{\displaystyle ={\frac {1}{2}}(|0\rangle +|1\rangle )(|0\rangle +|1\rangle )}.

{\displaystyle {\frac {1}{2}}H(|0\rangle +|1\rangle )H(|0\rangle +|1\rangle )=|0\rangle |0\rangle =|00\rangle }.

  

  

{\displaystyle H|1\rangle H|0\rangle ={\frac {1}{2}}(|0\rangle -|1\rangle )(|0\rangle +|1\rangle )={\frac {1}{2}}(|00\rangle -|10\rangle +|01\rangle -|11\rangle )}.
{\displaystyle CNOT{\frac {1}{2}}(|00\rangle -|10\rangle +|01\rangle -|11\rangle )={\frac {1}{2}}(|00\rangle -|11\rangle +|01\rangle -|10\rangle )=}
{\displaystyle ={\frac {1}{2}}(|0\rangle -|1\rangle )(|0\rangle +|1\rangle )}.

{\displaystyle {\frac {1}{2}}H(|0\rangle -|1\rangle )H(|0\rangle +|1\rangle )=|10\rangle }.

  

{\displaystyle H|1\rangle H|1\rangle ={\frac {1}{2}}(|0\rangle -|1\rangle )(|0\rangle -|1\rangle )={\frac {1}{2}}(|00\rangle -|10\rangle -|01\rangle +|11\rangle )}.
{\displaystyle CNOT{\frac {1}{2}}(|00\rangle -|10\rangle -|01\rangle +|11\rangle )={\frac {1}{2}}(|00\rangle -|11\rangle -|01\rangle +|10\rangle )={\frac {1}{2}}(|0\rangle +|1\rangle )(|0\rangle -|1\rangle )}.
{\displaystyle {\frac {1}{2}}H(|0\rangle +|1\rangle )H(|0\rangle -|1\rangle )=|01\rangle }.
Kaip matome visada apsiverčia pirmas kubitas jei antras yra 1, o antras kubitas niekada nesikeičia.
CNOT vartai naudojami Doičo algoritme.

Kvantiniai vartai
-----------------

* Hadamardo vartai
* CNOT vartai
* Kvantiniai NOT vartai
* Fazės vartai
* Tofolio vartai