Sunteți pe pagina 1din 96

UNIVERSITATEA DE STAT DIN MOLDOVA

FACULTATEA DE FIZIC

Catedra Fizic Teoretic

Viorel Nicolae ENACHI

C O M P U T E R E C U A N T I C E
Partea I. Introducere teoretic

Aprobat de Consiliul Facultii de Fizic

Chiinu-2010 CEP USM

CZU 004.38(075.8) E 52

Recomandat de catedra Fizica Teoretic Recenzent: Nicolae ENACHE, dr. hab., prof. univ., IFA AM

DESCRIEREA CIP A CAMEREI NAIONALE A CRII Enachi, Viorel Nicolae Computere cuantice / Viorel Nicolae Enachi; Univ. de Stat din Moldova, Fac. de Fizic, Catedra Fizic Teoretic. Chiinu: CEP USM, 2010. - ISBN 978-9975-70-969-9. Pt.1. Introducere teoretic. 2010. 95 p. Bibliogr.: p.93 (13 tit.). 50 ex. ISBN 978-9975-70-999-6. 004.38(075.8) E 52

ISBN 978-9975-70-999-6

Viorel Nicolae Enachi, 2010 USM, 2010

Prefa
n ultimii 20 de ani, procesarea cuantic a informaiei a fost cercetat att teoretic, ct i experimental. Au fost obinute rezultate remarcabile de ctre fizicieni, matematicieni i informaticieni n parte, dar i de colective comune de cercetare, create ad hoc n dependen de problema abordat. Au fost obinute realizri experimentale n ramura computerului cuantic specializat n factorizarea numerelor ntregi, cutarea informaiei n baze de date extrem de voluminoase. S-au obinut rezultate noi n teleportarea informaiei. n anul 2010, a fost realizat simularea moleculei de hidrogen, calculele fiind realizate pe un computer cuantic fotonic (realizarea ideii renumitului fizician-teoretician Feynman de a utiliza computerul cuantic n scopul simulrii eficiente a fenomenelor cuantice). Toate aceste realizri impun introducerea n cursurile universitare de mecanic cuantic i cursuri specializate n domeniu a ideilor fundamentale noi, ce in de informatica cuantic, ceea ce ar contribui esenial la pregtirea specialitilor fizicieni i informaticieni (a se vedea Recomandri speciale bibliografice, p.94), care vor putea activa n domeniul de cercetri nanotehnologice ce in de computerele cuantice. Prezentul studiu este contribuia minim a autorului n atingerea scopului propus. Coninutul acestuia reflect cursul de prelegeri Computere cuantice inut studenilor de la catedra Fizic Teoretic ncepnd cu anul 2002. Aadar, cartea este dedicat studenilor i masteranzilor care i fac studiile la Facultatea de Fizic, dar poate fi utilizat i de studenii de la specialitile Informatica i Tehnologii informaionale avnd o pregtire fundamental minim n fizica cuantic. Independent de specialitile sus-numite, studenii respectivi ar trebui s audieze un curs dedicat teoriei informaiei clasice, care este necesar pentru pregtirea fundamental modern la specialitile vizate. Nu sunt expuse realizrile fizice ale computerelor cuantice i metodele de corectare a erorilor n etapa de procesare i transmitere a informaiei. Toate aceste aspecte vor fi introduse n partea a II-a a studiului, iar actuala ediie, partea I-a, poate fi util ca introducere teoretic scurt n domeniu. n sfrit, vreau s aduc sincere mulumiri colegilor de catedr, care m-au susinut i masterandei la specialitatea Fizic Teoretic i
3

Matematic Silvia Andronic, care a efectuat culegerea textului la computer, dar i pentru observaii asupra unor procedee metodice, de care am inut cont.
Confereniar doctor Viorel ENACHI e-mail:enachi@usm.md

Utilizarea unor simboluri grafice


Operaia Pauli Operaia Pauli Operaia Pauli Hadamard Operaia de faz Operaia de faz Control-NOT Control-Control-NOT

Control-U

Msurare Qubit Bit Clasic

Proiecia pe

sau

Conductor prin care se deplaseaz un qubit n timp, de la stnga la dreapta Conductor prin care se deplaseaz un bit clasic 0 sau 1, ori echivalent sau .

Cteva date istorice semnificative


Anul 1900 1905 1913 1922 1923 1925 1926 1928 1936 1945 1946 1948 1949 1961 1973 1981 1982 1984 1985 1993 1994 1996 1996 1997 2001 2010 Evenimentul Max Planck a cercetat radiaia corpului negru. A.Einstein a explicat efectul fotoelectric. N.Bohr a explicat liniile spectrale ale atomului de hidrogen. Experiena Stern-Gerlach. L.Broglie introduce dualismul particul-und. Heisenberg formuleaz mecanica cuantic matriceal. Schrodinger, Dirac, Born, Jordan, Heisenberg elaboreaz varianta integrat a mecanicii cuantice. Dirac formuleaz teoria relativist a mecanicii cuantice. Informaticianul Turing introduce maina universal Turing. ENIAC este primul computer universal. Von Neuman introduce ideea de memorizare a programelor n computer. Shanon dezvolt teoria informaiei n canale electrice de comunicare. A fost generat perechea de fotoni inseparabili (entanglai). Landauer afirm c informaia este o noiune fizic. Bennet cerceteaz porile logice reversibile. Feynman introduce ideea Computerului cuantic. A.Aspect, Ph.Grangier, G.Roger demonstreaz experimental violarea inegalitii Bell, ceea ce demonstreaz c teoria cuantic este nelocal. Benioff introduce ideea mainii Turing Cuantice. Bennet/Brassard ncepe cercetarea criptografiei cuantice. Deutsch descrie primul computer cuantic universal. Descoperirea experimental a posibilitilor teleportrii cuantice. Shor descrie primul algoritm cuantic de factorizare a unui numr ntreg mare n produsul a dou numere prime (RSA). Shor/Steane elaboreaz codificarea cuantic. Grover anun elaborarea algoritmului cuantic de cutare n baze de date voluminoase. Confirmarea experimental a teleportrii cuantice. Executarea experimental a algoritmului Shor n baza computerului cuantic realizat n spectroscopia nuclear-magnetic de rezonan (NMR). Simularea moleculei pe computerul cuantic fotonic.
6

1. INTRODUCERE 1.1. Computarea este un proces fizic


Din punct de vedere teoretic, calculele pot fi descrise iniial n limbajul matematic (algoritmic) formal (limbajul boolean), bazndu-se pe conceptul computerului virtual Turing, apoi pot fi efectuate pe computerele fizice, care au conceptual arhitectura mainii virtuale, implementate ca o reea de celule logice i registre de memorie. Deci, computerul este un dispozitiv fizic care ne ajut s procesm informaia prin executarea algoritmilor selectai pentru a rezolva o anumit problem. Intrarea iniial este codificat i nregistrat pe un registru de memorie de intrare, dup care un procesor induce modificri ale strii de pe registrul de intrare pn se termin algoritmul de calcul, iar rezultatul codificat se fixeaz pe un registru de memorie de ieire dup care urmeaz decodificarea informaiei finale. Folosind acest punct de vedere, se pot compara abilitile computaionale ale computerelor clasice i cuantice, care rezult, evident, din natura i implementarea lor fizic. Calculatoarele clasice conin registre de memorie, care au un set de elemente fizice bistabile (magnetice sau optice etc.) care pot stoca uniti binare (bii) de informaii: "0" sau "1". Procesorul foreaz o tranziie de la starea iniial a registrului de intrare la starea final care se memorizeaz pe registrul de ieire, n conformitate cu legile fizicii clasice. Desigur, pentru a nelege cu adevrat funcionarea componentelor calculatoarelor clasice moderne, este necesar a lua n consideraie procesele cuantice fundamentale din interiorul componentelor, ceea ce este util pentru inginerii fizicieni sau electroniti, care au aptitudini inovative tangibile cu nanotehnologiile din acest domeniu. Trebuie de menionat faptul c computerele clasice moderne sunt ireversibile att fizic, ct i logic. Aceste computere, pentru a funciona, consum, de exemplu, energie relativ mare pentru procesarea unui bit de informaie n comparaie cu sistemele biologice. Pentru a diminua aceast parte negativ a computerelor, a fost propus varianta reversibil a computerului clasic, care nu a fost materializat, dar nsi ideea a rmas n atenia savanilor i inginerilor.
7

Indiferent de varianta de realizare a computerului clasic, el conine, dup cum s-a mai spus, registre de memorie de L-bii. Numrul de stri ale registrului este egal cu 2^L i acest registru poate s se afle n momentul dat numai ntr-o singur stare, iar procesarea informaiei se efectueaz cu un singur procesor. Procesarea tuturor strilor n mod simultan necesit L procesoare paralele. Anume aceast idee st la baza arhitecturii supercomputerelor moderne clasice. n computerele cuantice, starea (funcia de und !) general a registrului poate fi realizat ca o superpoziie simultan a 2^L stri de baz posibile, fiecare fiind compus din L bii. Aceast stare general poate fi conceput i ca o singur stare de L qubii elementari. ntr-adevr, qubitul elementar, sau mai simplu, qubitul (provine de la cuvntul englez quantum bit, care n traducere este bitul cuantic) este unitatea de msur a informaiei n computerele cuantice i poate lua valori separate |0> i |1> (varianta cuantic a bitului clasic), dar poate fi i o superpoziie ntre |0> i |1>. Realizarea fizic a qubitului se efectueaz prin sisteme cuantice, care posed cel puin dou stri distincte, relativ stabile, cum ar fi atomul, molecula, particule elementare cu spinul 1/2, puncte cuantice etc. (Fig.1), care de fapt pot fi numii qubii staionari, spre deosebire de qubiii flotani, care se realizeaz prin dou stri ortogonale de polarizare a fotonului. Apropo, ultimii se folosesc i n procesul de transmitere cuantic a informaiei.

Fig1. Realizarea clasic a bitului (stnga) prin utilizarea diferenei de potenial electric; realizarea cuantic a qubitului (centru) prin utilizarea sistemului cuantic cu dou stri distincte; realizarea qubitului (dreapta) prin particule cu spinul s=1/2 n cmp magnetic

Procesorul cuantic este o reea, arhitectura creia conine celulele logice cuantice reversibile, ceea ce, de fapt, este realizarea computerului reversibil. Acest procesor preia informaia iniial din registrul cuantic i o foreaz ctre algoritmul cuantic spre finalizarea calculelor specificate n algoritm. n aa mod, se efectueaz procesarea paralel
8

simultan a informaiei cuantice de ctre un singur procesor reversibil cuantic [1, 4]. Este demonstrat c unele probleme pot fi rezolvate mult mai eficient pe computerul cuantic, chiar dac s-ar rezolva aceleai probleme pe supercomputerul clasic. Exemplul clasic este problema factorizrii numerelor ntregi foarte mari. ns paradoxal este cazul factorizrii numerelor ntregi mici utiliznd algoritmi clasici. n acest caz, supercomputerul clasic este mai eficient dect computerul cuantic care utilizeaz algoritmi cuantici. Altfel spus, cu ct numrul ntreg este mai mare, cu att mai eficient este computerul cuantic. Totodat, trebuie de remarcat, c computerul cuantic dispune de dimensiuni moleculare sau nanometrice, funcionarea lui este asistat de interfee i computere clasice. Aceasta este, de fapt, obligatoriu din cauza necesitii de extragere a informaiei cuantice (rezultatul calculelor !) i obinerea informaiei clasice n urma msurrilor efectuate. Ceea ce este important de menionat, din punct de vedere ingineresc, asupra procesului de calcul, sunt urmtoarele: computerul clasic nu necesit control i intervenie permanent asupra procesului de calcul, pe cnd computerele cuantice necesit control i intervenie permanent din partea programatorului. Actualmente, n acest domeniu se ntreprind eforturi foarte mari n cercetare de ctre fizicieni i informaticieni. Pentru o conlucrare eficient, n prezent este recunoscut teza: fizicienii trebuie s cunoasc teoria informaiei i aspectul ei fizic, iar informaticienii trebuie s cunoasc bazele fizicii cuantice (n context informaional) pentru a elabora algoritmi cuantici eficieni. Deci, programatorul forte de azi i cel de mine ndeosebi trebuie s cunoasc bine fizica cuantic i matematica cel puin n context informaional.

1.2.Algebra liniar n spaiul complex Hilbert. Noiuni


Recapitularea scurt a algebrei liniare,va fi utilizat n expunerea noiunilor de baz ale computerelor cuantice i informatica cuantic [2,10].
9

1) Fie conjugat

aparine spaiului complex va conine ;

, atunci spaiul complex

Dac = = , unde a i b sunt numere reale , atunci sau complexe. 2) Vectorul ket este matricea coloan

iar

,...,

numere reale sau complexe. este matricea rnd

Vectorul bra

3) Produsul scalar al vectorului prin De exemplu: fie atunci = = , = = .

n spaiul

se noteaz

4) Produsul direct sau tensorial al vectorilor nsemna prin De exemplu: = = = sau uneori prin

se va .

sau prin

10

5) Fie este operator sau matrice, ceea ce este echivalent, n spaiul complex, iar matrice complex conjugat. De exemplu: Prin = = , atunci = . . Atunci

vom nsemna matricea transpus matricei .

Vom nsemna prin = .

matricea Hermitic conjugat. Atunci

Este uor de demonstrat proprietatea 6) Norma vectorului iar vectorul normalizat va fi Vom nsemna prin sau produsul scalar al lui

. = ,

se va nsemna prin / . produsul scalar al lui i .

7) Vectorii de baz ai spaiului complex se numesc mulimea vectorilor { } care permit a reprezenta oricare vector ce aparine spaiului n form de combinaie liniar (superpoziie) = a vectorilor de baz. De exemplu dac determinm reprezentai prin matricele i

vectorii de baz n spaiul

, atunci oricare vector n spaiul .

se va reprezenta prin

11

Se spune, n acest caz, c vectorii vectorial complex i ali vectori generatori ai spaiului ; Atunci vectorul liniar a vectorilor i :

i , de exemplu .

genereaz spaiul

. n caz general, n spaiul vectorial pot fi folosii

poate fi reprezentat ca o combinaie

De la vectorii de baz se cere independena liniar. 8) Matricea se numete unitar dac dac .

, sau

Exemplu: ; ; ; operator Hermitic. Exemplu: Matricele Pauli, care se utilizeaz n informatica cuantic, sunt unitare: ; ; ; .

Acestea satisfac anumite reguli de comutare ntre ele, care sunt utilizate n calcule teoretice ale informaticii cuantice (a se vedea manuale standarde de mecanic cuantic). 9) Unele proprieti ale produsului tensorial dintre stri i operatori (matrice). a) Pentru oricare scalar i vectorii , are loc egalitatea:

b) Pentru oricare vectori


12

are loc relaia:

c) Pentru oricare vectori

are loc relaia:

d) Fie

V i

W, iar

operatori liniari care

acioneaz n spaiul i respectiv, atunci poate fi definit operatorul liniar , care acioneaz n spaiul n felul urmtor: . Folosind aceast formul, vom defini aciunea operatorului n spaiul i a operatorului n acelai spaiu . Se obin urmtoarele relaii: operator extins, care acioneaz n spaiul Operatorul extins . se va defini n acelai mod: . Operatorii extini pot fi utilizai la scrierea operatorului Hamilton al sistemelor cuantice compozite i Dac se utilizeaz reprezentarea matriceal a operatorilor, atunci n loc de produs tensorial al operatorilor se folosete i produsul Kroneker, care este alt denumire a produsului direct bine cunoscut n teoria matricelor. Adic, dac este matricea de dimensiune i este de dimensiunea , atunci obinem:

e)

