Klasyczny komputer działa na bitach, które mogą przyjmować wartości 0 lub 1. Bramki logiczne pozwalają nam wykonać pewne operacje na bitach.
Podstawowym przykładem klasycznej bramki logicznej jest bramka NOT, która wykonuje klasyczną negację.
Wejście | Wyjście |
A | Q |
0 | 1 |
1 | 0 |
Bramka NOT to przykład bramki jednobitowej.
Przykłady bramek dwubitowych to: AND, OR oraz XOR.
Bramka AND to klasyczna bramka, która odpowiada działaniu koniunkcji.
Wejście | Wyjście | |
A | B | Q |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Bramka OR reprezentuje logiczną alternatywę.
Wejście | Wyjście | |
A | B | Q |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Natomiast bramka XOR wykonuje operację dodawania bitów modulo 2.
Wejście | Wyjście | |
A | B | Q |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Analogicznie do bramek klasycznych bramki kwantowe pozwalają nam wykonywać pewne operacje na kubitach. Bramki kwantowe są reprezentowane przez macierze. Działanie wykonywane przez bramkę kwantową na kubicie to mnożenie wektora stanu kubitu przez macierz odpowiadającą danej bramce. Wszystkie bramki kwantowe muszą być odwracalne, czyli ich wejście musi móc zostać przewidziane na podstawie ich wyjść.
Podstawowe bramki kwantowe to bramki reprezentowane przez macierze Pauliego, czyli bramki X, Y oraz Z. Mówią one o obrotach wokół osi x, y oraz z na sferze Blocha.
Bramka X jako macierz:
X = |0 1 1 0|
Ta bramka mówi nam o obrocie wokół osi x na sferze Blocha.
Bramka Y jako macierz:
Y = |0 – i i 0|
Ta bramka mówi nam o obrocie wokół osi y na sferze Blocha.
Bramka Z jako macierz:
Z = |1 0 0 – 1|
Ta bramka mówi nam o obrocie wokół osi z na sferze Blocha.
Kolejną ważną jednokubitową bramką kwantową jest bramka Hadamarda, która wprowadza kubit w stan superpozycji.
Bramka H jako macierz:
H = 1/sqrt(2) |1 1 1 – 1|
Przykładem dwukubitowej bramki kwantowej jest bramka CNOT – jest to tak zwana bramka kontrolowanej negacji.
Bramka CNOT jest reprezentowana przez kwadratową macierz 4×4:
Jest to bramka, która odwraca drugi kubit, nazywany kubitem docelowym, wtedy i tylko wtedy, gdy pierwszy kubit, nazywany kubitem sterującym jest w stanie .
W przypadku, w którym rozważamy dwa stany wejściowe oraz , to wyjście docelowe bramki CNOT odpowiada klasycznej bramce XOR. Dzięki drugiemu wyjściu bramka CNOT w odróżnieniu od bramki XOR jest odwracalna, i może być używana w komputerach kwantowych.
Wejście | Wyjście | ||
Sterujący | Docelowy | Sterujący | Docelowy |
|0> | |0> | |0> | |0> |
|0> | |1> | |0> | |1> |
|1> | |0> | |1> | |1> |
|1> | |1> | |1> | |0> |
Jeśli zainteresowała Cię tematyka informatyki kwantowej – przeczytaj pozostałe wpisy: