Podstawy informatyki kwantowej Jerzy KLAMKA 1. Wprowadzenie 2
Transkrypt
Podstawy informatyki kwantowej Jerzy KLAMKA 1. Wprowadzenie 2
Podstawy informatyki kwantowej Jerzy KLAMKA 1. Wprowadzenie 2. Qubity 2.1. Qubity w zapisie wektorowym 2.2. Notacja Diraca 2.3. Macierze gęstości 2.4. Stany kwantowe splątane 2.5. Obserwable 3. Bramki kwantowe 3.1. Bramki 1-qubitowe 3.2. Bramki 2-qubitowe 4. Perspektywiczny uniwersalny komputer kwantowy 5. Algorytmy kwantowe 5.1. Algorytm poszukiwań Grovera 5.2. Algorytm faktoryzacji Shora 1. Wprowadzenie 2. Qubity 2.1. Qubity w zapisie wektorowym W klasycznej informatyce pojedynczy bit może przyjmować tylko dwie ustalone wartości logiczne to znaczy 0 lub 1. Natomiast elementarną jednostką kwantowej informatyki jest kwantowy bit zwany qubitem oraz oznaczony symbolem . W opisie matematycznym pojedynczy qubit jest dwuwymiarowym znormalizowanym (o długości 1), wektorem o współczynnikach zespolonych, a więc jest elementem 2-wymiarowej zespolonej przestrzeni C2. Dwa ortogonalne stany dla pojedynczego qubitu są postaci {0,1} i tworzą one bazę ortogonalną 1 0 0 , 1 w 2-wymiarowej zespolonej przestrzeni C2. W zapisie tym wektory bazowe 1 0 C2 0 0 1 C2 1 reprezentują odpowiednio wartości logiczne 0 oraz 1 klasycznego bitu algebry Boole'a. Dowolny qubit C2 może być przedstawiony w postaci liniowej kombinacji wektorów bazowych 1 0 1 0 0 1 , gdzie liczby zespolone oraz nazywane są amplitudami prawdopodobieństwa, natomiast wektor jest wektorem 2 znormalizowanym o długości 1 to znaczy 2 1 [1], [3], [8]. Oznacza to, że qubit C2 przyjmuje wartość logiczną 0 z prawdopodobieństwem 2 oraz wartość logiczną 1 z 2 prawdopodobieństwem . Przestrzenią stanów kwantowych dla 2 qubitów jest iloczyn tensorowy (oznaczony symbolem ) przestrzeni stanów kwantowych dla pojedynczych qubitów. W przypadku 2 qubitów jest to 4wymiarowa przestrzeń zespolona C4=C2C2. Przykładowo, iloczyn tensorowy dwóch dowolnych qubitów postaci =0+1= C2 oraz =0+1= C2, będący wektorem w 4-wymiarowej zespolonej przestrzeni C4 jest dany następującym wzorem: = = 0+10+1 = 1 0 1 0 = = = 1 1 0 0 1 0 0 0 0 1 0 0 = 0 0 1 0 = 0 0 0 1 =0 + 1 + 2 + 3= 4 =00 + 01 + 10 + 11 = C Iloczyn tensorowy wektorów jest działaniem łącznym ale nie jest przemienny to znaczy Ogólnie, układ kwantowy złożony z n qubitów można rozpatrywać jako wektor w 2n-wymiarowej zespolonej przestrzeni n C 2 , która jest iloczynem tensorowym n 2-wymiarowych przestrzeni zespolonych C2, czyli n 2 C2 C C2 ... C2 n razy która zawiera 2n wzajemnie ortogonalnych stanów postaci {0,1,...,i,...,2n-1}, gdzie i jest liczbą naturalną przedstawioną za pomocą n-bitowego kodu binarnego, i=0,1,2,...,2n-1. W tym przypadku stosuje się również równoważny zapis wykorzystujący bezpośrednio wagowy kod binarny liczby naturalnej k n 1 i a 2 k k 0 k , to znaczy i=an-1an-2...ak...a1a0 gdzie ak, k=0,1,2,...,(n-1) przyjmujące wartości 0 lub współczynnikami odpowiadającymi wagom 2k, k=0,1,2,...,(n-1). 1 są n Zatem, wektor i C 2 posiada 1 na (i+1) pozycji a zera na wszystkich pozostałych. Wykorzystując iloczyn tensorowy wektor i można przedstawić w następującej postaci i an1an2 ak a1a0 an1 an2 ak a1 a0 Ponadto, 2n-wymiarowe wektory postaci T 2 i [0 ,0 ,..., 0 , 1 , 0 , 0 , 0 , 0 ,..., 0 , 0 ] C i razy n ( 2n i 1) razy n tworzą bazę ortogonalną w zespolonej przestrzeni C 2 . Układ kwantowy n qubitów jest znormalizowanym wektorem n w przestrzeni C 2 , który może być przedstawiony w postaci liniowej kombinacji 2n wzajemnie ortogonalnych wektorów bazowych 0, 1, 2,..., i,..., 2n-1. Stąd: i 2 n 1 i 0 i 2 n 1 gdzie i 0 i 2 i i 1 Przykładowo, dla układu kwantowego złożonego z 2 qubitów 4 wektory bazowe wzajemnie ortogonalne {0,1,2,3}={00,01,10,11} w 4-wymiarowej zespolonej przestrzeni C4 są postaci następującej: 1 1 1 0 0 00 0 0 C4 0 0 0 0 0 1 0 1 1 01 0 1 C4 0 1 0 0 0 0 1 0 2 10 1 0 C4 1 0 1 0 0 0 0 0 3 11 1 1 C4 1 1 0 1 Rejestr kwantowy jest zbudowany z qubitów z wykorzystaniem superpozycji stanów kwantowych oraz operacji iloczynu tensorowego. Niech kC2, k=0,1,..,n-1, będzie danym zbiorem n qubitów. Rejestr kwantowy jest iloczynem tensorowym n qubitów postaci 1 2 ... k ... n 1 2.2. Notacja Diraca. Symbol c1 c 2 ci cn ciC, i=1,2,...,n oznacza n-wymiarowy elementach zespolonych, natomiast symbol wektor c1 c2 ci cn kolumnowy o , ci C, i=1,2,...,n oznacza n-wymiarowy wektor wierszowy o sprzężonych elementach zespolonych. Elementy zespolonych wektorów znormalizowanych o długości 1 spełniają równość i n 2 2 2 2 2 ci c1 c2 ci cn 1 i 1 Iloczyn skalarny n-wymiarowych wektorów oraz dany jest wzorem c1 c2 ci d1 d 2 i n cn cidi di i 1 d n Stąd c1 c2 ci c1 c 2 in 2 in cn cici ci i 1 ci i 1 cn Niech w przestrzeni Cn będzie dana baza ortonormalna złożona z wektorów jednostkowych {e1,e2,…,ei,…en}. Wówczas 1 n i n i 1 i 1 ei ei ci ei i n i n i n i 1 i 1 i 1 ei ei ei ei ei ei Iloczyn jest nn wymiarową zespolonych, której rząd wynosi 1. macierzą o elementach 2.3. Macierze gęstości. Macierz nn-wymiarowa nazywa się macierzą gęstości jeżeli jest macierzą dodatnio określoną o śladzie równym 1. Szczególnym przypadkiem macierzy gęstości jest macierz rzutowania na dany wektor q oznaczona symbolem Pq, której rząd jest równy 1. Macierze gęstości nie będące macierzami rzutowania mają zawsze rząd większy od 1. Każdemu wektorowi qCn można przyporządkować w sposób jednoznaczny operator rzutowania Pq, który rzutuje dowolny wektor wCn na 1-wymiarową podprzestrzeń liniową generowaną przez dany wektor q. Pq w q w q Operator rzutowania reprezentowany hermitowską (symetryczną) macierzą jest nxn-wymiarową Pq q q i jak łatwo można sprawdzić spełnia warunek rzutowania PqPq=Pq. Przestrzenią stanów jest 2n-wymiarowa przestrzeń C 2 C 2n C 2 C 2 ... C 2 n W przestrzeni C 2 czyste stany kwantowe są reprezentowane znormalizowanymi wektorami o długości 1. n Niech symbol B 0,1 oznacza zbiór dwuelementowy oraz B n 0,1n zbiór będący iloczynem kartezjańskim n zbiorów B 0,1 . Ponadto, niech xi B dla i=1,2,...,n. Wówczas 2n-wymiarowe znormalizowane wektory postaci x1 , x2 ,..., xi ,..., xn x1 x2 ... xi ... xn tworzą bazę ortonormalną w zespolonej przestrzeni kwantowych C 2 . stanów n Zatem dowolny stan kwantowy q C 2 układu kwantowego złożonego z n qubitów można przedstawić w postaci kombinacji liniowej stanów bazowych n q c x1 , x2 ,...,xi ,...,xn ( x1 , x2 ,...,xi ,...,xn )B n x1 , x2 ,..., xi ,..., xn gdzie zespolone współczynniki cx , x ,...,x ,...,x spełniają równość 1 ( x1 , x2 ,...,xi ,...,xn )B n 2 i n c x1 , x2 ,...,xi ,...,xn 2 1 c x , x ,...,x ,...,x Zespolone współczynniki noszą nazwę prawdopodobieństwa względem bazy ortonormalnej 1 2 i n amplitud Współczynniki cx , x ,...,x ,...,x mają interpretację fizyczną, a mianowicie 1 2 i n kwadraty ich modułów c x , x ,...,x ,...,x 1 2 i 2 n reprezentują prawdopodobieństwa znalezienia się układu kwantowego w stanie bazowym x1 , x2 ,..., xi ,..., xn C 2 n . W przypadku, gdy układ kwantowy składa się z dwóch podukładów kwantowych odpowiednio o przestrzeniach stanów C k oraz C m , wówczas jego 2n-wymiarowa, (n=k+m) przestrzeń stanów C n jest iloczynem tensorowym 2 2 2 C 2n C C 2k 2m . q , Wykorzystując postać wektora można zdefiniować odpowiadający mu operator rzutowania reprezentowany następującą 2 n 2 n -wymiarową, hermitowską (symetryczną), dodatnio określoną, macierzą rzutowania Pq q q Ponadto ślad macierzy rzutowania Tr(Pq)=1. Macierz rzutowania Pq reprezentuje operator rzutowania na jednowymiarową podprzestrzeń generowaną przez wektor q . Zatem istnieje wzajemna odpowiedniość pomiędzy danym qubitem n q w postaci 2 -wymiarowego wektora, a dopowiadającym mu operatorem gęstości Pq w postaci macierzy rzutowania (gęstości). W mechanice kwantowej występują: stany kwantowe czyste reprezentowane wektorami lub macierzami rzutowania, oraz stany kwantowe mieszane będące wypukłymi kombinacjami liniowymi stanów czystych reprezentowane macierzami gęstości. Dowolny samosprzężony, dodatnio określony operator : C C 2 , reprezentowany 2n 2n -wymiarową macierzą gęstości, której ślad tr = 1, nazywa się stanem układu kwantowego złożonego z n qubitów. 2n n Macierzy gęstości jest 2n 2n -wymiarową macierzą hermitowską (symetryczną), dodatnio określoną, posiadającą 2n rzeczywistych pojedynczych lub wielokrotnych wartości własnych s1 , s2 ,..., si ,..., s2 , którym odpowiadają rzeczywiste 2n-wymiarowe wektory własne w1 , w2 ,..., wi ,..., w2 , a jej ślad n n i 2n Tr( Pq ) si 1 i 1 Wykorzystując wartości własne si, i=1,2,...,2n oraz odpowiadające im wektory własne wi, i=1,2,...,2n, macierz gęstości można przedstawić w postaci liniowej kombinacji macierzy rzutowania na 2n wektorów własnych i 2n si wi wi i 1 Należy jednak zaznaczyć, że powyższe przedstawienie macierzy gęstości jest jednoznaczne jedynie w przypadku pojedynczych wartości własnych. W tym przypadku wartości własne si, i=1,2,...,2n reprezentują prawdopodobieństwa znalezienia się układu kwantowego w stanie kwantowym odpowiadającym wektorowi własnemu wi, i=1,2,...,2n lub równoważnie macierzy rzutowania wi wi , i=1,2,...,2n. W przypadku, gdy i 2n Tr ( ) Tr z z zi zi 1 2 i 1 macierz gęstości jest jednocześnie macierzą rzutowania =Pq na wektor q oraz odpowiadający tej macierzy stan kwantowy nazywa się czystym stanem kwantowym. Natomiast w pozostałych przypadkach macierz gęstości reprezentuje tak zwany mieszany stan kwantowy. Rozróżnianie stanów kwantowych czystych i mieszanych jest możliwe poprzez badanie śladu kwadratu macierzy gęstości. Dla czystych stanów kwantowych mamy: i 2n Tr ( ) Tr ( ) Tr ( Pq ) Tr q q qi qi 1 2 i 1 co wynika z normalizacji wektora q, którego długość wynosi 1 Zatem w tym przypadku =Pq=2 . W przypadku mieszanych stanów kwantowych, odpowiadające im wektory zespolone q znajdują się wewnątrz kuli jednostkowej w przestrzeni C2, a zatem ich długość jest zawsze mniejsza od 1. W tym przypadku ślad kwadratu macierzy gęstości 2 reprezentujący kwadrat długości wektora q jest mniejszy od jedności i wynosi i 2n Tr ( ) Tr q q zi zi 1 2 i 1 2.4. Stany kwantowe splątane. Niech i A oraz j B będą bazami ortonormalnymi odpowiednio dla n-wymiarowego układu kwantowego A oraz m-wymiarowego układu kwantowego B. Zatem dla stanów kwantowych A oraz B mamy i n A ai i i 1 A oraz j m B bj j j 1 B Stąd iloczyn tensorowy tych stanów kwantowych jest postaci A i n j m B aib j i i 1 j 1 i n j m A j B cij i i 1 j 1 A j B gdzie cij = aibj , i=1,2,…,n, j=1,2,…,m są dowolnymi współczynnikami zespolonymi. W ogólnym przypadku faktoryzacja ta nie jest możliwa i wówczas stan kwantowy reprezentowany wektorem nm-wymiarowym w przestrzeni Cnm nie posiadający tej faktoryzacji nazywa się stanem splątanym. Przykładowo stan kwantowy 1 0 2 A 1B1A 0 B jest stanem kwantowym splątanym. n Splątanie oznacza zatem, że dany stan kwantowy C 2 nie może być przedstawiony jednoznacznie w postaci iloczynu tensorowego n stanów kwantowych iC2, i=1,2,...,n. Oznacza to, że między poszczególnymi stanami kwantowymi i istnieją wzajemne korelacje. Przykładowo, niech 1 2 1 2 12 01 10 C 4 Wektor ten reprezentuje stan kwantowy będący wynikiem splątania, gdyż nie można znaleźć dwóch stanów kwantowych 1C2 oraz 2C2 takich, że = 2 2. Pojęcie splątania wiąże się bezpośrednio z tak zwaną bazą ortogonalną Bella, którą w zespolonej przestrzeni C4 tworzą następujące 4 wzajemnie ortogonalne wektory bazowe: 00+11C4, 00-11C4, 01+10C4, 01-10C4. 2.5. Obserwable. Niech Q będzie 2n 2n -wymiarową, macierzą hermitowską, to znaczy Q = Q*, reprezentującą obserwablę Q. Wówczas wartość liczbowa obserwabli oznaczona symbolem Q dla qubitu q C 2 jest postaci: n Q qQ q Z drugiej strony wykorzystując znane z algebry pojęcie śladu macierzy otrzymuje się równość Tr(QPq ) TrQ q q Zatem po wykonaniu odpowiednich przekształceń macierzowych wartość liczbową obserwabli Q można wyrazić wzorem: Q q Q q Tr(QPq ) gdzie Pq jest macierzą rzutowania na 2n-wymiarowy wektor q. W szczególnym przypadku, gdy wektor q jest wektorem własnym obserwabli Q, wówczas wartośc liczbowa obserwabli jest wartością własną odpowiadająca wektorowi własnemu q. W szczególnym przypadku obserwabla może być reprezentowana operatorem rzutowania lub kombinacją liniową operatorów rzutowania. Q z Pq z gdzie Pq jest macierzą rzutowania na 2n-wymiarowy wektor q. 3. Bramki kwantowe 3.1. Bramki 1-qubitowe. Kwantowymi bramkami logicznymi są wszystkie operacje kwantowe wykonywane w przestrzeni stanów kwantowych. Podstawowe operacje kwantowe wykonywane na pojedynczym qubicie nazywane jedno-qubitowymi kwantowymi bramkami logicznymi reprezentowane są 22-wymiarowymi macierzami unitarnymi U będącymi liniowymi wzajemnie odwracalnymi odwzorowaniami w zespolonej przestrzeni C2. Macierze unitarne spełniają następującą podstawową równość: U = U*, gdzie U-1 jest macierzą odwrotną, natomiast w przypadku rzeczywistych macierzy unitarnych U-1 = UT, gdzie UT jest macierzą transponowaną. Macierze unitarne reprezentują w zespolonej przestrzeni C2 obroty o pewien kąt wokół początku układu współrzędnych, które nie zmieniają długości poszczególnych wektorów. Ponieważ istnieje nieskończenie wiele 22-wymiarowych macierzy unitarnych, zatem dla pojedynczego qubitu teoretycznie istnieje nieskończenie wiele różnych kwantowych bramek logicznych, odpowiadających poszczególnym macierzom unitarnym U, oraz realizujących zadaną kwantową operację matematyczną [1], [4], [8]. -1 Należy zaznaczyć, że w przypadku klasycznej dwustanowej algebry Boole’a w odniesieniu do jednego bitu istnieją tylko dwie operacje logiczne, to znaczy identyczność oznaczona symbolem I, oraz negacja oznaczona symbolem NOT. W układach kwantowych operacje te są reprezentowane odpowiednio następującymi macierzami unitarnymi 1 0 0 1 UI = 0 1 1 0 UNOT = dla operacji identyczności I, oraz dla operacji negacji NOT. Przykładowo, działanie wektorów bazowych 1 2 0 C oraz 0 bramki NOT dla ortogonalnych 0 2 1 C 1 można przedstawić następująco: 01, oraz 10, gdzie symbol oznacza transformację wektora. 0 1 1 0 U NOT 0 1 1 0 0 1 0 1 0 1 U NOT 1 1 0 0 1 0 Biorąc pod uwagę postać macierzy unitarnej UNOT reprezentującej kwantową operację negacji oraz stosując standardowy zapis wektorowy otrzymuje się następującą zależność: 1 0 U NOT U NOT ( 0 1 ) U NOT ( ) 0 1 0 1 1 0 ( 0 1 ) ( 0 1 ) 1 0 Zatem, działanie kwantowej bramki NOT dla dowolnego znormalizowanego stanu kwantowego =0+1C2 reprezentowanego wektorem o współczynnikach zespolonych , , można przedstawić następująco: = 0 + 1 1 + 0 = gdzie symbol oznacza negację w zapisie kwantowym, to znaczy zamianę współczynników oraz.. Bramka kwantowa Hadamarda H jest następującą 22-wymiarową macierzą unitarną H 1 2 1 2 1 2 12 1 2 reprezentowana 1 1 1 1 Działanie bramki Hadamarda H dla ortogonalnych wektorów bazowych 0C2 oraz 1C2 można przedstawić następująco: 0 1 2 (0+1)C2, oraz 1 1 2 (0-1)C2. Działanie bramki Hadamarda H dla dowolnego stanu kwantowego =0+1C2 reprezentowanego wektorem o współczynnikach zespolonych , , można przedstawić następująco: = 0 + 1 1 2 ( + )0 + 1 2 ( - )1 Istotną rolę w obliczeniach kwantowych odgrywają wymiarowe hermitowskie unitarne macierze Pauliego postaci 2 × 2- Ogólnie liczby zespolone uij, i,j=1,2 tworzą 22-wymiarową macierz unitarną u11 U u21 u12 u22 Przykładowo, mogą to być macierze postaci: e i / 4 cos( / 8) e i / 4 sin( / 8) F i / 4 sin( / 8) e i / 4 cos( / 8) e cos( / 8) sin( / 8) G sin( / 8) cos( / 8) e i / 4 H 0 0 e i / 4 1 0 J i / 4 0 e cos( / 2) ie i sin( / 2) V ( , ) i cos( / 2) ie sin( / 2) 3.2. Bramki 2-qubitowe. W przypadku układu kwantowego złożonego z dwóch qubitów podstawowe operacje kwantowe reprezentowane są 44wymiarowymi macierzami unitarnymi działającymi w przestrzeni C4. Szczególne znaczenie ma operacja, której działanie można przedstawić za pomocą następującej 44-wymiarowej unitarnej macierzy: 1 0 UD 0 0 gdzie 0 1 0 0 0 u11 u12 0 u 21 u 22 0 0 u12 u D 11 u 21 u 22 jest dowolną operacją kwantową na pojedynczym reprezentowaną 22-wymiarową unitarną macierzą D. qubicie, Operacja ta nosi nazwę “sterowanej bramki D”, gdyż operacja wykonywana na drugim qubicie reprezentowana macierzą D zależy od tego czy pierwszy qubit jest w stanie kwantowym 0C2 czy też w stanie kwantowym 1C2. W przypadku, gdy pierwszy qubit jest w stanie kwantowym 0C2, wówczas drugi qubit pozostaje bez zmian, natomiast gdy pierwszy qubit jest w stanie kwantowym 1C2, wówczas na drugim qubicie wykonywana jest operacja kwantowa reprezentowana 22-wymiarową macierzą unitarną D. W szczególnym przypadku gdy macierz unitarna D jest macierzą odpowiadającą operacji negacji NOT, to znaczy D=UNOT uzyskuje się bramkę kwantową o nazwie "sterowana negacja" oznaczanej symbolem CNOT (ang. controlled NOT), której odpowiada 44-wymiarowa unitarna macierz UCNOT. 1 0 U CNOT 0 0 0 0 0 1 0 0 0 0 1 0 1 0 Działanie 2-qubitowej bramki kwantowej CNOT dla czterech ortonormalnych wektorów bazowych jest następujące: 4 4 4 4 0 =00C , 1 =01C , 2 =10C , 3 =11C można przedstawić następująco: 0 =0000= 0 , 1 =0101= 1 , 2 =1011= 3 , 3 =1110= 2 . Zatem działanie 2-qubitowej bramki CNOT dla dowolnego stanu kwantowego = 00 + 01 + 10 + 11C4 reprezentowanego wektorem odpowiednio o współczynnikach zespolonych , , , , można przedstawić następująco: = 00 + 01 + 10 + 11 00 + 01 + 10 + 11 4. Perspektywiczny uniwersalny komputer kwantowy Formalnie kwantowy komputer jest układem n qubitów, na których można przeprowadzać odpowiednie operacje kwantowe reprezentowane bramkami kwantowymi czyli macierzami unitarnymi odpowiednich wymiarów. Bez utraty ogólności można założyć, że początkowy stan kwantowy n-elementowego układu qubitów odpowiada wektorowi n bazowemu 0,0,0,...,0 C 2 , który następnie jest sekwencyjnie przetwarzany przez dowolny ciąg bramek kwantowych. W wyniku działania ciągu odpowiednio dobranych kwantowych bramek logicznych na początkowy stan kwantowy otrzymuje się w efekcie n-qubitowy końcowy stan kwantowy W, który jest wektorem o n długości 1 w 2n-wymiarowej zespolonej przestrzeni C 2 . Końcowy pomiar wektora W daje nam informacje probabilistyczne. 5. Algorytmy kwantowe Do najważniejszych algorytmów kwantowych należą: 1. algorytm poszukiwań opracowany przez Grovera w 1997 roku, 2. algorytm faktoryzacji liczb naturalnych zaproponowany w 1993 roku przez Shora, 5.1. Algorytm poszukiwań Grovera W 1997 roku Grover zaproponował [5], [6] kwantowy algorytm wyszukiwania informacji w dużych zbiorach danych. Problem polega na wyszukaniu w nieuporządkowanym zbiorze danych {di, i=1,2,3,...,N} zawierającym N elementów określonego elementu dj=y. Klasyczne algorytmy poszukiwań potrzebują średnio N/2 kroków na wyszukanie danej informacji w zbiorze danych zawierającym N elementów. Algorytm kwantowy poszukiwań Grovera znacznie bardziej efektywny i potrzebuje średnio jedynie N kroków. Przykładowo dla N=1016 nieuporządkowanych elementów. klasyczny komputer wykonałby taką czynność w czasie około kilkuset lat. Natomiast komputer kwantowy wykorzystujący algorytm poszukiwań Grovera wyznaczyłby poszukiwany element zbioru w ciągu około kilku minut. 5.2. Algorytm faktoryzacji Shora W 1993 roku Shore zaproponował [7] efektywny kwantowy algorytm umożliwiąjacy faktoryzację liczb naturalnych to znaczy znajdowanie jej podzielników. Algorytm ten posiada wielomianową złożoność obliczeniową. Należy zanaczyć, że jest to najważniejszy opracowany do tej pory algorytm kwantowej informatyki umożliwiający znaczne przyspieszenie wielu istotnych procesów obliczeniowych, wystepujacych głównie w kryptografii. Można wykazać, że przewaga algorytmu kwantowego nad algorytmem klasycznym wzrasta wraz ze wzrostem liczby naturalnej N, która podlega faktoryzacji. Literatura 1. Barenco A., A universal two-bit gate for quantum computation, Proceedings of the Royal Society of London, vol.449, 1995, pp.679-683. 2. Deutsch D., Quantum computational networks, Proceedings of the Royal Society of London, vol.425, 1989, pp.73-90. 3. Bugajski S., Klamka J., Węgrzyn S., Foundations of quantum computing. Part I, Archiwum Informatyki Teoretycznej i Stosowanej, vol.13, no1, 2001, str. 97-142. 4. Bugajski S., Klamka J., Węgrzyn S., Foundations of quantum computing. Part II, Archiwum Informatyki Teoretycznej i Stosowanej, vol.13, no1, 2001, str. 137-149. 5. Grover L.K., A fast quantum mechanical algorithm for database search, Proceedings of the 28th ACM Symposium on Theory of Computations, 1996, pp.212-21. 6. Klamka J., “Quantum search algorithm”, Studia Informatica, vol.23, no 2, 2002, str.95-102. 7. Shore P., Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer, Proceedings of the 35th Annual Symposium on Foundations of Computer Science. Santa Fe, 20-22.11.1994. pp.124-134. 8. Węgrzyn S., Klamka J., Kwantowe systemy informatyki, Instytut Informatyki Teoretycznej i Stosowanej PAN, Gliwice, 2000. 9. Węgrzyn S., Klamka J., “Kwantowe systemy informatyki”, Studia Informatica, vol.21, no.1, 2000, str.15-45. 10.Węgrzyn S., “Kwantowe systemy informatyki”, Nauka, 2000, no.3, str.71-82, 11.Węgrzyn S., Klamka J., “Quantum computing”, Archiwum Informatyki Teoretycznej i Stosowanej, tom 12, zeszyt 3, 2000, pp.235-246. 12.Węgrzyn S., “Informatyka kwantowa i jej miejsce w informatyce jako dyscyplinie naukowej”, Studia Informatica, vol.22, no.1, pp.11-27.