Exemple: Produsul tensorial a matricelor Pauli i :


13

De aici obinem c adic nu avem comutarea matricelor i n produsul tensorial. 10) Deseori n literatura de specialitate se utilizeaz simbolul strii , ceea ce nseamn produsul tensorial al strii ori: Pentru operatori la fel, se utilizeaz ; deci avem produs tensorial al operatorului A repetat de k ori. 11) Funcii de operatori sau matrice. Fie operatorul este reprezentat prin descompunerea spectral unde funcii proprii, i a valori proprii ale matricei funcia . Atunci . Poate fi demonstrat c repetat de

este definit univoc. Aceast procedur poate fi utilizat,

de exemplu, pentru calculul rdcinii ptrate, logaritmului i exponentei operatorului.


14

Exemplu: Operatorul Pauli iile proprii respective i

are valori proprii , atunci .

iar func-

1.3. Postulatele mecanicii cuantice


Exist patru postulate ale mecanicii cuantice care sunt expuse n forma adaptat din punctul de vedere al limbajului spre utilizare n informatica cuantic [1]: Postulatul 1: Se d definiia bitului cuantic sau qubitului. Comentarii. Postulatul 2: Se definete evoluia (transformarea) qubitului. Comentarii. Postulatul 3: Se definesc msurrile n sistemele cuantice. Comentarii. Postulatul 4: Se definete descrierea sistemelor de multiqubii n sisteme cuantice compozite. Comentarii. N.B. n manualele mai vechi, mecanica cuantic se bazeaz pe 3 (trei) postulate: 1, 2, 3. Postulatul 4 se utilizeaz, dar nu se spune c el joac rol de postulat. Odat cu apariia ideii despre computere cuantice (~25 ani n urm), s-au publicat lucrri tiinifice i manuale n care Postulatul 4 este ridicat la rang de Postulat. Postulatul 1: Bitul cuantic Fiecrui sistem fizic izolat i se pune n eviden, din punct de vedere matematic, un spaiu liniar vectorial complex (numit spaiul Hilbert), care posed produsul scalar al vectorilor i care se numete spaiul strilor sistemului fizic. Deci un sistem simplu cuantic poate fi qubitul descris n spaiul Hilbert bidimensional avnd vectorii de baz i . ntr-adevr, oricare qubit poate fi reprezentat ca o combinaie liniar a vectorilor . Aici numerele
15

de baz prin superpoziia:

pot

fi reale sau complexe i trebuie s satisfac relaia: i din setul degenerat. . n cazul nostru i

, iar

nu trebuie s fac parte

Postulatul 2: Evoluia qubitului (forma diferenial) Evoluia n timp a strilor unui sistem cuantic izolat este descris de ecuaia Schrodinger: , unde constanta Plank, operatorul lui Hamilton pentru sistemul cuantic, care acioneaz n spaiul Hilbert i este un operator Hermitian . N.B. n spaiul Hilbert exist operatori care pot fi utilizai n ecuaia Schrodinger, dar poate s nu aib realizare fizic. Postulatul 2': Evoluia qubitului (forma integral) Evoluia n timp a strilor unui sistem cuantic izolat este realizat de transformarea unitar U: , unde starea iniial n momentul este dat, nu depinde de timp.

N.B. De fapt Postulatul 2' este o consecin a Postulatului 2, dac se rezolv ecuaia diferenial Schrodinger avnd n vedere condiia iniial . ns, de fapt, pentru a descrie computerele cuantice i informaia cuantic, se folosete tradiional Postulatul 2'. Un exemplu de operator unitar (care se aplic la transformarea unitar din Postulatul 2') este operatorul Hadamard:

care se obine dintr-un operator Hamilton specific.


16

Aplicm H la starea iniial

i obinem .

La fel pentru starea iniial

obinem .

N.B. 1) Operatorul Hadamard H nu este operatorul Hamilton din Postulatul 2. n literatur se folosete una i aceeai liter H pentru operatorul Hadamard i operatorul Hamilton. ns din contextul textului, aceti operatori pot fi uor distini. 2) Matricea este unitar dac unde Exemple: . , atunci

Postulatul 3: Msurri cuantice Msurrile cuantice sunt descrise de setul de operatori de msurare { } numii i proiectori. Aceti operatori acioneaz n spaiul strilor cuantice ale sistemului supus msurrilor. Indicele m indic starea care poate fi obinut prin msurare. Dac naintea msurrilor sistemul cuantic se afl n starea , atunci probabilitatea de a obine rezultatul n cazul unei singure msurri pentru starea este dat de definiia: , Iar dup msurare sistemul se va afla deja n alt stare care, fiind normat, este: .

17

Operatorii msurrilor

satisfac relaia de plintate

Din proprietatea de plintate reiese c:

N.B. Pentru a obine probabilitile experimentale, msurrile se efectueaz pe un ansamblu de sisteme cuantice. Exemplu: Fie c operatorii de msurare n baza computaional sunt , . Se observ uor c de plintate. Fie avem qubitul , adic are loc proprietatea

i deci .

Deci probabilitatea de a observa sistemul n starea de amplitudinea de probabilitate probabilitatea pentru starea starea , prin expresia

este legat

. La fel se obine

. Dup msurare sistemul se va afla n .

Postulatul 4: Strile sistemelor cuantice compozite. Multiqubii Spaiul strilor sistemelor cuantice compozite reprezint n sine produsul tensorial (diadic) al strilor elementelor care
18

alctuiesc sistemul compozit din fie

elemente. Starea sistemului

, atunci starea sistemului compozit este .

Postulatul 4 permite determinarea unor stri deosebite numite stri neseparabile sau stri legate sau n original entanglement. De exemplu, fie starea neseparabil a sistemului alctuit din doi qubii: . Aceast stare posed anumite proprieti extraordinare, adic nu exist dou stri a cte un qubit i , nct . N.B. Qubitul se realizeaz fizic prin dou stri ortogonale ale atomului, moleculei, spinului, fotonului etc. Realizarea fizic a n-qubitului (multiqubit) are loc prin n-atomi, n-molecule, n-spini, n-fotoni etc. Registrele de memorie pot fi realizate fizic dac qubiii interacioneaz n sistemul compozit de n-qubii. Superpoziia strilor cuantice (Post. 1) i strile legate (entangled) a qubiilor (Post. 4) joac un rol fundamental n informatica cuantic asigurnd att paralelismul instantaneu al procesrii cuantice a informaiei, ct i teleportarea informaiei la distane. Aceste resurse informaionale lipsesc totalmente n informatica clasic.
1.3.1. Formalismul operatorului densitate

Cele 4 postulate de mai sus au fost formulate n limbajul vectorilor de stri ale sistemelor cuantice. ns exist o formulare de alternativ, care este echivalent cu prima, ns e bazat pe noiunea de operator sau matrice a densitii. Ultima alternativ ofer posibilitatea de a trata unele probleme ale mecanicii cuantice n cazul lipsei de informaie veridic asupra unor stri cuantice ale sistemului. Cu ajutorul matricei densitate este comod a descrie sistemele cuantice strile crora nu sunt cunoscute complet. Fie c sistemul cuantic se afl n starea a crei probabilitate este . Vom numi mulimea { , }
19

ansamblul strilor cuantice. Operatorul densitate pentru ntregul ansamblu se definete astfel: . este definit pentru ansamblu. Exemplu: Pentru ansamblul statistic a crei temperatur T este cunoscut, probabilitatea de populare a strii este ,

unde Z este suma statistic. Clasa operatorilor, care sunt operatori de densitate se definete conform teoremei: Teorem: Operatorul este operator de densitate, legat de ansamblul { , }, atunci i numai atunci cnd se ndeplinesc urmeste egal cu 1. , atunci . Fie este oricare vector n spaiul de stri, atunci c. t. d. Aceast teorem ofer posibilitatea de a reformula postulatele mecanicii cuantice n limbajul operatorilor densitate. Postulatul 1 Cu fiecare sistem fizic izolat este legat spaiul vectorial complex cu produs scalar (spaiul Hilbert), care se numete spaiu de stri. Sistemul este descris complet de ctre operatorul de densitate al su, care satisface teorema despre proprietile generale. Dac sistemul cuantic se afl n starea cu probabilitatea , atunci (superpoziia strilor ). toarele condiii: 1)Urma ( sau ) operatorului 2) este operator nenegativ. Demonstraie: Fie

20

Postulatul 2 Evoluia n timp a sistemului cuantic izolat este descris de operatorul unitar . (Aici se reformuleaz de fapt postulatul 2, forma integral). Postulatul 3 Msurrile cuantice se descriu de setul de operatori de msurare { }. Aceti operatori acioneaz n spaiul de stri ale sistemului n care se efectueaz msurtori. Indicele indic rezultatul msurrii strilor (ex. nainte de msurri starea sistemului este de msurare se obine conform formulei: n , etc.). Dac , atunci probabilitatea , iar starea sistemului dup msurare va fi, conform indicelui urmtoarea: . Operatorii de msurare { plintate Postulatul 4 Spaiul de stri ale sistemului fizic compozit se reprezint prin produsul tensorial al strilor elementelor sistemului compozit. Dac elementele sistemului compozit le vom numerota de la 1 la i elementul se afl n starea , atunci starea sistemului compozit este . Aceste postulate sunt utilizate la rezolvarea problemelor mai ales atunci cnd: a) Starea sistemelor cuantice nu este complet cunoscut. b) Este necesar a descrie starea componentelor sistemului compozit dac se cunoate starea ntregului sistem.
21

} trebuie s satisfac condiia de

Pentru sistemele compozite de tipul a), trebuie stabilite anumite criterii, deci vom stabili urmtoarele criterii:
1.3.2. Criteriul strilor pure

Fie

operatorul densitate a sistemului, atunci

iar

egalitatea este satisfcut numai atunci cnd descrie starea pur. n caz contrar (are loc inegalitatea), starea sistemului este amestecat, adic starea sistemului nu este bine cunoscut (determinat). Pentru descrierea elementelor sistemelor compozite se utilizeaz operatorul redus al densitii n cazul cnd se cunoate operatorul densitate pentru ntreg sistemul compozit. Fie c sistemul compozit este alctuit din dou elemente (subsisteme) i , iar starea ntregului sistem compozit este descris de operatorul . Operatorul redus al densitii elementului unde este definit prin relaia: , indic urma parial dup sistemul . Fie i , i sunt doi respectiv . . Se obine , unde i i respectiv. i, respectiv, , ceea ce trebuia . operatorii de densitate

vectori ortonormai oricare ai strii elementului pentru elementul Utilizm Exemplu: Fie pentru . Atunci

de ateptat n mod intuitiv. ns pentru strile entanglate rezultatul nu este deloc trivial. Fie c avem o stare entanglat (una din strile lui Bell) care este compozit densitii strii compozite este: . . Operatorul

22

Folosind acest operator densitate, vom calcula operatorul densitate redus pentru qubitul 1, calculnd traseul dup qubitul 2:

. Concluzia este: pentru ntreg sistemul compozit alc-

tuit din doi qubii (dou particule !), altfel spus avem o stare compozit pur, deci bine determinat; n cazul densitii reduse se obine , deci primul qubit se afl n starea de amestec, ceea ce nseamn c cunotinele despre starea primului qubit sunt incomplete. Aceast proprietate este stranie, i anume existena unei astfel de stri a sistemului ntreg, pe care o cunoatem c este pur, conine ns elemente ale sistemului, starea crora este amestec. Am obinut deci ceea ce-i caracteristic strilor entanglate sau stri inseparabile, sau stri corelate (a se vedea remarca). Remarc [2, 3]: 1) Semnificaia fizic a unui produs tensorial al strilor Pentru a vedea reprezentarea fizic a unei stri produs pentru sistemul compozit i vom presupune c nainte de msurare starea global este tatului pentru sistemul i probabilitatea obinerii rezulde exemplu va fi: . De aici se vede c nu depinde de : . Deci rezultatul msurrilor pentru i nu coreleaz. Concluzia, din punct de vedere fizic, este c i nu interacioneaz.
23

. Vom obine

formul analog i pentru sistemul

2) Semnificaia fizic a unei stri globale care nu poate fi reprezentat prin produs tensorial Fie avem dou sisteme cuantice i , starea global a crora nu poate fi reprezentat ca produs tensorial, adic Previziunea rezultatelor msurrilor asupra sistemelor poate fi exprimat prin funciile trebuie folosit funcia global sau i . nu mai ; n acest caz,

pentru obinerea probabilitilor

respective. O astfel de situaie indic corelarea ntre sistemele A i B i, prin urmare, sistemele interacioneaz ntre ele. n aa fel are loc transformarea strii iniiale, care este produs tensorial , ntr-o stare final, care nu poate fi reprezentat ca produs tensorial. Asemenea stri au fost studiate de ctre Bell (1964) n contextul stabilirii caracterului local sau nelocal al interaciunilor n mecanica cuantic, pornind de la ipoteza lui Einstein, Podolsky, Rozen (EPR), precum c pentru a nelege strile entanglate, e necesar de a introduce n teoria cuantic a variabilelor locale ascunse. Verificarea ipotezei a fost propus chiar de ctre EPR (a.1935) prin experimentul inventat de ei (numit ulterior paradoxul EPR), iar confirmarea experimentului ar demonstra c mecanica cuantic nu descrie corect fenomenele naturale. Savantul Bell a propus verificarea acestei ipoteze prin efectuarea msurrilor clasice i cuantice asupra strilor entanglate [4, p.54], care ar lmuri paradoxul EPR. Anume Bell a stabilit criteriile (inegalitatea lui Bell la baza creia se afl o relaie cunoscut n teoria numerelor a se vedea exerciiul de mai jos) prin care se poate verifica ipoteza EPR, efectund msurrile cuantice respective. ntr-adevr, dac inegalitatea lui Bell se respect, atunci Einstein are dreptate, iar teoria cuantic este local i trebuie de introdus variabilele ascunse, ns dac inegalitatea este violat, atunci variabilele ascunse nu exist, iar teoria cuantic, n acest caz, este nelocal. n anul 1981 A.Aspect i colaboratorii au demonstrat experimental violarea inegalitii lui Bell pentru starea entanglat a doi fotoni [3,5].
24

Exerciiu Fie avem patru numere pozitive x1, x2, y1, y2, care satisfac relaia 0<= x1,x2,y1,y2 <=1, atunci are loc inegalitatea: -1<=x1 y1 x1y2+x2y1+x2y2-x2-y1<=0. Demonstrai aceast inegalitate (a se vedea J.Clauser, M.Horne. Phys.Rev.D.v.10,526,(1974))

25

2. QUBII, REGISTRE CUANTICE I PORI LOGICE 2.1. Bit cuantic (qubit) [1, 4]
n sistemele digitale cuantice, la fel ca i n sistemele clasice digitale, informaia este cuantizat prin bii (cazul clasic) sau qubii (cazul cuantic). Definiie. Qubitul este un sistem cuantic descris de vectorul n spaiul Hilbert bidimensional . Qubitul nu este o concepie numai pur matematic, ci este i una care are i un suport fizic. De exemplu suportul fizic poate fi: a) Atomul n una din dou stri: fundamental i starea excitat. b) Fotonul n strile de polarizare vertical i orizontal. c) Electronul, care are spinul , orientat n sus sau jos fa de direcia cmpului magnetic. Qubitul poate fi preparat n starea iniial asupra creia se efectueaz o operaie unitar, iar rezultatul poate fi obinut efectund msurri pentru a obine valorile logice. Spre deosebire de bitul clasic care este reprezentat matematic prin numere reale scalare 0 i 1, qubitul este un vector, care n spaiul Hilbert bidimensional este reprezentat prin matrice, componentele creia pot fi i numere complexe. ntr-adevr, dac trecem convenional de la valorile logice scalare 0 i 1 la strile i , numite qubii de baz, atunci i , pot fi reprezentai prin matrice: .

