Buvo pasiūlyta šį straipsnį ar skyrių, kaip parašytą vadovėlio stiliumi, perkelti į Vikiknygas. Taip pat galite šį straipsnį pritaikyti Vikipedijai - perrašyti enciklopediniu stiliumi.
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):
;
;
.
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 arba ? Į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 , o antras , tada jie abu užrašomi taip:
.
Antras kubitas apsiverčia visose superpozicijos būsenose, jei pirmas kubitas yra 1:
.
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:
.
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:
.
.
.
.
.
.
.
.
.
Kaip matome visada apsiverčia pirmas kubitas jei antras yra 1, o antras kubitas niekada nesikeičia.
CNOT vartai naudojami Doičo algoritme.