Aceste matrice alctuiesc baza standard sau baza computaional. n aceast baz un qubit de superpoziie, sau simplu qubit, poate fi scris n forma: . Coeficienii i pot fi i numere complexe care trebuie s sa. Aceast relaie este o condiie

tisfac relaia de normare

impus pentru a facilita procesul de msurri asupra qubitului i reiese


26

din interpretarea probabilistic a strilor

; anume

este probabi-

litatea de a obine ca rezultat al msurrilor valoarea logic 0 i pentru valoarea 1 .

Remarc: Trebuie de menionat urmtoarele momente eseniale: 1) Dac se msoar 0 n starea , atunci starea dup msurare va fi i, respectiv, pentru 1. Acest fenomen de schimbare brusc a strilor dup msurare se mai numete colaps al strilor i este unul din indicatorii nelocalitii mecanicii cuantice. Dar mai sunt i ali indicatori. 2) Spre deosebire de bitul clasic 0 i 1, care poate lua valori consecutive n timp, qubitul superpoziie poate lua valori 0 i 1 instantaneu. Anume aceast proprietate este una care deosebete informatica clasic de cea cuantic. 3) Qubitul poate fi reprezentat folosind coordonatele sferice reale, i :

, i

. (coeficienii

Vizualizarea spaial i temporal a qubitului egal cu 1 ( ).

pot depinde de timp) se efectueaz cu ajutorul sferei Bloch cu raza

Fig.2. Sfera Bloch 27

4) Dac qubitul este msurat n baza computaional, atunci probabilitile de obinere a valorilor logice 0 i 1 vor fi: Prob (0)= n caz general, i , Prob (1)= pot depinde de timp , . . Graficul

dependenei de timp a Prob(1) va fi (Fig.3)

Fig. 3. Oscilaii Rabi a probabilitii. Punctele de pe grafic sunt puncte experimentale simulate

La fel se obine i graficul pentru Prob (0). Aceste grafice corespund cazului ideal, adic timpul mediu de via este infinit. n realitate ns, acest timp de via T1 este relativ mic (~10 -5 sec) i se mai numete timp de relaxare longitudinal a strii excitate. n acest caz graficul dependenei Prob (1) de timp, de exemplu, poate arta n felul urmtor:

Fig. 4.Oscilaii Rabi amortizate. Descreterea probabilitii n timp este caracterizat de timpul de via T1. Punctele de pe grafic sunt puncte experimentale simulate

n afar de fenomenul de relaxare, asupra qubitului

acio-

neaz fenomene fizice care induc decoerena qubitului caracterizat


28

de timpul de via transversal T2, care este un fenomen negativ ce mpiedic realizarea fizic eficient a sistemelor digitale cuantice. Timpul T2 <<T1, ceea ce limiteaz drastic numrul de operaii logice, care pot fi efectuate n timpul T2. Cauza fizic a apariiei timpului caracteristic T2 este fluctuaia relativ a strilor qubitului ca rezultat al interaciunii necontrolabile cu mediul exterior. Exerciiu: Demonstrai c doi vectori i localizai n direcii diametral opuse pe sfera Bloch ,

, sunt ortogonali, adic .

2.2. Operaii unitare pe un qubit


n acest compartiment vom introduce noiunea de pori logice pe un qubit reprezentate prin matrice unitare .
2.2.1. Operaii Pauli

Definiie 2: (Matrice Pauli). Matricele (operatorii) Pauli se definesc n felul urmtor: ; sau , , ; , ; . ;

Exerciii: 1. Verificai urmtoarele proprieti ale matricelor Pauli: 1) Matricele Pauli sunt unitare i hermitiene. 2) Operatorii rotesc qubitul cu un unghi n jurul axelor pe sfera Bloch.
29

3) reprezentai:

au valori proprii 1 i -1. i , operatorii pot fi

4) n baza computaional

5) 6) 7) 8) 9){ } { ; } { } ; .

. ; ; . ; {,} denot anticomutatorul. .

Teorema 1: Fie avem un ansamblu mixt pentru qubii puri. Atunci: 1) Operatorul densitate a ansamblului este: , unde matrice Pauli, iar sunt numere reale care

satisfac condiia: . 2) Operatorul densitate este pur atunci i numai atunci cnd . Demonstraie: 1) Oricare operator din spaiul poate fi scris ca o combinaie liniar a : ; Aplicnd condiia se obin .

30

Pentru a aplica condiia :

, trebuie s calculm mai nti

; Din condiia , obinem: , sau 2) Notm c este pur, dac i numai dac ; c.t.d. . . ns

atunci i numai atunci cnd

Remarca 1: Exist trei matrice unitare, care acioneaz pe un qubit ; i care posed proprietile mete matricea Hadamard. Remarca 2: (poarta X). Fie , unde , ; , ; , iar se nu-

, atunci

Altfel spus, matricea Pauli X acioneaz ca poarta logic NOT. Remarca 3: (poarta Y). Fie ,unde ; atunci

Remarca 4: (poarta Z). Fie , unde ; atunci


31

Adic Z schimb faza, dac Remarca 5: (poarta H). Fie , unde

. atunci

Altfel spus, poarta H transform baza computaional ntr-o baz nou ortonormat n spaiul Hilbert ; Remarca 6: (poarta S). Fie unde . .

atunci

n aa fel poarta S creeaz o deplasare de faz a qubitului Remarca 7: (poarta T). Fie , unde ; atunci

cu

32

Deci efectul aciunii cu .

asupra qubitului

este deplasarea fazei

2.2.2. Operatori de rotaie

O alt clas de operatori unitari, care acioneaz asupra unui qubit, sunt operatorii de rotaie n jurul axei cu unghiul n sfera Bloch:

Remarca 1: (Unele proprieti ale operatorilor de rotaie). 1) 2) , i , 3) Pentru oricare unghiuri

este foarte util teorema de descompunere.


33

Teorem: (descompunerea Y-Z). Fie U este un operator unitar pe un singur qubit. Atunci exist numerele reale astfel nct: . Definiie: (Rotirea general). Fie vectorul unitate pe sfera Bloch i fie vectorul operatorul de rotaie cu unghiul n direcia . Atunci putem defini : .
2.2.3. Registre cuantice de memorie

Dup cum se tie, un computer cuantic manipuleaz informaia sub form de qubii. Un qubit (quantum bit) stocheaz, ca i un bit clasic, o valoare sau , dar i o superpoziie ntre i : , unde i numere complexe i . n acest fel, poate fi stocat mult mai mult informaie. Aducem un exemplu simplu: n 3 qubii clasici se poate scrie n momentul de timp dat numai un numr de la 0 la 7, reprezentai prin 000,001,...,111. n 8 bii, un numr mai mic dect 256 i tot aa n N bii se pot reprezenta pn la numere. n schimb, 3 qubii pot reprezenta toate cele 8 numere simultan; 4 qubii 16 numere i n general, N qubii numere. Memoria unui computer cuantic este, n acest sens, semnificativ mai puternic dect memoria oricrui computer clasic. Vom da definiia matematic a registrului de memorie. Definiie: Un registru cuantic de memorie de n qubii este un sistem cuantic (fizic) a crui spaiu de stare este . Alegnd baza computaional obinem registrul:
34

pentru spaiul Hilbert bidimensional

; sau altfel scris . Dac trecem n baza zecimal, obinem: ; .

Conform principiului de superpoziie, putem scrie starea general a registrului. Aceasta va fi: . Acum vom da definiia general a porii cuantice. Definiie: O poart cuantic este reprezentat printr-un operator unitar definit n spaiul Hilbert n-dimensional, care transform starea iniial a registrului de memorie a n-qubii (intrare) n starea final (ieire) a registrului de n-qubii. Remarc: Deoarece oricare operaie unitar este inversabil, atunci oricare poart logic cuantic este reversibil (cunoscnd ieirea, putem stabili univoc intrarea), spre deosebire de porile logice clasice AND, OR, NAND, NOR, XOR. N.B. Operaia clasic NOT este reversibil.
2.2.4. Pori logice de 2 i 3 qubii

Spaiul Hilbert pentru 2 qubii este produsul direct al spaiului bidimensional este: , , este: , unde numere n caz general complexe. Spre deosebire de un qubit, doi qubii nu pot fi reprezentai pe sfera Bloch, deoarece sunt necesari 7 parametri (grade de libertate).
35

. Baza computaional standard n spaiul , .

Qubitul superpoziie n spaiul

ns ideea general rmne aceeai. O transformare unitar a doi qubii nu este altceva dect o rotaie a vectorului de stare n spaiul . Remarc: n baza standard, oricare operator liniar n este o matrice n general complex i poate fi exprimat ca combinaie liniar a operatorilor din ; , unde i sunt operatori liniari n . . Deci ;

Ca exemplu, pot servi operatorii Pauli, orice operator . 2.2.4.1.Operaia Control-U Fie c este un operator unitar n . Vom defini operatorul Control-U n : poate fi scris ca o combinaie liniar din

Acest operator este inseparabil (nu poate fi exprimat ca produs direct a doi operatori) i deci reprezint interaciunea dintre doi qubii. Vom considera dou cazuri: Cazul 1. Fie ; este un oarecare qubit, atunci: Cazul 2. Fie , atunci: . De aici se vede c dac primul qubit este aplic la al doilea qubit (cazul 2).
36

, atunci al doilea qubit , atunci se

rmne intact (cazul 1), iar dac primul qubit este

n acest fel

d posibilitatea de a controla un qubit de ctre altul.

Aceast proprietate este foarte important n implementarea computerului cuantic. Dac atunci putem realiza poarta CNOT [11]: ori n baza se obine matricea unitar

n mod grafic (convenional), aceast poart se reprezint:

Fig 5. Poarta CNOT

Tabela logic pentru CNOT este: c d x y 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 0

O alt operaie important pe doi qubii este operaia (poarta) SWAP. Reprezentarea matriceal n baza standard este [11]:

Aceast operaie schimb cu locurile qubiii.

37

Exerciiu: 1) Demonstrai c

2) Utilizai CNOT pentru a reprezenta grafic operaia SWAP. Se poate de realizat o poart pentru 3-qubii dac folosim ControlU, unde n loc de U se introduce i se obine ControlControl-Not (CCNOT) [11]: ; sau n baza computaional a 3-qubii obine matricea: se

n reprezentarea grafic poarta CCNOT obinem:

Fig 6. Poarta CCNOT

Tabela logic pentru CCNOT este:


x y z b c d 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0

38

N.B. Succesiunea de pori CNOT poate servi ca conductor pentru a transfera un qubit (bit) sau i un qubit superpoziie dintr-un loc n altul, dac linia de control (c), (fig.5) se menine n starea c=|0>, iar d=a|0>+b|1>. Exerciii: 1) Verificai dac matricele CNOT i CCNOT sunt unitare. 2) Verificai matriceal operaiile CNOT i CCNOT. 3) Demonstrai c CNOT poate servi ca conductor al unui qubit superpoziie. 2.2.4.2.Teorema neclonrii informaiei cuantice Proprietatea de reversibilitate a porilor logice implic reversibilitatea oricrei reele cuantice i n consecin respectiva reea poate fi reprezentat printr-o matrice unitar care efectueaz transformri unitare. Fie am implementat o matrice unitar care posed proprietatea de a clona (copia) informaia cuantic necunoscut [4]. Prin clonare se subnelege copierea originalului, care la rndul su rmne intact. Prin urmare, pentru oricare qubit , unde pe primul loc se afl qubitul original, iar pe al doilea loc se afl qubitul clonat (copiat). Fie i sunt dou stri ortogonale, atunci i . Vom considera qubitul superpoziie . Datorit proprietii de linearitate, obinem: . Pe de alt parte, fiind operator (matrice) liniar, care performeaz clonarea, obinem: , i care nu este egal cu . Prin urmare, nu exist o transformare unitar care, n mod cert, ar clona starea cuantic de superpoziie, spre deosebire de
39

strile ortogonale

sau

etc., care coincid cu bii clasici realizai

la nivel cuantic i care pot fi clonate. Drept exemplu vom utiliza operatorul . n cazul clasic, problema clonrii strilor superpoziie nici nu se pune, deoarece, n acest caz, nu exist stri de superpoziie, spre deosebire de realizarea cuantic a qubiilor. 2.2.4.3. Definiia computerului cuantic Definiie: Pentru procesarea informaiei de ctre procesorul cuantic e necesar s se utilizeze urmtoarele proceduri [4,6]: 1) Prepararea registrului cuantic n starea iniial bine definit . 2) Manipularea strii iniiale a registrului prin consecutivitatea operaiunilor unitare pentru a obine starea final a registrului de n-qubii. . 3) Msurarea strii finale n baza computaional.

Simularea computerului cuantic descris de operatorul unitar M va fi descris detailat n capitolul 4.

40

3. ALGORITMI CUANTICI
n acest capitol cuantic, pentru exemplificare, vom analiza numai civa algoritmi cuantici, care reprezint principii fundamentale i metode universale utilizate n procesarea cuantic a informaiei [1].

3.1. Stri corelate, sau stri entanglate


Strile corelate sunt unice n descrierea fenomenelor cuantice. Aceste stri se ntlnesc n descrierea sistemelor cuantice compozite i servesc ca resurs suplimentar n arhitectura computerelor cuantice, teleportarea informaiei cuantice etc. Pentru a explica aceste stri, vom examina crearea i distrugerea strilor Bell (EPR-Einstein, Podolski, Rozen). Vom examina generarea strilor EPR utiliznd reeaua:

Fig.7. Reprezentarea grafic a entanglerului

Fie Dup celula

, i obinem: .

Fie Atunci

este:

. . :

Acum aplicm operaia CNOT la ambii qubii

41

Conform definiiei strilor entanglate, obinem: . Pentru a ilustra diferena dintre strile produs tensorial i strile entanglate, vom efectua anumite msurri pentru a obine strile i . Operatorii de msurare a qubitului 2 se vor scrie: a strii

. Probabilitatea de a obine starea i este:

;
42

Dup msurare obinem starea:

; Se observ c msurarea nu afecteaz primul qubit msura starea dup operaia CNOT, adic starea: . Probabilitatea obinerii qubitului 2 (*qubitul doi poate fi *) este: sau . Acum vom

; Starea dup msurare va fi:

43

Adic starea obinut n urma msurrii qubitului 2 se modific (*starea pentru qubitul 2

din

parial se distruge*) . n mod similar, obinem , dac se aplic ; ;

Starea dup msurarea qubitului 2

n starea

va fi

Exercitiu: Folosind reeaua din figura 7, obinei cele patru stri Bell, folosind ; .
3.1.1. Concurena strii de entanglare

Pentru a caracteriza starea de entanglare, exist mai multe caracteristici. Una este concurena C, care se definete pentru qubitul (starea) general [4] : , unde iar este matricea Pauli i numrul de

particule (qubii), care particip n starea de entanglement. Fie (cazul sistemului compozit alctuit din 2 spini 1/2). Starea general va fi: iar starea complex conjugat este: , atunci:

Deci, n baza computaional, obinem: ,


44

Produsul scalar

este:

Dac

este normat la

atunci concurena este: . Concurena i 1, adic 1) Dac 2) Dac: a) b) c) d) Strile i , atunci , atunci , atunci , atunci au cel mai mare grad de entanglare . Strile obinute se ; ; ; depinde de timp i poate lua valori ntre 0 . Vom analiza cteva cazuri particulare: , atunci starea poate fi reprezentat ca produs .

direct a doi qubii. Verificai pentru cazul

(corelare), deoarece concurena este

mai numesc strile lui Bell i formeaz o baz n spaiul a doi qubii n spaiul Hilbert. Strile Bell demonstreaz cum poate fi ascuns informaia
45

n momentul msurrilor locale asupra unui qubit din cei doi prezeni n aceste stri. n oricare din strile Bell, dac se efectueaz msurarea numai asupra unui qubit, se obin rezultate n medie complet randomizate (probabilitatea este 1/2). Deci aceste stri nu pot fi distinse (probabilistic), dac msurrile se efectueaz asupra unui qubit, din oricare cei doi. Entanglarea fizic ntre particule (qubii) poate fi obinut, dac aceste particule interacioneaz.

3.2. Transformarea cuantic Fourier rapid


Este bine cunoscut din matematic existena transformrii discrete Fourier. Aceast transformare se utilizeaz, de exemplu, la rezolvarea ecuaiilor difereniale ale fenomenelor fizice, cnd mrimile discretizate se reprezint prin transformarea discret Fourier, care se mai numete metoda undelor plane. Fie axa spaial este mprit n pri egale. Punctele de mprire le vom nota prin . n metoda discretizrii se utilizeaz diferenele etc., la care se aplic transformarea discret Fourier. Deci fiecare coordonat poate fi reprezentat prin seria discret Fourier. , unde sunt coeficienii seriei Fourier, care se calculeaz dup formula: . Transformarea Fourier cuantic [4] este un operator care asigur relaia de coresponden n interiorul spaiului Hilbert asupra bazei . Aici baza este reprezentat pentru comoditate n form zecimal n loc de cea binar. Deci: .

46

Trebuie de menionat c are loc identitatea:

valabil att n contextul clasic, ct i n contextul cuantic. Fie avem o stare cuantic arbitrar de superpoziie unde ,

sunt amplitudinile, care pot lua, n caz general, valori com-

plexe. Pentru aceast stare, are loc relaia de coresponden

unde sunt amplitudinile imagine (sau coeficienii Fourier) a transformrii Fourier. Aceast transformare este unitar, deoarece ea conserv norma strii cuantice: . , deci i baza va fi

Fie acum alegem

n aa fel ca -qubii.

valabil pentru

n acest caz, se spune c avem transformarea Fourier rapid (TFR) sau n englez (FFT). A fost demonstrat c n cazul utilizrii transformrii discrete Fourier rezultatul este atins dup efectuarea a pai, pe cnd varianta rapid i atinge scopul dup pai, ceea ce este foarte convenabil n procesele de calcul. Dup cum am mai spus, la notarea strilor cuantice de baz poate fi folosit varianta zecimal sau binar, deoarece are loc legtura ntre aceste dou reprezentri conform formulei: , pentru numere ntregi, iar pentru numere fracionale avem:
47

. Deci, n cazul , relaia de coresponden va fi: . Dac n aceast relaie introducem reprezentarea binar a numerelor zecimale , vom obine urmtoarea relaie:

= n aceast expresie vom reprezenta binar, n forma fracionar

avnd n vedere, c fel obinem:

, unde

este numr ntreg. n aa

, unde ; etc. Procesarea transformrii cuantice Fourier poate fi exprimat prin poarta deplasrii de faz . Vom considera starea de intrare n form binar Acionm cu poarta Hadamard asupra qubitului
48

. i obinem

, unde s-a folosit , sau . i obinem: . Repetnd de raia pn la , vom obine: . Al doilea qubit va fi tratat n mod similar i se obine: . Continund acest proces, vom obine starea final: . Acesta este rezultatul obinut, cu excepia ordinii termenilor din produsul direct, dar care poate fi schimbat la cel normal, dac se folosete poarta SWAP aplicat de ori. Numrul de pai pentru pe cnd pai. -ori ope-

Acum acionm cu poarta Control -

transformarea cuantic rapid Fourier este de ordinul transformarea rapid clasic Fourier necesit

Reprezentarea grafic a transformrii cuantice Fourier pentru cazul este reprezentat n figura 8:

Fig.8.Transformarea cuantic rapid Fourier pentru 3 qubii 49

3.3. Teleportarea informaiei cuantice


Teleportarea punctul spaial punctele i Einstein) [1]. Fie este procesul de transmitere a informaiei de la n punctul spaial , chiar dac evenimentele din au intervale spaiale (n sensul teoriei relativitii lui c avem un qubit necunoscut al

particulei 1 ( i nu sunt cunoscute) plasat n sistemul fizic situat n punctul , iar n punctul avem acelai sistem fizic. Dorim ca starea s fie plasat pe sistemul identic din punctul B. Aceast deplasare a informaiei ine de fenomenul de teleportare. Acest proces de teleportare poate fi asigurat de una din cele patru stri entanglement Bell (stri EPR). Vom alege una din aceste patru stri, i anume, fie c alegem starea EPR , care descrie parti-

culele 2 i 3 corelate. Fiind corelate, aceste particule se mpart de observatorii din i , anume particula 2 se trimite n , iar particula 3 n . Starea aleas este cunoscut att pentru observatorul din ct i pentru cel din Anume aceast stare aleas asigur canalul cuantic de transmitere a informaiei din punctul spre . n punctul starea general obinut prin produsul tensorial este:

50

Aplicm operaia CNOT asupra qubiilor 1 i 2 i obinem: . Aplicm acum asupra primului qubit din aceast stare operaia Hadamard, adic operaia i avnd n vedere c , , obinem starea:

Transformnd starea

, obinem:

Aceast stare indic c avem o sum alctuit din patru termeni. Primul termen conine qubiii ai observatorului din i qubitul obser51

vatorului servatorul

, care este starea qubitului efectueaz msurri i obine rezultatul va fi n starea

. Dac ob pentru . n aa fel se

qubiii 1 i 2, atunci sistemul lui

pot obine strile qubitului 3, care aparin lui dup ce observatorul a efectuat msurrile. Altfel spus, ca rezultat al teleportrii instantanee strile qubitului 3 vor fi: Dac: , , , . Deci n dependen de msurrile lui qubitul 3 a lui se va afla n una din aceste patru stri. Este evident c pentru a afla n ce stare se afl qubitul lui , el trebuie s cunoasc exact care combinaie din doi bii a fost msurat de Anume aceast situaie nu permite a utiliza teleportaia pentru a transmite informaia cu vitez mai mare dect viteza luminii. Aceasta este datorat faptului c informaia despre msurrile efectuate de poate fi transmis numai prin canalul clasic de comunicare (ex. telefon, radio, TV, Internet etc). Imediat dup obinerea informaiei de la , observatorul poate (tie cum!) s corecteze starea teleportat pe qubitul 3 n aa fel ca s obin starea iniial . Operatorii de rotaie, avnd n vedere cele patru stri teleportate vor fi:

52

Aici, sunt operatorii lui Pauli. N.B.: 1) Cu ajutorul noiunii de matrice densitate, poate fi demonstrat c fr canalul clasic de transmitere a informaiei despre msurrile efectuate de procesul de teleportare nu poate transmite nici o informaie. 2) n genere pot fi teleportai mai muli qubii simultan. 3) Teleportarea poate fi utilizat nu numai n telecomunicaii, dar i n computere cuantice. Pentru aceasta este necesar a utiliza celule logice cuantice (operaii cuantice) pentru implementarea procesului de teleportare. Reeaua care asigur teleportarea, schematic, poate fi reprezentat conform figurii:

Fig.9. n aceast diagram liniile reprezint datele (qubiii) cuantice, iar liniile duble reprezint informaia clasic

4) Pentru descrierea matematic a msurrilor, se utilizeaz principiul de extindere att pentru celulele logice, ct i pentru operatorii de msurare , utiliznd produsul tensorial al operatorilor cu operatorul identitate.

53

4. SIMULAREA CUANTIC 4.1. Simularea computerului cuantic la computerul clasic


Modelul de main cuantic Turing este un mod de a descrie un calculator abstract. Un alt model este construit ca un circuit, numit reea, constituit dintr-un set de celule logice primitive. Cele dou abordri sunt echivalente: orice calcul care poate fi operat n mod eficient cu o main cuantic Turing, de asemenea, poate fi efectuat de ctre un circuit cuantic i viceversa. Simularea computerului cuantic la computerul clasic are o eficien exponenial n timp fa de numrul de qubii utilizai i deci simularea este ineficient. ns n scopuri didactice i tiinifice se poate simula un computer cuantic constituit dintr-un numr relativ mic de celule logice cuantice reversibile. Modelul de calculator cuantic al lui Feynman [6] este mai degrab o versiune cuantic a unui circuit de logic combinaional, care este o descriere a circuitului la nivelul calculatorului care urmeaz s fie implementat. Circuitul este constituit din pori cuantice reversibile de 1 qubit, 2 qubii i 3 qubii. Fiecare poart este reprezentat matematic printr-o matrice unitar A de dimensiunile 2^1, 2^2 i, respectiv, 2^3. n caz general, putem privi circuitul ca fiind compus din k celule logice, fiecare acionnd consecutiv n timp asupra a m qubii. Procesarea informaiei iniiale de intrare se realizeaz de ctre circuitul descris de matricea unitar produs Ak Ak-1.. A1, unde A1 este operatorul (matrice unitar), care servete ca intrare, iar Ak finalizeaz calculele. Prin urmare, ntrebarea este ce Hamiltonian n expresia

va da natere la o evoluie dinamic care pune n aplicare circuitul Ak Ak-1 ..A1. Aceasta este ntrebarea la care Feynman a gsit un rspuns general. El a fcut acest lucru prin lrgirea setului de m qubii (folosit pentru a reprezenta intrrile i ieirile circuitului) cu un set de k+1 extraqubii. Aceti extraqubii se folosesc, pur i simplu, pentru a monitoriza procesul calculelor. Prin urmare, ei servesc ca un fel de contor de parcurgere a programului. Matematic, aceast dolean poate fi ndeplinit folosind Hamiltonianul
54

unde c i a sunt operatori de creare i anihilare, des ntlnii n teoria cuantic a cmpului. Doar un singur qubit al contorului numit cursor este ntotdeauna ocupat. n aa fel, msurnd periodic cursorul, putem determina cnd au fost aplicate toate operaiile k. De ndat ce vom gsi cursorul n pozitia k, vom ti c tot circuitul a fost utilizat la procesarea informaiei iniiale. Informaia procesat se va nscrie pe un registru de n qubii ce va conine un rspuns valabil pentru calculele ncorporate n circuitul ales. n aceast form, Hamiltonianul va fora calculatorul ntr-o suprapunere de stri reprezentate prin toate strile posibile a n qubii, inclusiv a strilor de cursor. Tranziia de la starea iniial a registrului de memorie la starea final a registrului, care conine rezultatul, este descris de probabilitatea de tranziie care va depinde n mod periodic de timp (este o analogie cu tranziiile Rabi de rezonan n sistemele cu dou stri distincte). Prin urmare, intervenia exterioar (observarea) necesar pentru a obine probabilitatea de tranziie va fi descris prin fixarea timpului de evoluie a computerului care ar asigura obinerea probabilitii maxime.
4.1.2. Simularea unui calculator cuantic simplu

Desigur, cum a artat Richard Feynman [6], n prezent nu cunoatem o cale eficient de a simula calculatorul cuantic n mod eficient pe baza unui calculator clasic, deoarece aceast problem are un caracter de eficien exponenial (aceleai greuti se ntlnesc la factorizarea numerelor ntregi mari). ns pentru simularea calculatoarelor cuantice care conin un numr rezonabil de celule logice reversibile unite n circuit (reea), se poate de apelat la computerul clasic, ceea ce va facilita nelegerea principiilor de calcul cuantic, care au loc n computerul cuantic real. n acest sens, modelul computerului cuantic al lui Feynman este cel mai simplu de a-l simula, deoarece poate fi specificat, folosind matricele unitare, dimensional finite din Hamiltonianul expus mai sus. n caz general, pentru orice arhitectur a circuitului, simularea necesit respectarea anumitelor reguli (pai), dup cum urmeaz: 1. Alege calculul care vrei s-l efectueze calculatorul.
55

2. 3. 4. 5. 6. 7. 8. 9.

Reprezint calculul ca un circuit construit din pori logice cuantice. Calculeaz Hamiltonianul H care realizeaz acest circuit. Calculeaz operatorul unitar de evoluie pentru H. Determin mrimea registrului de memorie pentru prezentarea qubiilor de intrare i de cursor. Iniializeaz registrul de memorie de intrare n circuit. Evolueaz calculatorul pentru o perioad de timp. Testeaz dac se face calculul (citete qubiii-cursor). Dac-i aa, extrage rspunsul prin citirea registrului qubiilorrspuns.

4.1.3. Reprezentarea calculului ca fiind un circuit

Odat ce avem n vedere o anumit evaluare particular, urmtoarea ntrebare este cum se poate de creat un circuit cuantic care va produce calculul?! Pentru acest lucru trebuie de specificat ce pori cuantice trebuie de folosit i cum pot fi ele unite. Unirea ntr-un circuit cuantic este doar o specificare ce semnale de ieire (qubii logici) dintr-o mulime de pori pot servi ca semnale de intrare pentru alt mulime de pori. Din punct de vedere fizic, porile pot comunica ntre ele prin schimbul aceluiai qubit fizic sau prin intermediul interaciunilor de cmp. Totui este de folos s vizualizm un circuit cuantic ca un circuit logic combinatoriu clasic. Astfel, un set de pori cuantice i diagramele lor de legtur asociate definesc un circuit cuantic. Transformarea semnalelor de intrare n cele de ieire poate fi unitar n astfel de circuite, deoarece, pentru a fi cuantic realizabil, circuitul trebuie s cauzeze starea cuantic care este intrarea la circuit spre a evolua n concordan cu ecuaia Schrodinger. Oricum, ecuaia lui Schrodinger tot timpul prezice c un sistem izolat cuantic va trece printr-o evoluie unitar. Prin urmare, pentru un circuit ipotetic, ca s poat fi realizabil, din punctul de vedere al mecanicii cuantice, trebuie de pus n aplicaie o transformare unitar total pentru ntreg circuitul. Pentru a asigura unitaritatea peste tot, porile cuantice pe care le conine circuitul trebuie s fie unitare. Oricum, unitaritatea implic reversibilitate. Acest lucru nseamn c ieirile oricrei pori cuantice pot fi deduse, unic, din intrri, i invers. Matematic, aceste pori sunt descrise de matrice unitare.
56

Aa cum pot fi alese diferite mulimi de pori logice clasice, pentru implementarea unui circuit clasic, de asemenea, se pot de ales diferite mulimi de pori cuantice ntr-un circuit cuantic pentru o evaluare cuantic. Se tie c sunt multe posibiliti de alegere pentru pori logice cuantice. Poate fi construit orice circuit cuantic din orice mulime de pori cuantice, dac se folosesc porile universale de 1-qubit, 2-qubii. Oricum, sunt i alte pori cuantice, de exemplu, poarta CCNOT de 3-qubii, care chiar dac nu formeaz o mulime universal, oricum asigur o transformare (unitar) util pentru evaluri specifice. Vom implementa un circuit cuantic care efectueaz sumarea a doi qubii. Circuitul nostru cuantic va conine porile CCNOT i CNOT unite consecutiv. Poarta CCNOT joac rolul de intrare, iar poarta CNOT de ieire, aa cum este prezentat n fig. 9.

Fig.9. Circuitul pentru sumarea a doi qubii a i b

Aici liniile orizontale reprezint convenional Conductorii de qubii, iar timpul va crete pe aceste linii de la stnga la dreapta.
4.1.4. Determinarea dimensiunii registrelor de memorie

Pn la acest moment, cunoatem evaluarea pe care dorim s o obinem i circuitul care o va efectua. Prin urmare, trebuie s calculm de ci qubii este nevoie pentru a simula operaiile acestui circuit. Registrul de memorie a unui computer cuantic (de tip Feynman) este divizat n dou mulimi distincte. O mulime de qubii este folosit pentru a nregistra poziia cursorului (care indic ci pai de calcul au fost efectuai), i cealalt mulime de qubii este folosit pentru a nregistra rspunsul. Dac calculul necesit aplicaia a k operaii logice (k pori) i n de intrare, atunci vor fi k+1 qubii dedicai s monitorizeze poziia cursorului i n qubii dedicai s reprezinte rspunsul. Dac circuitul nostru const din k pori aplicate la o totalitate de n-qubii de intrare, atunci vom avea nevoie de n+k+1 qubii pentru a simula un computer (reea sau circuit).
57

Strile qubiilor-cursor i qubiilor-rspuns sunt cuplate n sensul c dac observm poziia cursorului i l gsim n poziia terminal (k+1), atunci putem fi siguri de faptul c n acel moment, dac se msoar qubiii-rspuns, ei vor dezvlui o soluie garantat probabilistic, corect a evalurii. Deci care ar fi numrul necesar de qubii-cursor i qubii-rspuns pentru circuitul-sumator (a se vedea fig.9). Pentru circuitul-sumator, este nevoie de 3 qubii de intrare (n = 3, dou pori cuantice (k = 2) i deci n + k + 1 = 6. n aa fel, noi putem reprezenta starea complet a registrului de intrare i ieire (qubiii-cursor i qubiii-rspuns) ca un vector (matrice coloni) de dimensiunea 261, care va reprezenta 6 qubii i deci 6 linii, care vor reprezenta circuitul. Acest circuit mai conine elementele logice CNOT i CCNOT aa cum este artat n figura 10:

Fig.10. Sumator n care sunt inclui qubiii pentru cursor (numerotarea condiionat a liniilor s-a efectuat de sus n jos, dup cum este indicat pe desen)

Din considerente practice, matricele CNOT i CCNOT pot fi exprimate prin matricele operatorilor de creare i anihilare, a se vedea Feynman [6, p.678] Pentru ca celulele logice s opereze corect pe 6 linii, trebuie de extins matricele CNOT (CN) i CCNOT (CCN) n spaiul Hilbert 6dimensional. Extinderea lor se efectueaz prin extinderea operatorilor de creare i anihilare (a se vedea anexa II). n aa fel, se obin matricele extinse CNGate[4, 5, 6] i CCNGate{4, 5, 6, 6]. Aici ultima cifr indic numrul liniilor (6), iar numerele (4, 5) i (4, 5, 6) indic liniile pe care se cupleaz CN i CCN. Pentru a verifica adevrurile logice ale porilor extinse CNGate [4, 5, 6] i CCNGate{4, 5, 6, 6], ne folosim de funcia adevrurilor
58

TruthTable[ ] descris n anexa I executnd urmtoarele instruciuni: TruthTable[CNGate[4, 5, 6] ] i TruthTable[CCNGate{4, 5, 6, 6] ] . Rezultatul executrii acestor instruciuni va conine 26 = 64 reguli de dependen logic a qubiilor de ieire i intrare, separat pentru fiecare poart. Remarc: Calculele necesare se efectueaz n limbajul Mathematica [9].
4.1.5. Evaluarea operatorului Hamilton

Un calculator cuantic real este un sistem fizic a crui evoluie n timp poate fi interpretat ca ndeplinind unele evaluri particulare. Evoluia n timp a unui sistem cuantic este descris de ecuaia Schrodinger:

unde

descrie starea unui sistem fizic sau, n cazul nostru, starea

registrului de memorie a unui calculator cuantic la momentul de timp t, tiind starea n momentul iniial, i = i este constanta lui -34 Planck, mprit la 2 i egal cu 1,0545*10 J * s. Astfel, pentru ca un sistem cuantic s execute un circuit cuantic particular, este necesar s cunoatem Hamiltonianul H al circuitului. Existena, n acest sens, a operatorului Hamilton real sau formal unic, fiind n ambele cazuri operator hermitic din spatiul Hilbert este o problem, ce ine de cercetrile din viitorul apropiat. Formal vorbind, n spatiul Hilbert exist o infinitate de operatori hermitici independeni de timp, care nu corespund unui sistem cuantic real, dar care ar asigura evoluia formal a informaiei prin ecuaia Schrodinger temporal. n acest sens, ecuaia Schrodinger poate fi privit i ca o ecuaie formal de evoluie a informaiei. n cazul cnd operatorul Hamilton nu depinde de timp, soluia ecuaiei Schrodinger se exprim prin operatorul unitar de evoluie:

Aadar, dac

reprezint qubiii de intrare pentru circuitul reprezint qubiii de

pe care noi ncercm s-l simulm, atunci


59

ieire la momentul de timp t. Desigur, este obligatoriu ca operatorul de evoluie s cauzeze evaluarea strii n aa mod, nct ar simula aciunea circuitului dorit. Este meritul fizicianului Richard Feynman, care a gsit un aa Hamiltonian, ce ar genera operatorul unitar de evoluie dorit. Trebuie de menionat c acest operator nu este unicul gsit. Dac circuitul, care const din m intrri i n ieiri este compus din k operaii logice (k pori), atunci conform lui Feynman se mai adaug suplimentar o mulime de k+1 qubii pentru cursor. Cursorul servete ca un contor de program ce numr paii efectuai. Dac cursorul este gsit n locul (k+1), atunci registrul de memorie (din n qubii conine garantat un rspuns valid, iar calculele s-au terminat efectiv pentru intervalul de timp (t - 0). Hamiltonianul, care asigur efectuarea operaiilor logice n oricare circuit, este dat de suma unui produs scalar al operatorilor de creare i anihilare cu fiecare operator poart. Ideea a venit de la cercetrile pe care le-a fcut Feynman n dinamica undelor spinului ntr-un lan de particule cuplate. n general, un circuit va consta dintr-o mulime de k pori. Efectul su total poate fi descris de produsul scalar al operatorilor extini Mk pentru fiecare poart aplicat n ordine temporar succesiv. De exemplu, M1 este prima poart, M2 este a doua poart etc., aplicate succesiv n circuit. Deci circuitul, care conine k pori unite consecutiv, va fi descris de matricea unitar M, care este produsul scalar al matricelor Mj unitare extinse: M = Mk .Mk-1 ...Mj .. M2 .M1 Operatorii de creare i anihilare sunt folosii pentru a schimba cursorul nainte i napoi. Pentru a schimba cursorul din locul n ( +1), n primul rnd trebuie s anihilm cursorul n poziia i apoi s-l recrem la poziia ( +1). Aceast micare a cursorului trebuie cuplat cu poarta corespunztoare. Deci termenul care descrie micarea cursorului din poziia n poziia ( +1) a portii Mi+1 este descris de termenul

din Hamiltonianul H, unde operatorii M, c si a sunt extini.


60

4.1.6.Operatorii de creare i anihilare

Operatorul de creare (sau de ridicare c ) este definit prin matricea

Rolul acestui operator este de a converti o stare 0 ntr-o stare 1 i de a converti starea 1 n starea nul. n mod similar, operatorul de anihilare (sau coborre) convertete starea 1 n starea 0 i convertete starea 0 n starea nul i este definit de matricea:

Versiunile operatorilor extini de creare i anihilare din Hamiltonianul H pot fi obinute n aa mod ca ele s acioneze asupra qubitului (linia a cursorului) din setul de k+1+n linii, folosind produsul direct a k+1+n matrice identitate cu excepia ca matricea identitate de pe locul s fie nlocuit cu matricea operatorului de creare sau anihilare dup necesitate. Deci Hamiltonianul extins pentru oricare circuit se va scrie:

unde cruciulia denot transpusa conjugat. Trebuie de menionat c aceast definiie folosete operatorii de creare i anihilare pentru a mica cursorul nainte i napoi i pentru a aplica operatorul porii n mod corespunztor, atunci i numai atunci cnd cursorul este ntr-o poziie corect. n acest fel, efectul net al unui asemenea Hamiltonian este de a plasa calculatorul cuantic ntr-o superpoziie (suma de evaluri) n care sunt aplicai diferii operatori de poart. Oricum, poziiile cursorului i numrul de pori sunt perfect corelate ntre ele. Matricea operatorului H pentru oricare circuit are dimensiunea 2k+1+n x 2k+i+n . Pentru circitul sumator, se obine matricea 64 64. Acest lucru poate fi vizualizat cu ajutorul funciei Hamiltonian [ ] (a se vedea anexa). Pentru aceasta, vom defini circuitul prin variabila sumator prin List, n felul urmtor: sumator = {CCNGate[4, 5, 6, 6] , CNGate[4, 5, 6] },
61

iar matricea Hamiltonianului va fi Hamiltonian [3, 2, sumator]. Fiind dat Hamiltonianul, noi putem estima evoluia operatorului unitar din

cu ajutorul funciei EvolutionOP[ ] din anexa II, prin instruciunea: EvolutionOP [3, 2, sumator, t] .
4.1.7. Evoluia computerului cuantic pentru o perioad de timp fixat

Pentru circuitul sumator, una dintre strile iniiale poate fi adunarea qubiilor |1> i |1>, care se va scrie: ]Psi(0)> = |100110> = ket[1,0.0.1,1,0], unde prin ket[ ] se nseamn vectorul ket exprimat prin simbolul |..> (a se vedea anexa I) . Dac asupra circuitului nu se efectueaz msurri, n intervalul de timp (0 , t) atunci circuitul evalueaz conform operatorului unitar de evoluie. La intervenia msurrilor, n acest interval de timp, starea n momentul interveniei se va schimba i poate deveni controlabil. ns mediul nconjurtor poate s genereze interaciuni parazitare necontrolate cu circuitul cuantic i ele pot fi calificate ca intervenii de msurri asupra circuitului, ns aleatorii. n aa fel, la procesarea informaiei cuantice se nasc erori (ceea ce nu se observ, n mod regulat, la computerele clasice n timpul procesrii informaiei) i, evident, aceste erori trebuie corectate n timpul procesrii. Aceast situaie demonstreaz diferena dintre computerele cuantice i cele clasice. Actualmente exist o sumedenie de algoritmi pentru a corecta erorile n computerele (circuitele) cuantice, iar aceti algoritmi fac parte din tiina Informaia cuantic analogul tiinei Informaia clasic. Combaterea erorilor este o problem important pentru computerele cuantice, deoarece este necesar de meninut memoria registrului n stare de suprapunere coerent destul de mult timp pentru ca calculul s aib loc.
62

n lipsa erorilor, evoluia circuitului (conservativ analogul sistemului cuantic conservativ) este asigurat de ecuaia Schrodinger prin funcia SchrodingerEvolution[ ] (a se vedea anexa II). Pentru sumator aceast funcie este: SchrodingerEvolution[ket[1,0.0.1,1,0], 3, 6, sumator, t ], primul argument n funcia SchrodingerEvolution este starea iniial ket[1,0,0,1,1,0] a registrului de memorie, al doilea termen este m = 3, al treilea termen este n+k+1 = 6. Pentru simplitate vom stabili h=1 i evalum calculatorul pentru intervalul (t-0 )=t= 0.5 uniti. Functia SchrodingerEvolution returneaz starea calculatorului pentru timpul de 0.5 uniti. La acest moment de timp, probabilitatea gsirii registrului de memorie (biii cursorului i bitul programului) n fiecare configuraie logic posibil este dat de funcia Probabilities[ ] (a se vedea anexa). Pentru sumator aceast funcie se va scrie: Probabilities[evoln1,ShowEigenstates->True ] . Aici variabila evoln1 conine superpoziia strilor logice posibile obinut ca rezultat al calculelor n intervalul t=0.5. Opiunea ShowEigenstates->True afieaz strile logice posibile i probabilitile respective. Dac vom lua alt interval de timp, de exemplu t=0.8, atunci se obin alte probabiliti. Dup cum poate fi verificat, probabilitile de obinere a unui rspuns corect cresc sau scad n timp. n modelul de calculator cuantic al lui Feynman, exist incertitudinea cnd va fi finisat calculul. Oricum, considerm c ori de cte ori cursorul este observat la poziia k+1, rspunsul n registrul de memorie este ntotdeauna corect. Dup cum se poate uor de verificat, probabilitile vor oscila n timp ntre starea iniial ket[1,0.0.1,1,0] i starea final ket[0,0,1,1,0,1], cu o anumit perioad. Comportarea periodic se observ la fenomenul de rezonan n sistemul cuantic cu dou nivele distincte, cnd asupra sistemului acioneaz o perturbaie de o frecven fixat. Asemenea oscilaii ale probabilitii se mai numesc oscilaii Rabi. n practic, faptul c nu putem anticipa cu certitudine timpul n care calculele vor fi complete, nseamn c trebuie s observm perio63

dic poziia cursorului pentru a vedea dac calculele au fost finisate. Dei nu putem observa direct starea biilor de rspuns n timpul a astfel de observaii asupra biilor cursorului, aceste observaii vor afecta starea ntregului registru de memorie (biii cursorului i biii de rspuns). Odat ce am gsit cursorul la o poziie particular, adic fie n poziia a cursorului, starea registrului complet este proiectat ntr-o suprapunere de stri n care poziia cursorului este . Dac cursorul este gsit la poziia (k+1), atunci evoluia ulterioar este mpiedicat i este msurat starea registrului de memorie completat (biii cursorului plus biii de rspuns). Dac cursorul nc nu este la poziia (k+1), funcia SchrodingerEvolution este reluat lund noua stare proiectat ca stare iniial. Astfel, ntreg calculatorul evolueaz ntr-un mod step by step pn atunci cnd poziia cursorului va fi (k+1) i probabilitatea strii finale va fi maxim. Pentru a testa finalizarea calculelor, trebuie s msurm numai qubiii folosii pentru a codifica cursorul n registrul de memorie. Pentru a simula actul de citire a biior cursorului registrului de memorie, folosim funcia ReadCursorBits[ ] utilizat pentru a urmri poziia cursorului i superpoziia strilor logice, care reprezint starea complet a registrului de memorie la un moment dat. Aceast funcie returneaz poziia cursorului i noua stare n care este proiectat registrul de memorie ca rezultat al msurrii simulat de aceast funcie. S aducem exemplu pentru timpul de executare t=1 n funcia SchrodingerEvolution: state1=SchrodingerEvolution[ket[1 ,0, 0, 1, 1, 0], 3, 2, sumator, 1]: {cursor1,projected1}=ReadCursor[3,state1] Acum putem vedea valorile variabilelor: state1 projected1 cursor1 Aici variabila state1 a sistemului n mometul t=1, projected1 indic strile proiectate n dependen de valoarea variabilei cursor1, care indic poziia cursorului. Pentru poziia dat a cursorului, variabila projected1 poate conine i o anumit superpoziie de stri care au una i aceeai poziie a cursorului.
64

Pentru citirea (sau extragerea rezultatului calculelor) din registrul de memorie, poate fi aplicat funcia (a se vedea anexa II): ReadMemoryRegister[state1].

4.2. Simularea cuantic pe computere cuantice


Dup cum s-a vzut, capacitatea unui calculator cuantic este datorat unui paralelism cuantic asociat cu principiul de superpoziie. Aceasta nseamn c un calculator cuantic poate procesa un numr mare de intrri clasice ntr-o singur rulare. Dar problema mai dificil o constituie extragerea informaiei utile din starea de ieire (final). Aceast informaie este, ntr-un anumit sens, ascuns. Rezultatul unui proces de msurtori este inerent probabilistic i probabilitile diferitelor stri de ieire posibile sunt determinate de postulatele de baz ale mecanicii cuantice. n prezent, exist totui algoritmi cuantici eficieni care permit extragerea informaiei utile. Unul dintre algoritmii cuantici a fost propus de Peter Shor [3] n anul 1994 i el rezolv eficient problema descompunerii n factori primi: dat fiind un numr N compus, ntreg i pozitiv, s se gseasc factorii primi n care el poate fi descompus. Aceasta este o problem central n tiina calculatoarelor i se afirm, dei nu s-a demonstrat, c folosind un calculator clasic este dificil s se gseasc factorii primi pentru un numr N dat. Algoritmul lui Shor rezolv eficient problema factorizrii unui numr ntreg prin creterea considerabil a vitezei de calcul. ns exist o nuan, i anume, dac numrul N se reprezint n bii i conine mai puini bii dect 300, atunci computerul clasic (folosind cel mai eficient algoritm clasic) este mai eficient dect computerul cuantic. ns, dac N conine mai mult de 300 bii, atunci mai eficient este computerul cuantic, care funcioneaz n baza logaritmului Shor. Trebuie menionat c exist n prezent un sistem de codificare, cum ar fi RSA, dar exist i doritori de a sparge acest cod. Autorii acestui sistem asigur securitatea bazat pe faptul c nu exist algoritmi clasici eficieni pentru rezolvarea problemei descompunerii n factori primi prin intermediul crora pot fi generate cheile secrete, pornind numai de la cunoaterea numrului N,
65

care este un numr public. Deci, utilizarea algoritmului Shor implementat pe un calculator cuantic va oferi posibilitatea de a putea sparge codul actualului sistem de codificare RSA. Au fost realizai i ali algoritmi cuantici care prezint avantaje fa de cei clasici. Astfel, L. Grover a demonstrat c folosind calculatorul cuantic se poate rezolva uor problema gsirii informaiei ntr-o baz de date care conine un numar mare de N informaii nestructurizate. Dac se folosesc algoritmi clasici de cutare, atunci e nevoie de N pai. n cazul utilizrii algoritmului Grover, informaia se gsete dupa N pai. O alt clas de probleme importante, privind algoritmii cuantici, o constituie cea a simulrii sistemelor fizice cuantice. De exemplu, se tie c simularea unui sistem cuantic compus din mai multe particule aflate n interaciune pe un calculator clasic este foarte dificil, deoarece dimensiunea spaiului Hilbert al strilor acestui sistem crete exponenial cu numrul de particule. Astfel, pentru un lan unidimensional compus din n particule cu spinul 1/2, dimensiunea acestui spaiu este 2n i deci o stare posibil a sistemului respectiv este determinat de 2n numere complexe. n schimb, la un calculator cuantic creterea volumului de memorie necesar este proporional cu numrul n de qubii. Ca urmare, un calculator cuantic, opernd pe un registru compus din cteva zeci de qubii, poate depi n performan orice calculator clasic actual. Desigur, aceast afirmaie este adevarat numai dac se pot realiza algoritmi cuantici eficieni pentru extragerea informaiei utile din calculatorul cuantic. Este foarte interesant de observat c un calculator cuantic poate fi folosit nu numai pentru studiul proprietilor sistemelor multiparticule, cum ar fi atomi, molecule etc., dar i pentru determinarea dinamicii sistemelor cuantice complexe. n acest context, poate fi afirmat c prevederile savantului fizician-teoretician R.P.Feynman [6] n privina simulrii eficiente a sistemelor cuantice pe computerul cuantic s-au adeverit. ntr-adevr, recent (n 2010) un grup de fizicieni, informaticieni i chimiti din Australia, SUA, Anglia n frunte cu dr.B.P. Lanyon [7] au simulat reuit molecula de hidrogen-H2 pe un computer cuantic fotonic.

66

Postfa
Se pune ntrebarea dac nanotehnologia de astzi ar putea s implementeze un calculator cuantic performant i peste ct timp? Rspunsul este afirmativ privind posibilitatea de implementare, dar cu privire la durata necesar, trebuie s menionm c exist dificulti n realizarea lui. Cea mai important problem este decoerena cuantic care distruge qubitul superpoziie ntr-un timp foarte scurt, dar i problema scalabilitii. Actualmente, exist mai multe posibiliti de a realiza computerul cuantic, care se afl n continu competitivitate [1,4]. Cele mai competitive sunt: computerele fotonice [7], computerele bazate pe rezonana nuclear magnetic (RNM) n lichide, semiconductori i cristale dopate, computere pe ioni captai n capcane electromagnetice, computere pe atomi neutri n reele fotonice. Se cerceteaz intensiv varianta computerelor bazate pe fulereni dopai [12,13]. La fel se cerceteaz varianta realizrii qubiilor utiliznd materiale supraconductoare i impuriti Pamnt-Rar n cristale laser. Avnd n vedere teza lui Feynman, precum c orice fenomen cuantic poate fi simulat pe oricare computer cuantic, indiferent de modul de implementare a qubiilor fizici ne sugereaz ideea necesitii primordiale de a identifica i elabora algoritmi cuantici eficieni necesari pentru simularea pe computerele cuantice. Toate aceste probleme vor fi analizate n msura de a nelege mecanismele de implementare fizic a variantelor computerelor cuantice i, sper, vor fi publicate n partea II a manualului.

67

ANEXA I Instrumente algebrice de operare n spaiul HILBERT


Cum utilizai instrumentarul? Aici se afl instrumentarul (Operaii algebrice n spaiul Hilbert !!!) necesar n simularea computerului cuantic. Vei gsi instrumentele necesare pentru vectorii bra i ket, generarea randomizat (test) a superpoziiei vectorilor bra i ket, extragerea amplitudinilor i probabilitilor, normalizarea vectorilor ket etc. Pentru a utiliza instrumentarul, mai nti de toate, activai funciile de mai jos:
KetToColumnVector, BraToRowVector, ColumnVectorToKet, RowVectorToBra, KetToBra, BraToKet, ExpectationValue, BasisEigenstates, Amplitudes, Probabilities, SymbolicCoefficients, NormalizedKetQ, NormalizeKet, Direct, TruthTable, HermitianQ, UnitaryQ, SymbolicSuperposition, RandomSuperposition.

REMARCA 1: Pentru a lucra cu funciile de mai sus, introducei, mai nti, evaluarea lor n KERNEL marcnd paranteza a doua din dreapta, apoi apsai Shift+Enter simultan, sau efectuai prin apsare de dou ori click pe mouse. Dup efectuarea acestei operaiuni, putei lucra cu funciile date pe oricare foaie de lucru, chiar dac trecei de pe o foaie
68

pe alta. Aceast posibilitate se menine pn nu ieii din pachetul (numit i aplicatie !!) MATHEMATICA (alias MMA). Ieirea de facto are loc atunci cnd este abandonat Kernel-ul. Abandonarea Kernelului se efectueaz prin dou metode: a) Automat, b) Manual. Abandonarea manual se face prin alegerea opiunii "Evaluation" din meniul MMA, apoi selectai "Quit Kernel", iar abandonarea Automat se face atunci, cnd ieii complet din aplicaia MMA. ns dac nu abandonai complet MMA i dorii s lucrai n continuare, atunci din opiunea "Evaluation" accesai "Start Kernel". REMARCA 2: Fiecare funcie este urmat de exemple concrete. SETUL DE PROGRAME (funcii) 1. Convertirea vectorului Ket n matrice Ket cu o coloni
KetToColumnVector[ket[0]]:={{1},{0}} (* spin sus = 0 *) KetToColumnVector[ket[1]]:={{0},{1}} (* spin jos = 1 *) KetToColumnVector[ket[bits__]]:= Apply[Direct, Map[KetToColumnVector[ket[#]]&, {bits}]] KetToColumnVector[a_ ket_ket]:= a KetToColumnVector[ket] KetToColumnVector[Plus[ket_, kets___]]:= Apply[Plus, Map[KetToColumnVector, {ket, kets}]] KetToColumnVector[superposition_]:= KetToColumnVector[ Expand[superposition] ]

Exemple:
1) KetToColumnVector[ket[0]] 2) KetToColumnVector[ket[1, 0]] 3) KetToColumnVector[ket[0, 1, 1]] 4) KetToColumnVector[a* ket[1]] 5) KetToColumnVector[ket[1] + ket[0]] 6) KetToColumnVector[a*ket[0] + b*ket[1]] 69

2. Convertirea vectorului Bra n matrice Bra cu un rnd


BraToRowVector[bra[0]]:={{1,0}} BraToRowVector[bra[1]]:={{0,1}} BraToRowVector[w_. bra[bits__]]:= w * Apply[Direct, Map[BraToRowVector[bra[#]]&, {bits}]] BraToRowVector[w_. bra[bits__] + bras_.]:= BraToRowVector[w * bra[bits]] + BraToRowVector[bras] BraToRowVector[superposition_]:= BraToRowVector[Expand[superposition]]

3. Convertirea matricei Ket n vectorul Ket


ColumnVectorToKet[amplitudes_]:= Apply[Plus, MapThread[(#1[[1]] #2)&, {amplitudes, EigenKets[ Length[amplitudes] ] } ] ]

Exemplu: ColumnVectorToKet[{{1}, {0}}] 5.Convertirea matricei Bra n vectorul Bra


RowVectorToBra[{{wi__}}]:= Module[{eigenBras}, eigenBras = EigenKets[Length[{wi}]] /. ket->bra; Apply[Plus, MapThread[(#1 #2)&, {{wi}, eigenBras}]] ]

Exemplu: 1) RowVectorToBra[{{0, 1}}] 2) RowVectorToBra[{{1, 1}}] 3) RowVectorToBra[{{1, 1, 0}}]


70

5. Convertirea vectorilor Bra n Ket


KetToBra[ket_]:= RowVectorToBra[Conjugate[Transpose[KetToColumnVector[ket]]]] BraToKet[bra_]:= ColumnVectorToKet[Conjugate[Transpose[BraToRowVector[bra]]]]

Exemplu: 1) KetToBra[ket[1]] 2) KetToBra[ket[1, 0]] 6. Valoarea medie a observabilelor


ExpectationValue[w_. ket[bits__] + kets_., observable_]:= (If[!HermitianQ[observable], (Message[ExpectationValue::notHermitian]; Abort[]), If[Length[observable] != 2^Length[{bits}], (Message[ExpectationValue::incompatible]; Abort[])]]; (BraToRowVector[KetToBra[w * ket[bits] + kets]]. observable . KetToColumnVector[w * ket[bits] + kets] )[[1,1]] (* scalar = a 1 x 1 matrix *) ) ExpectationValue[superposition_, observable_]:= ExpectationValue[Expand[superposition], observable] ExpectationValue::notHermitian = "Matricea observabilei nu este Hermitica."; ExpectationValue::incompatible = "Dimensiunea vectorului de stare nu coincide cu dimensiunea matricei observabilei.";

Exemplu: 1) ExpectationValue[ ket[1] , {{1, 0}, {0, -1}}]


71

(* Calculeaz valoarea medie (elementul diagonal) a operat.{{1,0},{0,-1}}Matricea Pauli Sigma_ Z *) 2) ExpectationValue[ ket[0] , {{1, 0}, {0, -1}}] 7. Determinarea vectorilor de baz (baza computaional |0> ,|1>) n spaiul Hilbert
BasisEigenstates[m_Integer]:= EigenKets[2^m] BasisEigenstates::usage = "BasisEigenstates[m] ntoarce toi vectorii de baz posibili ai registrului de memorie cuantic ."; EigenKets[n_]:= Module[{bits}, bits = Table[Apply[ket, IntegerDigits[i,2]], {i, 0, n-1}]; Map[PadTo[Length[Last[bits]], #]&, bits] ] PadTo[nDigits_, digits_]:= Join[Apply[ket, Table[0,{nDigits - Length[digits]}]],

digits]

Exemplu: 1) BasisEigenstates[1] ( * strile posibile ale unui qubit *) 2) BasisEigenstates[2] ( * strile posibile a 2 qubii *) 3) BasisEigenstates[3] ( * strile posibile a 3 qubii *) 8. Accesarea Amplitudinilor n starea de superpoziie i calcularea probabilitilor
Options[Amplitudes] = {ShowEigenstates->False}; ShowEigenstates::usage = "ShowEigenstates este o opiune pentru Amplitudes care \ determin, dac dorii afisarea listei amplitudinilor sau a listei, care va conine vectorii de stare i amplitudinile."; 72

Amplitudes[w_. ket[bits__] + kets_., opts___]:= Module[{showeigen}, showeigen = ShowEigenstates /. {opts} /. Options[Amplitudes]; Which[showeigen == True, Map[{#, Coefficient[w ket[bits] + kets, #]}&, BasisEigenstates[ Length[{bits}] ] ], showeigen == False, Map[Coefficient[w ket[bits] + kets, #]&, BasisEigenstates[ Length[{bits}] ] ] ] ] (* Aceast clauz capteaz cazurile de tipul 1/Sqrt[2] (ket[0] + ket[1]) etc *) Amplitudes[c_ (w_. ket[bits__] + kets_.)]:= Amplitudes[ Expand[c (w ket[bits] + kets)] ] Amplitudes::usage = "Amplitudes[superposition] afieaz amplitudinile, care corespund vectorilor de baz n superpoziie."; Options[Probabilities] = {ShowEigenstates->False}; Probabilities[w_. ket[bits__] + kets_., opts___]:= Module[{showeigen, amplitudes, symbols, sumOfSquares}, showeigen = ShowEigenstates /. {opts} /. Options[Probabilities]; amplitudes = Amplitudes[w ket[bits] + kets]; symbols = SymbolicCoefficients[amplitudes]; (*vezi mai jos*) sumOfSquares = Simplify[ Apply[Plus, Map[ComplexExpand[Abs[#]^2, symbols]&, amplitudes]]]; amplitudes = If[sumOfSquares=!=1, (* renormalizeaz amplitudes dac este necesar*) amplitudes/Sqrt[sumOfSquares], amplitudes]; 73

Which[showeigen == True, MapThread[{#1, ComplexExpand[Abs[#2]^2, symbols]}&, {BasisEigenstates[Length[{bits}]], amplitudes} ], showeigen == False, Map[ComplexExpand[Abs[#]^2, symbols]&, amplitudes] ] ] Probabilities[c_ (w_. ket[bits__] + kets_.)]:= Probabilities[ Expand[c (w ket[bits] + kets)] ] Probabilities::usage = "Probabilities[superposition] afieaz probabilitile de observare a vectorilor de baz din superpoziie,\ Dac n Probabilities[, ] se folosete opiunea ShowEigenstates->True \ atunci funcia afieaz lista {vector de baz, probabilitate}"; SymbolicCoefficients[amplitudes_List]:= Select[Union[Flatten[Map[Variables, amplitudes]]], Not[MatchQ[#, Abs[_]]]&]

Exemplu: 1) Amplitudes[a* ket[0] + b*ket[1]] 2) Probabilities[0.23* ket[0] + 0.5*ket[1]] 9. Testarea normalizrii vectorului Ket
Needs["Algebra`ReIm`"]; NormalizedKetQ[ket_]:= Module[{columnVector}, columnVector = KetToColumnVector[ket]; (Inner[Times, Conjugate[Transpose[columnVector]], columnVector, Plus ] == {{1}} // N ) /. z_ Conjugate[z_] :> Abs[z]^2 ] 74

NormalizedKetQ::usage = "NormalizedKetQ[ket] Afieaz True dac suma patratelor amplitudinilor este egal cu 1. Dac amplitudinile nu sunt numere ci simboluri, atunci norma nu este determinat.";

Exemplu: 1) NormalizedKetQ[0.23* ket[0] + 0.5*ket[1]] 10. Normalizarea vectorului Ket


NormalizeKet[superposition_]:= superposition /; NormalizedKetQ[superposition] NormalizeKet[superposition_]:= Expand[superposition / Sqrt[Apply[Plus, Map[Abs[#]^2&, Amplitudes[superposition, ShowEigenstates->False] ] ] ] ] NormalizeKet::usage = "NormalizeKet[superposition] afieaz superpoziia normalizat.";

Exemplu: 1) NormalizeKet[0.23* ket[0] + 0.5*ket[1]] 11. Produsul Direct (Kronneker) a vectorilor i matricelor n spaiul Hilbert
Needs["LinearAlgebra`MatrixManipulation`"]; Direct[op1_, op2_]:= BlockMatrix[Outer[Times, op1, op2]] /; MatrixQ[op1] && MatrixQ[op2] Direct[ket_, bra_]:= 75

Direct[KetToColumnVector[ket], BraToRowVector[bra]] /; IsKetQ[ket] && IsBraQ[ bra] Direct[ket1_, ket2_]:= ColumnVectorToKet[ Direct[KetToColumnVector[ket1], KetToColumnVector[ket2]] ]/; IsKetQ[ket1] && IsKetQ[ket2] Direct[bra1_, bra2_]:= RowVectorToBra[ Direct[BraToRowVector[bra1], BraToRowVector[bra2]] ] /; IsBraQ[bra1] && IsBraQ[bra2] Direct[bra_, ket_]:= (Message[Direct::braket]; Direct[BraToRowVector[bra], KetToColumnVector[ket]]) /; IsBraQ[bra] && IsKetQ[ket] Direct[bra_, op_]:= (Message[Direct::braop]; Direct[BraToRowVector[bra], op]) /; IsBraQ[bra] && MatrixQ[op] Direct[op_, bra_]:= (Message[Direct::opbra]; Direct[op, BraToRowVector[bra]]) /; MatrixQ[op] && IsBraQ[bra] Direct[ket_, op_]:= (Message[Direct::ketop]; Direct[KetToColumnVector[ket], op]) /; IsKetQ[ket] && MatrixQ[op] Direct[op_, ket_]:= (Message[Direct::opket]; Direct[op, KetToColumnVector[ket]]) /; MatrixQ[op] && IsKetQ[ket]

76

Direct[matrices__]:= Fold[Direct, First[{matrices}], Rest[{matrices}]] Direct::braket = "Atenie nu exist produs direct ntre bra < | i ket | >, dar exist numai produs scalar (DOT )."; Direct::braop = "Atenie nu exist produs direct ntre vectorul bra i matrice. Exist numai produsul scalar (Dot )."; Direct::opbra = "Atenie- nu exist produsul direct ntre matrice i vectorul bra. Direct::ketop = " Atenie-nu exist produs direct ntre ket i matrice."; Direct::opket = "Atenie nu exist produs direct ntre matrice i ket.";

IsKetQ[w_. ket[__] + kets_.]:= True IsKetQ[_]:=False IsBraQ[w_. bra[__] + bras_.]:= True IsBraQ[_]:=False

Exemple: 1) Direct[{{0, 1}, {1, 0}}, 1/Sqrt[2]*{{1, 1}, {1, -1}}] 2) Direct[{{0, 1}, {1, 0}}, 1/Sqrt[2]*{{1, 1}, {1, -1}}] // MatrixForm 3) Direct[ket[1], ket[0]] 4) Direct[ket[0], bra[1]] (* matricea densitate*) 12. Testarea tabelului adevrurilor pentru celulele Logice
TruthTable[gate_]:= Module[{n,m}, {n,m} = Dimensions[gate]; 77

Which[Not[n==m && IntegerQ[n] && IntegerQ[m]], Message[TruthTable::notsquare]; Abort[], Not[IntegerQ[Log[2, n]]], Message[TruthTable::powerof2]; Abort[] ]; Map[(# -> ColumnVectorToKet[gate . KetToColumnVector[#]])&, EigenKets[n] ] // ColumnForm ] TruthTable::notsquare = "Matricea nu este patrata i unitar, i nu poate reprezenta poarta."; TruthTable::powerof2 = "Matricea nu este (2^m) x (2^m) i nu poate reprezenta poarta logic ireversibil.";

Exemplu: 1) NOT = {{0, 1}, {1, 0}}, TruthTable[NOT] 2) UnitaryQ[NOT] 13. Testarea tipului Operatorilor (Matricelor) (Hermitian,Unitar)
HermitianQ[matrix_]:= matrix == Conjugate[Transpose[matrix]] UnitaryQ[matrix_]:= Module[{rows, cols}, {rows, cols} = Dimensions[matrix]; If[Not[IntegerQ[rows]] || Not[IntegerQ[cols]] || rows != cols, Message[UnitaryQ::notsquarematrix]]; Chop[Simplify[ComplexExpand[Conjugate[Transpose[matrix]]] ComplexExpand[Inverse[matrix]] ] ] == ZeroMatrix[rows, cols] ] 78

UnitaryQ::notsquarematrix = "Matricea nu este patrat."; ZeroMatrix[rows_, cols_]:= Table[0, {rows}, {cols}]

14. Instrumente pentru testarea Superpoziiilor de stri


SymbolicSuperposition[m_]:= Apply[Plus, MapThread[(#1 #2)&, {SymbolicAmplitudes[m], BasisEigenstates[m]}] ] SymbolicSuperposition::usage = "SymbolicSuperposition[m] afisea superpozitia arbitrara."; SymbolicAmplitudes[m_]:= (Clear[w]; Map[ToExpression["w"<>ToString[#]]&, Table[i,{i,0,2^m - 1}]] ) Options[RandomSuperposition] = {Normalized->True}; RandomSuperposition[m_, opts___]:= Module[{normalized}, normalized = Normalized /. {opts} /. Options[Random Superposition]; superposition = Apply[Plus, MapThread[(#1 #2)&, {RandomAmplitudes[m], BasisEigenstates[m]} ] ]; Which[normalized==True, NormalizeKet[superposition], normalized==False, superposition ] ] RandomSuperposition::usage = "RandomSuperposition[m] afiseza superozitia aleatorie ,amplitudinele fiind numere, in general complexe. RandomAmplitudes[m_]:= Table[Random[Complex, {-1-I, 1+I}], {2^m}] 79

Exemple: Comentai rezultatele obinute la activizarea urmtoarelor funcii: 1) SymbolicSuperposition[2] (* superpoziie a tuturor strilor posibile pentru 2 qubii *) 2) SymbolicSuperposition[3] 3) SymbolicSuperposition[4] 4) RandomSuperposition[2] 5) RandomSuperposition[2] 6) RandomSuperposition[2, Normalized -> True] 7) RandomSuperposition[2, Normalized -> False].

80

ANEXA II
Simularea computerului cuantic Feynman Aceast anex conine codul de simulare a calculatorului cuantic Feynman n limbajul Mathematica. n anex se utilizeaz utilitele necesare ( a se vedea Anexa I ) pentru a crea prezentarea matematic a celulelor cuantice, reelelor de celule cuantice, care apoi sunt utilizate n calculatorul cuantic, care utilizeaz reeaua respectiv n procesul de calcul. Modelarea clasic a calculatorului cuantic este foarte costisitoare din punctul de vedere al calculelor, de aceea se simuleaz cu reele rezonabile, care necesit nu prea mult timp pentru calcule. Simularea sumatorului simplu este suficient pentru a ilustra cteva particulariti importante ale calculelor cuantice. Oricare alt reea, dect sumatorul, poate fi asamblat din urmatoarele trei tipuri de celule (pori) logice, de unu, doi i trei qubii de baz reversibili: de exemplu, NOTGate, CNGate, CCNGate, sau altfel spus, NOT, CONTROLLED-NOT, CONTROLLEDCONTROLLED-NOT respectiv. De ndat ce reeaua a fost proiectat, se poate trece la simularea calculatorului cuantic Feynman, folosind funcia SchrodingerEvolution. SchrodingerEvolution impune calculatorul cuantic s evalueze pentru un segment de timp fixat de ctre utilizator. Ce fel de calcule vor fi simulate? Folosind celulele logice cuantice NOTGate, CNGate, CCNGate, ca instrumentar, poate fi realizat o anumit reea cuantic. Pentru exemplificare, vom simula sumatorul. Celule logice i prezentarea lor prin matrice unitare
NOT = {{0, 1}, {1, 0}}; (* pentru sumator, aceast celul nu se utilizeaz n mod direct *) CN = {{1,0,0,0}, {0,1,0,0}, {0,0,0,1}, {0,0,1,0}}; CCN = {{1,0,0,0,0,0,0,0}, {0,1,0,0,0,0,0,0}, 81

{0,0,1,0,0,0,0,0}, {0,0,0,1,0,0,0,0}, {0,0,0,0,1,0,0,0}, {0,0,0,0,0,1,0,0}, {0,0,0,0,0,0,0,1}, {0,0,0,0,0,0,1,0}};

Operatori de Creare i Anihilare extini


aOP = {{0,1},{0,0}};(* operatorul de anihilare, care acioneaz asupra unui singur bit *) (*Definim funcia annihilationOP *) annihilationOP[i_, m_]:= Apply[Direct, ReplacePart[Table[IdentityMatrix[2], {m}], aOP, i] ] cOP = {{0,0}, {1,0}}; (* operatorul de creare, care acioneaz asupra unui singur bit *) (*Definim funcia creationOP *) creationOP[i_, m_]:= Apply[Direct, ReplacePart[Table[IdentityMatrix[2], {m}], cOP, i] ]

Descrierea celulelor utiliznd operatorii de creare i anihilare i principiul extinderii n spaiul HILBERT Putem prezenta celulele logice NOT, CONTROLLED-NOT(CN) i CONTROLLED-CONTROLLED-NOT (CCN) ca suma produselor operatorilor de creare i anihilare (a se vedea art. Feynman). Putem include celulele extinse n reeaua creat, care conine linii multiple de calcul. De exemplu, NOTGate [i, m] este celula extins NOT ce acioneaz pe linia i a reelei cu m intrri. CNGate[i, j, m] este celula extins CONTROLLED-NOT care acioneaz pe liniile i i j ale reelei cu m intrri etc. Numrul liniilor din reea depinde de numrul celulelor din reea, care este K, i sunt definite ca elemente consecutive ale listei reelei (circuitului).
82

Numrul liniilor "cursorului" este K+1, iar numrul liniilor lucrtoare N. n total, numrul de linii este m=K+1+N. Numerotarea liniilor reelei se efectueaz n modul DOWN CRESCENDO, ncepnd cu prima linie (1) de sus a cursorului. Dimensiunea spaiului Hilbert este 2m . Dimensiunea spaiului Hilbert depinde de numrul de qubii de intrare pentru celula respectiv: NOT-1 qubit, CN-2 qubii, CCN-3 qubii. Deci dimensiunea spaiilor Hilbert n care acioneaz aceste celule va fi respectiv 21, 22 , 23. Pentru ca celulele s funcioneze corect n spatiul 2m, trebuie utilizat principiul de extindere pentru matricele celulelor logice.
NOTGate[i_, m_]:= creationOP[i,m] + annihilationOP[i,m] CNGate[i_, j_, m_]:= (creationOP[i,m] . annihilationOP[i,m] . (annihilationOP[j,m] + creationOP[j,m]) + annihilationOP[i,m] . creationOP[i,m] ) CCNGate[i_, j_, k_, m_]:= (IdentityMatrix[2^m] + creationOP[i,m] . annihilationOP[i,m] . creationOP[j,m] . annihilationOP[j,m] . (annihilationOP[k,m] + creationOP[k,m] IdentityMatrix[2^m]) )

Reprezentarea computerului prin reea de celule n general, registrul cuantic de memorie, att de intrare, ct i de ieire, pentru calculatorul cuantic Feynman, va fi compus dintr-un rnd parial de "qubii-cursor" (care in de urmrirea procesului calculelor), i un rnd complementar de "qubiti-programabili". Vom utiliza anumii operatori unitari (matrice unitare) n conformitate cu aciunea
83

celulelor logice n rndul qubiilor programabili. Prin urmare, trebuie s determinm asupra crui qubit operatorul dat acioneaz. n cazul sumatorului asamblat prin CCNGate i CNGate, K=2, N=3 i deci m= K+N+1=6 . Ca rezultat se obine circuitul sumatorului, care funcioneaz n timp de la momentul t1 pn la t2:

Fig.11. Sumator. n stnga este indicat ket-ul de intrare la momentul t1 , iar n dreapta este indicat ket-ul de ieire la momentul t2 m=6; sumator = { CCNGate[4,5,6,m],CNGate[4,5,m]};

Conine lista celulelor logice cuplate la liniile de lucru. n caz general, pentru orice reea, celulele NOT (NOTGate[i, m]), CONTROLLED-NOT (CNGate[i, j, m]) i celula CONTROLLEDCONTROLLED-NOT (CCNGate[i, j, k, m]) sunt definite prin matrice unitare extinse. Argumenii i, j, k marcheaz liniile la care sunt unite celulele, iar m indic numrul total de linii n reea. n aa fel, celula controlled-NOT care opereaz pe liniile 4, 5 ntr-o reea cu 5 linii ar fi CNGate [4, 5, 6] etc. Calcularea Hamiltonianului REELEI n computerul cuantic Feynman, Hamiltonianul nu depinde de timp i reprezint suma TERMENILOR (A SE VEDEA ARTICOLUL FEYNMAN !!) ce descriu procesul i regresul calculelor. Efectul rezultant al aciunii Hamiltonianului trebuie s fie permutarea registrului de memorie n superpoziia de stri care reprezint calculele la diferite etape de calcul. Funcia, care GENEREAZ Hamiltonianul este urmtoarea:
84

?Hamiltonian (*Aa se apeleaz instruciunea HELP, CARE DEFINESTE fun.Hamiltonian *) "Hamiltonian[n, k, circuit] ntoarce matricea Hamilton independent de timp ce corespunde acestui circuit. Circuitul const din k celule cuantice i n linii lucrtoare. Codul
Hamiltonian[n_, k_, circuit_]:= Module[{terms}, terms = Table[term[i, n+k+1, circuit[[i]]], {i, 1, k}]; Apply[Plus, terms + Map[Conjugate[Transpose[#]]&, terms]] ] Hamiltonian::usage = ""Hamiltonian[n, k, circuit] ntoarce matricea hamilton independent de timp ce corespunde acestui circuit. Circuitul const din k celule cuantice i n linii lucrtoare""; term[i_, l_, gate_]:= creationOP[i+1, l] . annihilationOP[i, l] . gate

Calcularea operatorului unitar al evoluiei Operatorul unitar al evoluiei temporale este obinut din soluionarea ecuaiei lui Schrodinger cu condiia iniial |psi(0)>, adic | psi(t) > = U(t) | psi(0) > , unde U(t) = e^(-i H t / hBar) este operator unitar, iar H operator hermitian independent de timp (a se vedea teorema respectiv), i este radcina ptrat din -1, hBar constanta Plank nmulit cu 2 Pi i t este timpul. S reamintim c U(t) i H sunt matrice ptrate. Pentru simplitate, se consider c hBar=1. n termenii respectivi vom defini U(t), pentru circuitul i timpul specific dat, prin funcia EvolutionOP[n,k,circuit,t]: ?EvolutionOP EvolutionOP [n, k, circuit, t] descrie evoluia temporal a operatorului unitar pentru circuitul dat. Circuitul const din k celule cuantice i cu
85

n linii de intrare lucrtoare. U este reprezentat ca puterea t pentru expH i.e. U = MatrixPower[expH, t], unde expH este matricea exponenial pentru H. Codul
EvolutionOP[n_, k_, circuit_, t_ ]:= MatrixPower[N[MatrixExp[ -I Hamiltonian[n, k, circuit]]], t] EvolutionOP::usage = "EvolutionOP[n, k, circuit, t] asigur evoluia dependent de timp \ a operatorului pentru circuitul dat. Circuitul const din k celule cuantice n total i cu n linii lucrtoare.";

Operarea cu computerul cuantic pe o poriune de timp fixat Modelarea computerului cuantic, care implementeaz circuitul dat, pe parcursul unei perioade de timp concret, definit de utilizator, folosete funcia SchrodingerEvolution. Aceast funcie conine 5 argumente: starea iniial a registrului de memorie, numrul de intrri/ieiri lucrtoare n circuit, numrul de celule n circuit, lista circuitului i timpul de evoluie. Rezultatul este o stare posibil a registrului de memorie dup ce a trecut timpul t. ?SchrodingerEvolution "SchrodingerEvolution[initKet, n, k, circuit, t] evolueaz circuitul dat pentru timpul t ncepnd cu starea iniial initKet . Trebuie de specificat cte k celule sunt n circuit (astfel se obin k+1 qubii pentru cursor) i numrul de qubii utilizai pentru programare, adic numrul de n qubii lucrtori. Codul
SchrodingerEvolution[ket_, n_, k_, circuit_, t_]:= ColumnVectorToKet[Chop[EvolutionOP[n,k,circuit,t] . 86

KetToColumnVector[ ket ] ] ] SchrodingerEvolution::usage = ""SchrodingerEvolution[initKet, n, k, circuit, t] evolueaz circuitul dat pentru timpul t ncepnd cu starea iniial initKet . Trebuie de specificat cte k celule sunt n circuit (astfel se obin k+1 qubii pentru cursor) i numrul de qubii utilizai pentru programare, adic numrul de n qubii lucrtori ";

Exemplificare
sumator = { CCNGate[4,5,6,m],CNGate[4,5,m]}; SchrodingerEvolution[ket[1,0,0,1,1,0], 3, 2, sumator, 2.5]

Controlm dac rezultatul obinut e normalizat? (*Atenie!! variabila % conine rezultatul obinut anterior *) Exemplificare NormalizedKetQ[%] True Exemplificare sumator = {CCNGate[4,5,6,m],CNGate[4,5,m]}; SchrodingerEvolution[ket[1,0,0,1,1,0], 3, 2, sumator, 0.5] Evoluia computerului cuantic pn se termin calculele n computerul cuantic Feynman poziia cursorului se deplaseaz datorit evolurii calculelor de la celul la celul. Cursorul contorizeaz cte operaii logice au fost aplicate asupra biilor programului la momentul actual de timp. Astfel dac se msoar poziia cursorului i el se gsete n regiunea a treia, atunci e clar c registrul de memorie va conine rezultatul aplicrii primilor trei operaii ale celulelor n starea iniial. Aceasta nu nseamn c doar trei astfel de operaii au fost apli87

cate. n computerul Feynman, odat cu progresarea timpului, probabilitatea de a gsi cursorul n regiunea (k+1) se mrete. Dac este totui posibil de a msura poziia cursorului, atunci cnd probabilitatea de aflare a cursorului n sectorul dat e nalt, atunci este i ansa de a afla rezultatul calculelor. Operativ, periodic se msoar poziia cursorului. Aceasta distruge superpoziia strilor, care reprezint poziia cursorului, dar las intact superpoziia qubiilor n program. Dac cursorul nu este n sectorul (k+1), atunci calculatorul va evolua totul de la nceput, iar imediat ce cursorul este gsit n sectorul (k+1), calculele sunt oprite i starea general a registrului de memorie este modificat. De fiecare dat cnd cursorul se afl n sectorul (k+1), msurarea strii qubiilor programului are loc n momentul cnd se ntoarce un rspuns asupra calculelor pentru care computerul cuantic este programat. Astfel n modelul Feynman al computerului cuantic e clar c rezultatul va fi corect pentru perioada de timp predefinit. Pentru a administra computerul cuantic pn la sfirit trebuie periodic de verificat poziia cursorului pentru a verifica dac toate operaiile celulelor logice au fost aplicate. De cum cursorul este gsit n situaia lui critic, se poate de verificat dac raspunsul corect este posibil de obinut prin funcia ReadCursorBits. ?ReadCursorBits ReadCursorBits[numCursorBits, superposition] citete starea din biii cursorului calculatorului cuantic Feynman. Dac calculele pot fi obinute la k+1 operaiune cursorul va fi compus dintr-un lan din k+1 poziii una dintre care poate fi vreodat n starea |1>. Codul
Options[ReadCursorBits] = {TraceProgress->False}; ReadCursorBits[numBitsToRead_, w_. ket[bits__] + kets_., opts___]:= Module[{nBits, superposition, resultsPerStep, traceQ}, traceQ = TraceProgress /. {opts} /. Options[ReadCursorBits]; nBits = Length[{bits}]; (* numrul figurilor de memorie a biilor din memorie *) 88

superposition = {"BeforeAnyMeasurements", w ket[bits] + kets}; resultsPerStep = FoldList[MeasureIthBit[#2,#1,nBits]&, superposition, Range[numBitsToRead] ]; Which[traceQ===False, {Rest[Map[#[[1]]&, resultsPerStep]], (* rezultatul biilor *) Last[resultsPerStep][[2]] proiectat *) }, traceQ===True, ColumnForm[resultsPerStep] ] ]/;(numBitsToRead <= Length[{bits}]) ReadCursorBits::usage = "ReadCursorBits[numCursorBits, superposition] citete starea din biii cursorului calculatorului cuantic Feynman. Dac calculele pot fi obinute la a k+1 opearaiune cursorul va fi compus dintr-un lan din k+1 poziii una dintre care poate fi vre-odat n starea |1>. "; (* starea

Exemplificare
sumator = {CCNGate[4,5,6,6],CNGate[4,5,6]}; SchrodingerEvolution[ket[1,0,0,1,1,0], 3, 2, sumator , 0.5] {cursor1, projected1} = ReadCursorBits[3, state1] Rezultatul este format din lista {poziia cursorului i starea proiectat}, care arat poziia cursorului i starea ntregului registru de memorie dup ce poziia cursorului a fost msurat.

Citirea registrului de memorie De ndat ce cursorul este gsit n poziia (k+1), care arat c toate operaiile celulelor au fost aplicate, atunci poate fi obinut rspunsul din computer, citind ntreaga stare din registrul de memorie.
89

?ReadMemoryRegister ReadMemoryRegister[superposition] citete starea fiecrui bit din registrul de memorie. Codul
(* ReadMemoryRegister *) (*====================*) (* Lund n consideraie superpoziia care reprezint starea memoriei computerului cuantic se va returna rezultatul din memoria modificat*) Options[ReadMemoryRegister] = {TraceProgress->False}; ReadMemoryRegister[w_. ket[bits__] + kets_., opts___]:= Module[{nBits, superposition, resultsPerStep, traceQ}, traceQ = TraceProgress /. {opts} /. Options[ReadMemoryRegister]; nBits = Length[{bits}]; (* figure out number of bits in memory *) superposition = {"BeforeAnyMeasurements", w ket[bits] + kets}; resultsPerStep = FoldList[MeasureIthBit[#2,#1,nBits]&, superposition, Range[nBits] ]; Which[traceQ===False, {Rest[Map[#[[1]]&, resultsPerStep]], (* results for bits *) Last[resultsPerStep][[2]] (* projected state *) }, traceQ===True, ColumnForm[resultsPerStep] (*list of {results,projectedStates}*) ] ] ReadMemoryRegister::usage =""ReadMemoryRegister[superposition] citete starea fiecrui bit din registrul de memorie. "; MeasureIthBit[i_, {_, superposition_}, nBits_]:= 90

Module[{p1, zeroOrOne, projectedState}, p1 = ProbabilityIthBitIs1[i, superposition]; zeroOrOne = BiasedSelect[{0,1}, {1-p1, p1}]; projectedState = SuperpositionWithIthBitFixed[i, zeroOrOne, nBits, superposition]; {zeroOrOne, projectedState} ] KetWithIthBitZeroOrOne[i_, zeroOrOne_, nBits_]:= ReplacePart[Apply[ket, Table[_,{nBits}]], zeroOrOne, i] SuperpositionWithIthBitFixed[_, _, _, w_. ket[bits__]]:= NormalizeKet[w ket[bits]] SuperpositionWithIthBitFixed[i_, zeroOrOne_, nBits_, superposition_]:= NormalizeKet[Select[superposition, MatchQ[#, _. KetWithIthBitZeroOrOne[i,zeroOrOne,nBits] ]& ] ] ProbabilityIthBitIs1[i_, w_. ket[bits__]]:= If[ket[bits][[i]] == 1, Abs[w]^2, 1-Abs[w]^2] (* Abs[w]^2 == 1 or 0 only *) ProbabilityIthBitIs1[i_, w_. ket[bits__] + kets_.]:= Module[{nBits, terms}, nBits = Length[{bits}]; terms = Select[w ket[bits] + kets, MatchQ[#, _. KetWithIthBit1[i,nBits]]&]; N[Apply[Plus, Map[Abs[#]^2&, Amplitudes[terms]]]/ Apply[Plus, Map[Abs[#]^2&, Amplitudes[w ket[bits] + kets]]] ] ] ProbabilityIthBitIs1[i_, c_. (w_. ket[bits__] + kets_.)]:= ProbabilityIthBitIs1[i, Expand[c (w ket[bits] + kets)]]

91

KetWithIthBit1[i_, nBits_]:= ReplacePart[Apply[ket, Table[_,{nBits}]], 1, i] BiasedSelect[list_, probabilities_]:= Module[{random}, random = Random[]; Apply[Part[list, #]&, Flatten[ Position[Map[InRangeQ[random, #]&, Partition[FoldList[Plus,0,probabilities],2,1] ], True ] ] ] ] (* /;CheckProbabilitiesQ[probabilities] *)

CheckProbabilitiesQ[probabilities_]:= Module[{psum = Apply[Plus, probabilities]}, Which[psum<1, Message[BiasedSelect::probabilityLeak], psum>1, Message[BiasedSelect::excess], psum==1, True ] ] InRangeQ[n_, {lb_, 1}]:= lb <= n <= 1 InRangeQ[n_, {lb_, ub_}]:= lb <= n < ub

92

Bibliografie*
1. Nielsen M, Chuang I., Quantum Computation and Quantum Information, Cambridge University Press, 2000, p.676. 2. Cohen-Tannoudji C., Diu B., Laloe F., Mecanique Quantique, vol.1-2, Hermann, Paris, 1973, p.1493. 3. Bransden B.H., Joachain C.J., Introducere n Mecanica Cuantic, Editura Tehnic, Bucureti, 1995, p.631. 4. Stolze J., Suter D., Quantum Computing, A short Course from theory to Experiment, Wiley-VCH, 2008, p.265. 5. Aspect A., Girangie Ph., Roger G., Experimental test of realistic local theories via Bell's theorem, n Phys. Rev. Lett., vol.47, (1981), p.460-463. 6. ., Kaooae M, n , o 149, 4, 1986. 7. Lanyon B.P., et all., Toward quantum chemistry on a quantum computer, Nature Chemistry, 10, january, 2010, p.1-6. 8. Williams C.P., Clearwater. S. H., Exploration in Quantum Computing, Springer, 1997, p.307. 9. Enachi Viorel, Curlicovschi Alisa, Utilizarea pachetului de programe Mathematica cu exemple de aplicare n fizic i informatic, CEP, USM, Chiinu, 2004, p.130. 10. Steeb Willi-Hans, Hardy Yorick, Problems and Solutions in Quantum Computing and Information, World Scientific Publishing Co, 2008. 11. http://demonstrations.wolfram.com ->Search-> quantum computing. 12. Benjamin S.C., Ardavan A., Brigs D. et al. Towards a fullerene-based quantum computer, n J. Phys. Cond. Mat., vol.18, 2006, p 5867-5883. 13. Enachi V., Ciobu V., Celule logice CNOT a computerului cuantic bazate pe molecule fulerenice activate i dopate, n Anale tiinifice ale USM, seria tiine fizico-matematice, Chiinu, 2001, p.106-108.

93

* Recomandri speciale bilbiografice


Cititorii, care nu sunt informai iniial n fizica cuantic modern, dar posed cunotine temeinice n algebra liniar i anumite cunotine n domeniul arhitecturii computerelor clasice tradiionale, le pot recomanda insistent s lectureze paralel literatura: 1. Noson S.Yanofsky, Micro A.Mannucci, Quantum Computing for Computer Scientists, Cambridge University Press, 2008, p.368. 2. Riley T.Perry, The Temple of Quantum Computing, 2006, p.235. http://www.toqc.com/TOQCv1_1.pdf

94

Cuprins
Prefa --------------------------------------------------------------------------------------- 3 Utilizarea unor simboluri grafice ------------------------------------------------------ 5 Cteva date istorice semnificative ----------------------------------------------------- 6 1. Introducere ------------------------------------------------------------------------------ 7 1.1. Computarea este un proces fizic ---------------------------------------------- 7 1.2. Algebra liniar n spaiul complex Hilbert. Noiuni ---------------------- 9 1.3. Postulatele mecanicii cuantice ----------------------------------------------- 15 1.3.1. Formalismul operatorului densitate -------------------------------- 19 1.3.2. Criteriul strilor pure ------------------------------------------------- 22 2. Qubii, registre cuantice i pori logice ----------------------------------------- 26 2.1.Bit cuantic (qubit) -------------------------------------------------------------- 26 2.2. Operaii unitare pe un qubit ------------------------------------------------ 29 2.2.1. Operaii Pauli ----------------------------------------------------------- 29 2.2.2. Operatori de rotaie --------------------------------------------------- 33 2.2.3. Registre cuantice de memorie --------------------------------------- 34 2.2.4. Pori logice de 2 i 3 qubii ------------------------------------------- 35 2.2.4.1.Operaia Control-U ------------------------------------------ 36 2.2.4.2.Teorema neclonrii informatiei cuantice ---------------- 39 2.2.4.3. Definiia computerului cuantic -------------------------- 40 3. Algoritmi cuantici ------------------------------------------------------------------- 41 3.1. Stri corelate, sau stri entanglate ----------------------------------------- 41 3.1.1. Concurena strii de entanglare ------------------------------------ 44 3.2. Transformarea cuantic Fourier rapid --------------------------------- 46 3.3.Teleportarea informaiei cuantice ------------------------------------------ 50 4 . Simularea cuantic ----------------------------------------------------------------- 54 4.1. Simularea computerului cuantic la computerul clasic ----------------- 54 4.1.2. Simularea unui calculator cuantic simplu ------------------------ 55 4.1.3. Reprezentarea calculului ca fiind un circuit --------------------- 56 4.1.4. Determinarea dimensiunii registrelor de memorie ------------- 57 4.1.5. Evaluarea operatorului Hamilton --------------------------------- 59 4.1.6.Operatorii de creare i anihilare ------------------------------------ 61 4.1.7. Evoluia computerului cuantic pentru o perioad de timp fixat - 62 4.2. Simularea cuantic pe computere cuantice ----------------------------- 65 Postfa ----------------------------------------------------------------------------------- 67 Anexa I. Instrumente algebrice de operare n spaiul HILBERT ---------- 68 Anexa II. Simularea computerului cuantic Feynman --------------------------- 81 Bibliografie ------------------------------------------------------------------------------ 93

95

Viorel Nicolae ENACHI

COMPUTERE CUANTICE Partea I. Introducere teoretic.

Redactor literar: Antonina Dembichi Machetare computerizat: Viorel Moraru Bun de tipar 04.11.2010. Formatul 60841/16 Coli de tipar 6,0. Coli editoriale 6,0. Comanda 71. Tirajul 50 ex.
Centrul Editorial-Poligrafic al USM str. Al.Mateevici, 60, Chiinu, MD 2009

96

S-ar putea să vă placă și