Upload
nicolaisemion
View
498
Download
1
Embed Size (px)
Citation preview
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 1/96
UNIVERSITATEA DE STAT DIN MOLDOVA
FACULTATEA DE FIZICĂ
Catedra Fizică Teoretică
Viorel Nicolae ENACHI
COMPUTERECUANTICE
Partea I. Introducere teoretic ă
Aprobat de Consiliul
Facult ăţ ii de Fizică
Chişinău-2010
CEP USM
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 2/96
2
CZU 004.38(075.8)
E 52
Recomandat de catedra Fizica Teoretică
Recenzent: Nicolae ENACHE , dr. hab., prof. univ., IFA AŞ M
ISBN 978-9975-70-999-6 © Viorel Nicolae Enachi, 2010
© USM, 2010
DESCRIEREA CIP A CAMEREI NAŢIONALE A CĂR ŢII
Enachi, Viorel Nicolae
Computere cuantice / Viorel Nicolae Enachi; Univ. de Stat dinMoldova, Fac. de Fizică, Catedra Fizică Teoretică. – Chişinău: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
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 3/96
3
Prefaţă
În ultimii 20 de ani, procesarea cuantică a informaţiei a fost cerce-tată atât teoretic, cât şi experimental. Au fost obţinute rezultate remar-cabile de către fizicieni, matematicieni şi informaticieni în parte, dar şi de colective comune de cercetare, create „ad hoc” în dependenţă de problema abordată.
Au fost obţinute realizări experimentale în ramura computeruluicuantic specializat în factorizarea numerelor întregi, căutarea informa-ţiei în baze de date extrem de voluminoase. S-au obţinut rezultate noiîn teleportarea informaţiei. În anul 2010, a fost realizată simularea mo-leculei de hidrogen, calculele fiind realizate pe un computer cuanticfotonic (realizarea ideii renumitului fizician-teoretician Feynman de autiliza computerul cuantic în scopul simulării eficiente a fenomenelor cuantice). Toate aceste realizări impun introducerea în cursurile univer-sitare de mecanică cuantică şi cursuri specializate în domeniu a ideilor fundamentale noi, ce ţin de informatica cuantică, ceea ce ar contribuiesenţial la pregătirea specialiştilor fizicieni şi informaticieni (a se vedeaRecomandări speciale bibliografice, p.94), care vor putea activa în do-meniul de cercetări nanotehnologice ce ţin de computerele cuantice.
Prezentul studiu este contribuţia minimă a autorului în atingereascopului propus. Conţinutul acestuia reflectă cursul de prelegeri „Com- putere cuantice” ţinut studenţilor de la catedra „Fizică Teoretică” înce- pând cu anul 2002. Aşadar, cartea este dedicată studenţilor şi maste-ranzilor care îşi fac studiile la Facultatea de Fizică, dar poate fi utilizată şi de studenţii de la specialităţile „Informatica” şi „Tehnologii infor-maţionale” având o pregătire fundamentală minimă în fizica cuantică.Independent de specialităţile sus-numite, studenţii respectivi ar trebui
să audieze un curs dedicat teoriei informaţiei clasice, care este necesar pentru pregătirea fundamentală modernă la specialităţile vizate. Nu suntexpuse realizările fizice ale computerelor cuantice şi metodele de corec-tare a erorilor în etapa de procesare şi transmitere a informaţiei. Toateaceste aspecte vor fi introduse în partea a II-a a studiului, iar actualaediţie, partea I-a, poate fi utilă ca introducere teoretică scurtă în dome-niu. În sfâr şit, vreau să aduc sincere mulţumiri colegilor de catedr ă,care m-au susţinut şi masterandei la specialitatea „Fizică Teoretică şi
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 4/96
4
Matematică” Silvia Andronic, care a efectuat culegerea textului lacomputer, dar şi pentru observaţii asupra unor procedee metodice, decare am ţinut cont.
Conferenţiar doctor Viorel ENACHI
e-mail:[email protected]
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 5/96
5
Utilizarea unor simboluri grafice
Operaţia Pauli
Operaţia Pauli
Operaţia Pauli
Hadamard
Operaţia de fază
Operaţia de fază
Control-NOT
Control-Control-NOT
Control-U
Măsurare Proiecţia pe sau
Qubit ”Conductor” prin care se deplasează un qubit în
timp, de la stânga la dreapta
Bit Clasic ”Conductor” prin care se deplasează un bit
clasic 0 sau 1, ori echivalent sau .
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 6/96
6
Câteva date istorice semnificative
Anul Evenimentul
1900 Max Planck a cercetat radiaţia corpului negru.
1905 A.Einstein a explicat efectul fotoelectric.1913 N.Bohr a explicat liniile spectrale ale atomului de hidrogen.1922 Experienţa Stern-Gerlach.1923 L.Broglie introduce dualismul particulă-undă.1925 Heisenberg formulează mecanica cuantică matriceală.1926 Schrodinger, Dirac, Born, Jordan, Heisenberg elaborează varianta
integrată a mecanicii cuantice.1928 Dirac formulează teoria relativistă a mecanicii cuantice.
1936 Informaticianul Turing introduce maşina universală Turing.1945 ENIAC este primul computer universal.1946 Von Neuman introduce ideea de memorizare a programelor în
computer.1948 Shanon dezvoltă teoria informaţiei în canale electrice de comunicare.1949 A fost generată perechea de fotoni inseparabili (entanglaţi).1961 Landauer afirmă că informaţia este o noţiune fizică.1973 Bennet cercetează por ţile logice reversibile.1981 Feynman introduce ideea Computerului cuantic. A.Aspect,
Ph.Grangier, G.Roger demonstrează experimental violarea inega-lităţii Bell, ceea ce demonstrează că teoria cuantică este nelocală.
1982 Benioff introduce ideea maşinii Turing Cuantice.1984 Bennet/Brassard începe cercetarea criptografiei cuantice.1985 Deutsch descrie primul computer cuantic universal.1993 Descoperirea experimentală a posibilităţilor teleportării cuantice.1994 Shor descrie primul algoritm cuantic de factorizare a unui
număr întreg mare în produsul a două numere prime (RSA).
1996 Shor/Steane elaborează codificarea cuantică.1996 Grover anunţă elaborarea algoritmului cuantic de căutare în baze
de date voluminoase.1997 Confirmarea experimentală a teleportării cuantice.2001 Executarea experimentală a algoritmului Shor în baza computerului
cuantic realizat în spectroscopia nuclear-magnetică de rezonanţă (NMR).
2010 Simularea moleculei pe computerul cuantic fotonic.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 7/96
7
1. INTRODUCERE
1.1. Computarea este un proces fizic
Din punct de vedere teoretic, calculele pot fi descrise iniţial în lim- bajul matematic (algoritmic) formal (limbajul boolean), bazându-se peconceptul computerului virtual Turing, apoi pot fi efectuate pe compu-terele fizice, care au conceptual arhitectura maşinii virtuale, implemen-tate ca o reţea de celule logice şi registre de memorie. Deci, compu-terul este un dispozitiv fizic care ne ajută să procesăm informaţia prinexecutarea algoritmilor selectaţi pentru a rezolva o anumită problemă.
Intrarea iniţială este codificată şi înregistrată pe un registru de me-
morie de intrare, după care un procesor induce modificări ale stării de pe registrul de intrare până se termină algoritmul de calcul, iar rezulta-tul codificat se fixează pe un registru de memorie de ieşire după careurmează decodificarea informaţiei finale.
Folosind acest punct de vedere, se pot compara abilităţile compu-taţionale ale computerelor clasice şi cuantice, care rezultă, evident, dinnatura şi implementarea lor fizică.
Calculatoarele clasice conţin registre de memorie, care au un set
de elemente fizice bistabile (magnetice sau optice etc.) care pot stocaunităţi binare (biţi) de informaţii: "0" sau "1". Procesorul for ţează otranziţie de la starea iniţială a registrului de intrare la starea finală carese memorizează pe registrul de ieşire, în conformitate cu legile fiziciiclasice.
Desigur, pentru a înţelege cu adevărat funcţionarea componentelor calculatoarelor clasice moderne, este necesar a lua în consideraţie pro-cesele cuantice fundamentale din interiorul componentelor, ceea ce esteutil pentru inginerii fizicieni sau electronişti, care au aptitudini inova-tive tangibile cu nanotehnologiile din acest domeniu.
Trebuie de menţionat faptul că computerele clasice moderne suntireversibile atât fizic, cât şi logic. Aceste computere, pentru a funcţiona,consumă, de exemplu, energie relativ mare pentru procesarea unui bitde informaţie în comparaţie cu sistemele biologice. Pentru a diminuaaceastă parte negativă a computerelor, a fost propusă varianta reversi- bilă a computerului clasic, care nu a fost materializată, dar însăşi ideeaa r ămas în atenţia savanţilor şi inginerilor.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 8/96
8
Indiferent de varianta de realizare a computerului clasic, el conţine,după cum s-a mai spus, registre de memorie de L-biţi.
Numărul de stări ale registrului este egal cu 2^L şi acest registru poate să se afle în momentul dat numai într-o singur ă stare, iar proce-sarea informaţiei se efectuează cu un singur procesor. Procesarea tutu-ror stărilor în mod simultan necesită L procesoare paralele. Anumeaceastă idee stă la baza arhitecturii supercomputerelor moderne clasice.
În computerele cuantice, starea (funcţia de undă !) generală a re-gistrului poate fi realizată ca o superpoziţie simultană a 2^L stări de bază posibile, fiecare fiind compusă din L biţi. Această stare generală poatefi concepută şi ca o singur ă stare de L qubiţi elementari. Într-adevăr,qubitul elementar, sau mai simplu, qubitul (provine de la cuvântul englezquantum bit , care în traducere este bitul cuantic) este unitatea de măsur ă ainformaţiei în computerele cuantice şi poate lua valori separate |0> şi|1> (varianta cuantică a bitului clasic), dar poate fi şi o superpoziţieîntre |0> şi |1>. Realizarea fizică a qubitului se efectuează prin sistemecuantice, care posedă cel puţin două stări distincte, relativ stabile, cumar fi atomul, molecula, particule elementare cu spinul 1/2, puncte cuan-tice etc. (Fig.1), care de fapt pot fi numiţi qubiţi staţionari, spre deose- bire de qubiţii flotanţi, care se realizează prin două stări ortogonale de
polarizare a fotonului. Apropo, ultimii se folosesc şi în procesul detransmitere cuantică a informaţiei.
Fig1. Realizarea clasică a bitului (stânga) prin utilizarea diferenţei de potenţial electric; realizarea cuantică a qubitului (centru) prin utilizareasistemului cuantic cu două stări distincte; realizarea qubitului (dreapta)
prin particule cu spinul s=1/2 în câmp magnetic
Procesorul cuantic este o reţea, arhitectura căreia conţine celulelelogice cuantice reversibile, ceea ce, de fapt, este realizarea compute-rului reversibil. Acest procesor preia informaţia iniţială din registrulcuantic şi o for ţează către algoritmul cuantic spre finalizarea calculelor specificate în algoritm. În aşa mod, se efectuează procesarea paralelă
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 9/96
9
simultană a informaţiei cuantice de către un singur procesor reversibilcuantic [1, 4].
Este demonstrat că unele probleme pot fi rezolvate mult mai efi-
cient pe computerul cuantic, chiar dacă s-ar rezolva aceleaşi probleme pe supercomputerul clasic. Exemplul clasic este problema factorizăriinumerelor întregi foarte mari. Însă paradoxal este cazul factorizăriinumerelor întregi mici utilizând algoritmi clasici. În acest caz, super-computerul clasic este mai eficient decât computerul cuantic care utili-zează algoritmi cuantici. Altfel spus, cu cât numărul întreg este maimare, cu atât mai eficient este computerul cuantic.
Totodată, trebuie de remarcat, că computerul cuantic dispune dedimensiuni moleculare sau nanometrice, funcţionarea lui este asistată de interfeţe şi computere clasice. Aceasta este, de fapt, obligatoriu dincauza necesităţii de extragere a informaţiei cuantice (rezultatul calcu-lelor !) şi obţinerea informaţiei clasice în urma măsur ărilor efectuate.
Ceea ce este important de menţionat, din punct de vedere ingine-resc, asupra procesului de calcul, sunt următoarele: computerul clasic nunecesită control şi intervenţie permanentă asupra procesului de calcul, pe când computerele cuantice necesită control şi intervenţie permanentă din partea programatorului.
Actualmente, în acest domeniu se întreprind eforturi foarte mariîn cercetare de către fizicieni şi informaticieni. Pentru o conlucrareeficientă, în prezent este recunoscută teza: fizicienii trebuie să cunoască teoria informaţiei şi aspectul ei fizic, iar informaticienii trebuie să cu-noască bazele fizicii cuantice (în context informaţional) pentru a elaboraalgoritmi cuantici eficienţi.
Deci, programatorul forte de azi şi cel de mâine îndeosebi trebuiesă cunoască bine fizica cuantică şi matematica cel puţin în context in-formaţional.
1.2.Algebra liniară în spaţiul complex Hilbert. Noţiuni
Recapitularea scurtă a algebrei liniare,va fi utilizată în expunereanoţiunilor de bază ale computerelor cuantice şi informatica cuantică [2,10].
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 10/96
10
1) Fie – apar ţine spaţiului complex , atunci spaţiul complex
conjugat va conţine ;
Dacă = , atunci = , unde a şi b sunt numere realesau complexe.
2) Vectorul „ket” este matricea coloană
iar ,..., – numere reale sau complexe.
Vectorul „bra” este matricea rând
3) Produsul scalar al vectorului şi în spaţiul se notează
prin
De exemplu: fie = , = ,
atunci = = .
4) Produsul direct sau tensorial al vectorilor şi se vaînsemna prin sau uneori prin sau prin .
De exemplu:
= = =
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 11/96
11
5) Fie este operator sau matrice, ceea ce este echivalent, în spa-
ţiul complex, iar – matrice complex conjugată.
De exemplu: = , atunci = .
Prin vom însemna matricea transpusă matricei . Atunci
= .
Vom însemna prin – matricea Hermitică conjugată. Atunci
= .
Este uşor de demonstrat proprietatea = .
6) Norma vectorului se va însemna prin = ,
iar vectorul normalizat va fi / .
Vom însemna prin produsul scalar al lui şi
sau produsul scalar al lui şi .
7) Vectorii de bază ai spaţiului complex se numesc mulţimea
vectorilor { } care permit a reprezenta oricare vector
ce apar ţine spaţiului în formă de combinaţie liniar ă (superpoziţie)
= a vectorilor de bază. De exemplu dacă determinăm
vectorii de bază în spaţiul reprezentaţi prin matricele şi
, atunci oricare vector în spaţiul se va reprezenta prin
.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 12/96
12
Se spune, în acest caz, că vectorii şi generează spaţiul
vectorial complex . În caz general, în spaţiul vectorial pot fi folosiţi
şi alţi vectori generatori ai spaţiului , de exemplu; .
Atunci vectorul poate fi reprezentat ca o combinaţie
liniar ă a vectorilor şi :
De la vectorii de bază se cere independenţa liniar ă.
8) Matricea se numeşte unitar ă dacă , sau
dacă .
Exemplu: ; ; ; – operator
Hermitic.Exemplu: Matricele Pauli, care se utilizează în informatica cuantică,sunt unitare:
; ; ; .
Acestea satisfac anumite reguli de comutare între ele, care suntutilizate în calcule teoretice ale informaticii cuantice (a se vedea manualestandarde de mecanică cuantică).
9) Unele proprietăţi ale produsului tensorial dintre stări şi opera-tori (matrice).
a) Pentru oricare scalar şi vectorii , are loc egali-tatea:
b) Pentru oricare vectori ; are loc relaţia:
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 13/96
13
c) Pentru oricare vectori ; are loc relaţia:
d) Fie V şi W, iar şi operatori liniari care
acţionează în spaţiul şi respectiv, atunci poate fi definit operato-rul liniar , care acţionează în spaţiul în felul următor:
.
Folosind această formulă, vom defini acţiunea operatorului în
spaţiul şi a operatorului în acelaşi spaţiu . Se obţinurmătoarele relaţii:
– operator extins, care
acţionează în spaţiul .
Operatorul extins se va defini în acelaşi mod:
.
Operatorii extinşi pot fi utilizaţi la scrierea operatorului Hamiltonal sistemelor cuantice compozite şi
Dacă se utilizează reprezentarea matriceală a operatorilor, atunci înloc de produs tensorial al operatorilor se foloseşte şi produsul Kroneker,care este altă denumire a produsului direct bine cunoscut în teoria mat-ricelor. Adică, dacă este matricea de dimensiune şi estede dimensiunea , atunci obţinem:
e)
Exemple: Produsul tensorial a matricelor Pauli şi ; şi ;şi :
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 14/96
14
;
;
.
De aici obţinem că – adică nu avem comutareamatricelor şi în produsul tensorial.
10) Deseori în literatura de specialitate se utilizează simbolul stării
, ceea ce înseamnă produsul tensorial al stării repetat deori:
Pentru operatori la fel, se utilizează ; deciavem produs tensorial al operatorului A repetat de k ori.
11) Funcţii de operatori sau matrice.Fie operatorul este reprezentat prin descompunerea spectrală
– unde funcţii proprii, şi a – valori proprii ale
matricei . Atunci . Poate fi demonstrat că
funcţia este definită univoc. Această procedur ă poate fi utilizată,
de exemplu, pentru calculul r ădăcinii pătrate, logaritmului şi exponen-tei operatorului.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 15/96
15
Exemplu: Operatorul Pauli are valori proprii iar func-
ţiile proprii respective şi , atunci
.
1.3. Postulatele mecanicii cuantice
Există patru postulate ale mecanicii cuantice care sunt expuse înforma adaptată din punctul de vedere al limbajului spre utilizare în
informatica cuantică [1]:Postulatul 1: Se dă definiţia bitului cuantic sau qubitului. Comentarii.Postulatul 2: Se defineşte evoluţia (transformarea) qubitului. Co-
mentarii.Postulatul 3: Se definesc măsur ările în sistemele cuantice. Comen-
tarii.Postulatul 4: Se defineşte descrierea sistemelor de multiqubiţi î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 apariţia ideii despre computere cuantice(~25 ani în urmă), s-au publicat lucr ări ştiinţifice şi manuale în carePostulatul 4 este ridicat la rang de Postulat.
Postulatul 1: Bitul cuanticFiecărui sistem fizic izolat i se pune în evidenţă, din punct de
vedere matematic, un spaţiu liniar vectorial complex (numit spa-
ţiul Hilbert), care posedă produsul scalar al vectorilor şi care se
numeşte spaţiul stărilor sistemului fizic.
Deci un sistem simplu cuantic poate fi qubitul descris în spaţiul
Hilbert bidimensional având vectorii de bază şi . Într-adevăr,
oricare qubit poate fi reprezentat ca o combinaţie liniar ă a vectorilor
de bază prin superpoziţia: . Aici numerele şi pot
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 16/96
16
fi reale sau complexe şi trebuie să satisfacă relaţia: , iar
şi . În cazul nostru şi nu trebuie să facă parte
din setul degenerat.
Postulatul 2: Evoluţia qubitului (forma diferenţială)Evoluţia în timp a stărilor unui sistem cuantic izolat este des-
crisă de ecuaţia Schrodinger:
,
unde – constanta Plank, – operatorul lui Hamilton pentru sis-
temul cuantic, care acţionează în spaţiul Hilbert şi este un operator
Hermitian .
N.B. În spaţiul Hilbert există operatori care pot fi utilizaţiîn ecuaţia Schrodinger, dar poate să nu aibă realizare fizică.
Postulatul 2': Evoluţia qubitului (forma integrală)Evoluţia în timp a stărilor unui sistem cuantic izolat este reali-
zată de transformarea unitară U :
,
unde starea iniţială în momentul este dată, nu depinde de timp.
N.B. De fapt Postulatul 2' este o consecinţă a Postulatului 2, dacă se rezolvă ecuaţia diferenţială Schrodinger având în vedere condiţia
iniţială . Însă, de fapt, pentru a descrie computerele cuantice şiinformaţia cuantică, se foloseşte tradiţional Postulatul 2'.
Un exemplu de operator unitar (care se aplică la transformarea uni-tar ă din Postulatul 2') este operatorul Hadamard:
care se obţine dintr-un operator Hamilton specific.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 17/96
17
Aplicăm H la starea iniţială şi obţinem
.
La fel pentru starea iniţială obţinem
.
N.B. 1) Operatorul Hadamard H nu este operatorul Hamilton dinPostulatul 2. În literatur ă se foloseşte una şi aceeaşi liter ă H pentru ope-ratorul Hadamard şi operatorul Hamilton. Însă din contextul textului,
aceşti operatori pot fi uşor distinşi. 2) Matricea este unitar ă dacă unde .
Exemple: , atunci
Postulatul 3: Măsur ări cuanticeMăsurările cuantice sunt descrise de setul de operatori de mă-
surare { } numiţi şi proiectori. Aceşti operatori acţionează în
spaţiul stărilor cuantice ale sistemului supus măsurărilor. Indicele
m indică starea care poate fi obţinută prin măsurare. Dacă înaintea
măsurărilor sistemul cuantic se află în starea , atunci probabi-
litatea de a obţine rezultatul în cazul unei singure măsurări pentrustarea este dată de definiţia:
,
Iar după măsurare sistemul se va afla deja în altă stare care,
fiind normată, este:
.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 18/96
18
Operatorii măsurărilor satisfac relaţia de plinătate
Din proprietatea de plinătate reiese că:
N.B. Pentru a obţine probabilităţile experimentale, măsur ările se
efectuează pe un ansamblu de sisteme cuantice.
Exemplu: Fie că operatorii de măsurare în baza computaţională sunt
,
.
Se observă uşor că , adică are loc proprietatea
de plinătate.
Fie avem qubitul şi deci
.
Deci probabilitatea de a observa sistemul în starea este legată
de amplitudinea de probabilitate prin expresia . La fel se obţine
probabilitatea pentru starea . După măsurare sistemul se va afla în
starea , .
Postulatul 4: Stările sistemelor cuantice compozite. MultiqubiţiSpaţiul stărilor sistemelor cuantice compozite reprezintă
în sine produsul tensorial (diadic) al stărilor elementelor care
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 19/96
19
alcătuiesc sistemul compozit din elemente. Starea sistemului
fie , atunci starea sistemului compozit este
.
Postulatul 4 permite determinarea unor stări deosebite numite stărineseparabile sau stări legate sau în original – entanglement. De exemplu,
fie starea neseparabilă a sistemului alcătuit din doi qubiţi:
.
Această stare posedă anumite proprietăţi extraordinare, adică nu există două stări a câte un qubit şi , încât .
N.B. Qubitul se realizează fizic prin două stări ortogonale ale ato-mului, 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ă qubiţii interacţionează în sistemul compozit de n-qubiţi. Superpoziţia stărilor cuantice (Post.1) şi stările legate (entangled) a qubiţilor (Post. 4) joacă un rol funda-
mental în informatica cuantică asigurând atât paralelismul instantaneual procesării cuantice a informaţiei, cât şi teleportarea informaţiei ladistanţe. Aceste resurse informaţionale lipsesc totalmente în informa-tica clasică.
1.3.1. Formalismul operatorului densitate
Cele 4 postulate de mai sus au fost formulate în limbajul vecto-rilor de stări ale sistemelor cuantice. Însă există o formulare de alter-nativă, care este echivalentă cu prima, însă e bazată pe noţiunea deoperator sau matrice a densităţii. Ultima alternativă ofer ă posibilitateade a trata unele probleme ale mecanicii cuantice în cazul lipsei de in-formaţie veridică asupra unor stări cuantice ale sistemului. Cu ajutorulmatricei densitate este comod a descrie sistemele cuantice stările căroranu sunt cunoscute complet. Fie că sistemul cuantic se află în starea
a cărei probabilitate este . Vom numi mulţimea { , }
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 20/96
20
ansamblul stărilor cuantice. Operatorul densitate pentru întregul ansamblu
se defineşte astfel: . este definită pentru ansamblu.
Exemplu: Pentru ansamblul statistic a cărei temperatur ă T este
cunoscută, probabilitatea de populare a stării este ,
unde Z este suma statistică.Clasa operatorilor, care sunt operatori de densitate se defineşte
conform teoremei:Teoremă: Operatorul este operator de densitate, legat de an-
samblul { , }, atunci şi numai atunci când se îndeplinesc urmă-toarele condiţii:
1)Urma ( sau ) operatorului este egală cu 1.
2) este operator nenegativ.
Demonstraţie: Fie , atunci
.
Fie este oricare vector în spaţiul de stări, atunci
c. t. d. Această teoremă
ofer ă posibilitatea de a reformula postulatele mecanicii cuantice înlimbajul operatorilor densitate.
Postulatul 1 Cu fiecare sistem fizic izolat este legat spaţiul vectorial com-
plex cu produs scalar (spaţiul Hilbert), care se numeşte spaţiu de
stări. Sistemul este descris complet de către operatorul de densitate
al său, care satisface teorema despre proprietăţile generale. Dacă
sistemul cuantic se află în starea cu probabilitatea , atunci
(superpoziţia stărilor ).
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 21/96
21
Postulatul 2 Evoluţia în timp a sistemului cuantic izolat este descrisă de
operatorul unitar
.(Aici se reformulează de fapt postulatul 2’, forma integrală).
Postulatul 3Măsurările cuantice se descriu de setul de operatori de măsu-
rare { }. Aceşti operatori acţionează în spaţiul de stări ale
sistemului în care se efectuează măsurători. Indicele în
indică rezultatul măsurării stărilor (ex. , etc.). Dacă
înainte de măsurări starea sistemului este , atunci probabilitatea
de măsurare se obţine conform formulei:
,
iar starea sistemului după măsurare va fi, conform indicelui ,
următoarea:
.
Operatorii de măsurare { } trebuie să satisfacă condiţia de
plinătate
Postulatul 4Spaţiul de stări ale sistemului fizic compozit se reprezintă prin
produsul tensorial al stărilor 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 alesatunci când:
a) Starea sistemelor cuantice nu este complet cunoscută. b) Este necesar a descrie starea componentelor sistemului compozit
dacă se cunoaşte starea întregului sistem.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 22/96
22
Pentru sistemele compozite de tipul a), trebuie stabilite anumitecriterii, deci vom stabili următoarele criterii:
1.3.2. Criteriul st ărilor pure
Fie – operatorul densitate a sistemului, atunci iar
egalitatea este satisf ăcută numai atunci când 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 densităţii în cazul când se cunoaşte operatorul den-
sitate pentru întreg sistemul compozit. Fie că sistemul compozit estealcătuit din două elemente (subsisteme) şi , iar starea întregului
sistem compozit este descrisă de operatorul . Operatorul redus al
densităţii elementului este definit prin relaţia:
,
unde indică urma par ţială după sistemul . Fie şi sunt doi
vectori ortonormaţi oricare ai stării elementului şi , – respectiv pentru elementul . Atunci .
Utilizăm . Se obţine .
Exemplu: Fie , unde şi – operatorii de densitate
pentru şi respectiv.
şi, respectiv, , ceea ce trebuia
de aşteptat în mod intuitiv. Însă pentru stările „entanglate” rezultatulnu este deloc trivial. Fie că avem o stare „entanglată” (una din stările
lui Bell) care este compozită . Operatorul
densităţii stării compozite este:
.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 23/96
23
Folosind acest operator densitate, vom calcula operatorul densitateredus pentru qubitul 1, calculând traseul după qubitul 2:
.
Concluzia este: pentru întreg sistemul compozit alcă-
tuit din doi qubiţi (două particule !), altfel spus avem o stare compozită
pur ă, deci bine determinată; în cazul densităţii reduse se obţine
, deci primul qubit se află în starea de
„amestec”, ceea ce înseamnă că cunoştinţele despre starea primuluiqubit sunt incomplete. Această proprietate este stranie, şi anume exis-tenţa unei astfel de stări a sistemului întreg, pe care o cunoaştem că este pur ă, conţine însă elemente ale sistemului, starea cărora este „amestec”.Am obţinut deci ceea ce-i caracteristic stărilor „entanglate” sau stări
inseparabile, sau stări corelate (a se vedea remarca).Remarcă [2, 3]:
1) Semnificaţia fizică a unui produs tensorial al stărilor
Pentru a vedea reprezentarea fizică a unei stări produs pentru sis-temul compozit şi vom presupune că înainte de măsurare starea
globală este şi probabilitatea obţinerii rezul-
tatului pentru sistemul de exemplu va fi:
.
De aici se vede că nu depinde de . Vom obţine
formulă analogă şi pentru sistemul :
.
Deci rezultatul măsur ărilor pentru şi nu corelează. Concluzia,din punct de vedere fizic, este că şi nu interacţionează.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 24/96
24
2) Semnificaţia fizică a unei stări globale care nu poate fi repre-
zentată prin produs tensorial
Fie avem două sisteme cuantice şi , starea globală a cărora
nu poate fi reprezentată ca produs tensorial, adică .
Previziunea rezultatelor măsur ărilor asupra sistemelor şi nu mai
poate fi exprimată prin funcţiile sau ; în acest caz,
trebuie folosită funcţia globală pentru obţinerea probabilităţilor
respective. O astfel de situaţie indică corelarea între sistemele A şi B şi, prin urmare, sistemele interacţionează între ele. În aşa fel are loc trans-
formarea stării iniţiale, care este produs tensorial ,
într-o stare finală, care nu poate fi reprezentată ca produs tensorial.Asemenea stări au fost studiate de către Bell (1964) în contextul stabiliriicaracterului local sau nelocal al interacţiunilor în mecanica cuantică, pornind de la ipoteza lui Einstein, Podolsky, Rozen (EPR), precum că pentru a înţelege stările entanglate, e necesar de a introduce în teoriacuantică a variabilelor locale ascunse. Verificarea ipotezei a fost pro-
pusă chiar de către 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 măsu-r ărilor clasice şi cuantice asupra stărilor entanglate [4, p.54], care ar lămuri paradoxul EPR.
Anume Bell a stabilit criteriile (inegalitatea lui Bell la baza căreiase află o relaţie cunoscută în teoria numerelor – a se vedea exerciţiul
de mai jos) prin care se poate verifica ipoteza EPR, efectuând măsu-r ările cuantice respective. Într-adevăr, dacă inegalitatea lui Bell se res- pectă, atunci Einstein are dreptate, iar teoria cuantică este locală şi tre- buie 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 demonstratexperimental violarea inegalităţii lui Bell pentru starea entanglată adoi fotoni [3,5].
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 25/96
25
ExerciţiuFie avem patru numere pozitive x1, x2, y1, y2, care satisfac
relaţia 0<= x1,x2,y1,y2 <=1, atunci are loc inegalitatea: -1<=x1 y1 – x
1y
2+x
2y
1+x
2y
2-x
2-y
1<=0.
Demonstraţi această inegalitate (a se vedea J.Clauser, M.Horne.Phys.Rev.D.v.10,526,(1974))
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 26/96
26
2. QUBIŢI, REGISTRE CUANTICE ŞI PORŢI LOGICE
2.1. Bit cuantic (qubit) [1, 4]În sistemele digitale cuantice, la fel ca şi în sistemele clasice
digitale, informaţia este cuantizată prin biţi (cazul clasic) sau qubiţi(cazul cuantic).
Definiţie. Qubitul este un sistem cuantic descris de vectorul
în spaţiul Hilbert bidimensional .
Qubitul nu este o concepţie numai pur matematică, ci este şi unacare are şi un suport fizic. De exemplu suportul fizic poate fi:
a) Atomul în una din două stări: fundamentală şi starea excitată.
b) Fotonul în stările de polarizare verticală şi orizontală.c) Electronul, care are spinul , orientat în „sus” sau „jos”
faţă de direcţia câmpului magnetic.Qubitul poate fi preparat în starea iniţială asupra căreia se efectu-
ează o operaţie unitar ă, iar rezultatul poate fi obţinut efectuând măsur ări pentru a obţine valorile logice. Spre deosebire de bitul clasic care estereprezentat matematic prin numere reale scalare 0 şi 1, qubitul este unvector, care în spaţiul Hilbert bidimensional este reprezentat prin matrice,componentele căreia pot fi şi numere complexe. Într-adevăr, dacă trecemconvenţional de la valorile logice scalare 0 şi 1 la stările şi ,
numite qubiţi de bază, atunci şi pot fi reprezentaţi prin matrice:
, .
Aceste matrice alcătuiesc baza standardă sau baza computaţională.
În această bază un qubit de superpoziţie, sau simplu qubit, poate fiscris în forma:
.
Coeficienţii şi pot fi şi numere complexe care trebuie să sa-
tisfacă relaţia de normare . Această relaţie este o condiţie
impusă pentru a facilita procesul de măsur ări asupra qubitului şi reiese
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 27/96
27
din interpretarea probabilistică a stărilor ; anume este probabi-
litatea de a obţine ca rezultat al măsur ărilor valoarea logică „0”
şi pentru valoarea „1” .Remarcă: Trebuie de menţionat următoarele momente esenţiale:
1) Dacă se măsoar ă „0” în starea , atunci starea după măsu-
rare va fi şi, respectiv, pentru „1”. Acest fenomen de schimbare
bruscă a stărilor după măsurare se mai numeşte „colaps” al stărilor şieste unul din indicatorii „nelocalităţii” mecanicii cuantice. Dar maisunt şi alţi indicatori.
2) Spre deosebire de bitul clasic „0” şi „1”, care poate lua valoriconsecutive în timp, qubitul superpoziţie poate lua valori „0” şi „1”instantaneu. Anume această proprietate este una care deosebeşte infor-matica clasică de cea cuantică.
3) Qubitul poate fi reprezentat folosind coordonatele sferice
reale, şi :
, .
Vizualizarea spaţială şi temporală a qubitului (coeficienţii
şi pot depinde de timp) se efectuează cu ajutorul sferei Bloch cu raza
egală cu 1 ( ).
Fig.2. Sfera Bloch
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 28/96
28
4) Dacă qubitul este măsurat în baza computaţională, atunci pro- babilităţile de obţinere a valorilor logice „0” şi „1” vor fi:
Prob (0)= , Prob (1)= .
În caz general, şi pot depinde de timp , . Graficul
dependenţei de timp a Prob(1) va fi (Fig.3)
Fig. 3. Oscilaţii Rabi a probabilităţii.Punctele de pe grafic sunt puncte experimentale simulate
La fel se obţine şi graficul pentru Prob (0). Aceste grafice cores- pund cazului ideal, adică timpul mediu de „viaţă” este infinit. În reali-tate însă, acest timp de „viaţă” T1 este relativ mic (~10 -5 sec) şi se mainumeşte timp de relaxare longitudinală a stării excitate. În acest caz
graficul dependenţei Prob (1) de timp, de exemplu, poate ar ăta în felulurmător:
Fig. 4.Oscilaţii Rabi „amortizate”. Descreşterea probabilităţii în timp estecaracterizată de timpul de viaţă T1. Punctele de pe grafic sunt puncte
experimentale simulate
În afar ă de fenomenul de „relaxare”, asupra qubitului acţio-
nează fenomene fizice care induc „decoerenţa” qubitului caracterizată
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 29/96
29
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 numărul de operaţii logice,care pot fi efectuate în timpul T
2.Cauza fizică a apariţiei timpului
caracteristic T2 este fluctuaţia relativă a stărilor qubitului ca rezultat alinteracţiunii necontrolabile cu mediul exterior.
Exerciţiu: Demonstraţi că doi vectori şi localizaţi în
direcţii diametral opuse pe sfera Bloch
,
,
sunt ortogonali, adică .
2.2. Operaţii unitare pe un qubit
În acest compartiment vom introduce noţiunea de por ţi logice peun qubit reprezentate prin matrice unitare .
2.2.1. Operaţ ii Pauli
Definiţie 2: (Matrice Pauli). Matricele (operatorii) Pauli se definescîn felul următor:
; ; ; ;
sau , , , .
Exerciţii:1. Verificaţi următoarele proprietăţi ale matricelor Pauli:1) Matricele Pauli sunt unitare şi hermitiene.2) Operatorii rotesc qubitul cu un unghi în jurul axelor
pe sfera Bloch.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 30/96
30
3) au valori proprii 1 şi -1.
4) În baza computaţională şi , operatorii pot fi
reprezentaţi:
5) .
6) ; ; .
7) .
8) ; ; .
9){ } { } { } ; {,} denotă anticomutatorul.
Teorema 1: Fie avem un ansamblu mixt pentru qubiţi puri. Atunci:1) Operatorul densitate a ansamblului este:
,
unde – matrice Pauli, iar sunt numere reale care
satisfac condiţia: .2) Operatorul densitate este pur atunci şi numai atunci când
.
Demonstraţie:1) Oricare operator din spaţiul poate fi scris ca o combinaţie
liniar ă a :
;
Aplicând condiţia se obţin .
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 31/96
31
Pentru a aplica condiţia , trebuie să calculăm mai întâi
:
;
Din condiţia , obţinem:
, sau .
2) Notăm că este pur, dacă şi numai dacă . Însă
atunci şi numai atunci când ; c.t.d.
Remarca 1: Există trei matrice unitare, care acţionează pe un qubit
; ; ;
şi care posedă proprietăţile , , , iar se nu-
meşte matricea Hadamard.Remarca 2: (poarta X).
Fie , unde , atunci
Altfel spus, matricea Pauli X acţionează ca poarta logică NOT.
Remarca 3: (poarta Y).Fie ,unde ; atunci
Remarca 4: (poarta Z).
Fie , unde ; atunci
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 32/96
32
Adică Z schimbă faza, dacă .
Remarca 5: (poarta H).
Fie , unde atunci
Altfel spus, poarta H transformă baza computaţională
într-o bază nouă ortonormată în spaţiul Hilbert .
; .
Remarca 6: (poarta S).Fie unde atunci
În aşa fel poarta S creează o deplasare de fază a qubitului cu .Remarca 7: (poarta T).
Fie , unde ; atunci
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 33/96
33
Deci efectul acţiunii asupra qubitului este deplasarea fazei
cu .
2.2.2. Operatori de rotaţ ie
O altă clasă de operatori unitari, care acţionează asupra unui qubit,sunt operatorii de rotaţie în jurul axei cu unghiul în sfera
Bloch:
Remarca 1: (Unele proprietăţi ale operatorilor de rotaţie).
1)
2) , ,
3) Pentru oricare unghiuri şi
este foarte utilă teorema de descompunere.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 34/96
34
Teoremă: (descompunerea Y-Z).Fie U este un operator unitar pe un singur qubit. Atunci există
numerele reale astfel încât:
.Definiţie: (Rotirea generală). Fie vectorul unitate
pe sfera Bloch şi fie vectorul . Atunci putem defini
operatorul de rotaţie cu unghiul în direcţia :
.
2.2.3. Registre cuantice de memorie
După cum se ştie, un computer cuantic manipulează informaţiasub formă de qubiţi. Un qubit (quantum bit) stochează, ca şi un bit
clasic, o valoare sau , dar şi o superpoziţie între şi :
,
unde şi – numere complexe şi .
În acest fel, poate fi stocată mult mai multă informaţie. Aducemun exemplu simplu: în 3 qubiţi clasici se poate scrie în momentul detimp dat numai un număr de la 0 la 7, reprezentaţi prin 000,001,...,111.În 8 biţi, un număr mai mic decât 256 şi tot aşa în N biţi se pot repre-
zenta până la numere. În schimb, 3 qubiţi pot reprezenta toate cele
8 numere simultan; 4 qubiţi – 16 numere şi în general, N qubiţi – numere.
Memoria unui computer cuantic este, în acest sens, semnificativmai puternică decât memoria oricărui computer clasic. Vom da defi-niţia matematică a registrului de memorie.
Definiţie: Un registru cuantic de memorie de n qubiţi este un
sistem cuantic (fizic) a cărui spaţiu de stare este . Alegând baza
computaţională pentru spaţiul Hilbert bidimensional
obţinem registrul:
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 35/96
35
; ;
sau altfel scris
.
Dacă trecem în baza zecimală, obţinem:
; .
Conform principiului de superpoziţie, putem scrie starea generală a registrului. Aceasta va fi:
.
Acum vom da definiţia generală a por ţii cuantice.Definiţie: O poartă cuantică este reprezentată printr-un operator
unitar definit în spaţiul Hilbert n-dimensional, care transformă stareainiţială a registrului de memorie a n-qubiţi (intrare) în starea finală (ieşire) a registrului de n-qubiţi.
Remarcă: Deoarece oricare operaţie unitar ă este inversabilă, atuncioricare poartă logică cuantică este reversibilă (cunoscând ieşirea, putemstabili univoc intrarea), spre deosebire de por ţile logice clasice AND,
OR, NAND, NOR, XOR.N.B. Operaţia clasică NOT este reversibilă.
2.2.4. Por ţ i logice de 2 şi 3 qubi ţ i
Spaţiul Hilbert pentru 2 qubiţi este produsul direct
al spaţiului bidimensional . Baza computaţională standardă în spaţiul
este:
, , , .
Qubitul – superpoziţie în spaţiul este:
,
unde – numere în caz general complexe.Spre deosebire de un qubit, doi qubiţi nu pot fi reprezentaţi pe
sfera Bloch, deoarece sunt necesari 7 parametri (grade de libertate).
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 36/96
36
Însă ideea generală r ămâne aceeaşi. O transformare unitar ă a doi qubiţinu este altceva decât o rotaţie a vectorului de stare în spaţiul .
Remarcă: În baza standardă, oricare operator liniar în este o
matrice în general complexă şi poate fi exprimat ca combinaţieliniar ă a operatorilor din ;
,
unde şi sunt operatori liniari în .
Ca exemplu, pot servi operatorii Pauli, . Deci
orice operator poate fi scris ca o combinaţie liniar ă din ;
.
2.2.4 .1.Opera ţ ia Control-U
Fie că este un operator unitar în :
.
Vom defini operatorul Control-U în :
Acest operator este inseparabil (nu poate fi exprimat ca produsdirect a doi operatori) şi deci reprezintă interacţiunea dintre doi qubiţi.
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 , atunci al doilea qubit
r ămâne intact (cazul 1), iar dacă primul qubit este , atunci se
aplică la al doilea qubit (cazul 2).
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 37/96
37
În acest fel dă posibilitatea de a controla un qubit de către altul.
Această proprietate este foarte importantă în implementarea compu-terului cuantic.
Dacă atunci putem realiza poarta CNOT [11]:
ori în baza se obţine matricea unitar ă
.
În mod grafic (convenţional), această poartă se reprezintă:
Fig 5. Poarta CNOT
Tabela logică pentru CNOT este:
c 0 0 1 1d 0 1 0 1x 0 0 1 1y 0 1 1 0
O altă operaţie importantă pe doi qubiţi este operaţia (poarta) SWAP.Reprezentarea matriceală în baza standardă este [11]:
.
Această operaţie schimbă cu locurile qubiţii.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 38/96
38
Exerciţiu: 1) Demonstraţi că .
2) Utilizaţi CNOT pentru a reprezenta grafic operaţia SWAP.Se poate de realizat o poartă pentru 3-qubiţi dacă folosim Control-
U, unde în loc de U se introduce şi se obţine Control-Control-Not (CCNOT) [11]:
;
sau în baza computaţională a 3-qubiţi se
obţine matricea:
.
În reprezentarea grafică poarta CCNOT obţinem:
Fig 6. Poarta CCNOT
Tabela logică pentru CCNOT este:
x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1
b 0 0 0 0 1 1 1 1
c 0 0 1 1 0 0 1 1
d 0 1 0 1 0 1 1 0
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 39/96
39
N.B. Succesiunea de por ţi CNOT poate servi ca „conductor” pentrua transfera un qubit (bit) sau şi un qubit superpoziţie dintr-un loc înaltul, dacă linia de control (c), (fig.5) se menţine în starea c=|0>, iar d=a|0>+b|1>.
Exerciţii:1) Verificaţi dacă matricele CNOT şi CCNOT sunt unitare.2) Verificaţi matriceal operaţiile CNOT şi CCNOT.3) Demonstraţi că CNOT poate servi ca „conductor” al unui qubit
superpoziţie.
2.2.4.2.Teorema neclonării informa ţ iei cuantice
Proprietatea de reversibilitate a por ţilor logice implică reversibili-tatea oricărei reţele cuantice şi în consecinţă respectiva reţea poate fireprezentată printr-o matrice unitar ă care efectuează transformări
unitare. Fie am implementat o matrice unitar ă care posedă pro-
prietatea de a clona (copia) informaţia cuantică necunoscută [4]. Princlonare se subînţelege copierea originalului, care la rândul său r ămâne
intact. Prin urmare, pentru oricare qubit , unde pe
primul loc se află qubitul original, iar pe al doilea loc se află qubitulclonat (copiat). Fie şi sunt două stări ortogonale, atunci
şi . Vom considera qubitul superpoziţie
. Datorită proprietăţii de linearitate, obţinem:
. Pe de altă parte,
fiind operator (matrice) liniar, care performează clonarea, obţinem:
, şi care nu este egal cu
. Prin urmare, nu există o transformare unitar ă care,
în mod cert, ar clona starea cuantică de superpoziţie, spre deosebire de
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 40/96
40
stările ortogonale sau etc., care coincid cu biţi clasici realizaţi
la nivel cuantic şi care pot fi clonate. Drept exemplu vom utiliza ope-ratorul
. În ca-zul clasic, problema clonării stărilor superpoziţie nici nu se pune, deoa-rece, în acest caz, nu există stări de superpoziţie, spre deosebire derealizarea cuantică a qubiţilor.
2.2.4.3. Defini ţ ia computerului cuantic
Definiţie: Pentru procesarea informaţiei de către procesorul cuantice necesar să se utilizeze următoarele proceduri [4,6]:
1) Prepararea registrului cuantic în starea iniţială bine definită .
2) Manipularea stării iniţiale a registrului prin consecutivitateaoperaţiunilor unitare pentru a obţine starea finală
a registrului de n-qubiţi.
.
3) Măsurarea stării finale în baza computaţională.Simularea computerului cuantic descris de operatorul unitar M va
fi descrisă detailat în capitolul 4.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 41/96
41
3. ALGORITMI CUANTICI
În acest capitol cuantic, pentru exemplificare, vom analiza numai
câţiva algoritmi cuantici, care reprezintă principii fundamentale şimetode universale utilizate în procesarea cuantică a informaţiei [1].
3.1. Stări corelate, sau stări entanglate
Stările corelate sunt unice în descrierea fenomenelor cuantice.Aceste stări se întâlnesc în descrierea sistemelor cuantice compozite şiservesc ca resursă suplimentar ă în arhitectura computerelor cuantice,teleportarea informaţiei cuantice etc. Pentru a explica aceste stări, vomexamina crearea şi distrugerea stărilor Bell (EPR-Einstein, Podolski,Rozen).
Vom examina generarea stărilor EPR utilizând reţeaua:
Fig.7. Reprezentarea grafică a entanglerului
Fie , şi .
După celula obţinem:
.
Fie este: .
Atunci .
Acum aplicăm operaţia CNOT la ambii qubiţi :
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 42/96
42
.
Conform definiţiei stărilor entanglate, obţinem:
.
Pentru a ilustra diferenţa dintre stările produs tensorial şi stările
entanglate, vom efectua anumite măsur ări pentru a obţine stările
şi . Operatorii de măsurare a qubitului 2 a stării
se vor scrie:
şi ; ;
.
Probabilitatea de a obţine starea şi este:
= ;
;
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 43/96
43
După măsurare obţinem starea:
;
Se observă că măsurarea nu afectează primul qubit . Acum vom
măsura starea după operaţia CNOT, adică starea:
.
Probabilitatea obţinerii qubitului 2 (*qubitul doi poate fi sau
*) este:
=
=;
;
Starea după măsurare va fi:
.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 44/96
44
Adică starea obţinută în urma măsur ării qubitului 2 din
se modifică (*starea par ţial se distruge*) . În mod similar, obţinem
pentru qubitul 2 , dacă se aplică ;
;
Starea după măsurarea qubitului 2 în starea va fi .
Exercitiu: Folosind reţeaua din figura 7, obţineţi cele patru stări
Bell, folosind ; .
3.1.1. Concurenţ a st ării de entanglare
Pentru a caracteriza starea de entanglare, există mai multe caracte-ristici. Una este concurenţa C, care se defineşte pentru qubitul (starea)
general [4] :
,
unde iar este matricea Pauli şi – numărul de
particule (qubiţi), care participă în starea de entanglement.Fie (cazul sistemului compozit alcătuit din 2 spini 1/2). Starea
generală va fi:
iar
starea complexă conjugată este:
, atunci:
.
Deci, în baza computaţională, obţinem:
,
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 45/96
45
Produsul scalar este:
;
Dacă este normată la ,
atunci concurenţa este:
.
Concurenţa depinde de timp şi poate lua valori între 0
şi 1, adică . Vom analiza câteva cazuri particulare:
1) Dacă , atunci starea poate fi reprezentată ca produs
direct a doi qubiţi. Verificaţi pentru cazul .
2) Dacă:
a) şi , atunci ;
b) , atunci
c) , atunci ;
d) , atunci
Stările au cel mai mare grad de entanglare
(corelare), deoarece concurenţa este . Stările obţinute se
mai numesc stările lui Bell şi formează o bază în spaţiul a „doi qubiţi” înspaţiul Hilbert. Stările Bell demonstrează cum poate fi ascunsă informaţia
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 46/96
46
în momentul măsur ărilor locale asupra unui qubit din cei doi prezenţiîn aceste stări. În oricare din stările Bell, dacă se efectuează măsurareanumai asupra unui qubit, se obţin rezultate în medie complet randomi-zate (probabilitatea este 1/2). Deci aceste stări nu pot fi distinse (proba- bilistic), dacă măsur ările se efectuează asupra unui qubit, din oricarecei doi.
Entanglarea fizică între particule (qubiţi) poate fi obţinută, dacă aceste particule interacţionează.
3.2. Transformarea cuantică Fourier rapidă
Este bine cunoscut din matematică existenţa transformării discreteFourier. Această transformare se utilizează, de exemplu, la rezolvareaecuaţiilor diferenţiale ale fenomenelor fizice, când mărimile discretizatese reprezintă prin transformarea discretă Fourier, care se mai numeştemetoda undelor plane. Fie axa spaţială este împăr ţită în păr ţi egale.
Punctele de împăr ţire le vom nota prin . În metoda
discretizării se utilizează diferenţele
etc., la care se aplică transformarea discretă Fourier. Deci fiecare coor-donată poate fi reprezentată prin seria discretă Fourier.
,
unde sunt coeficienţii seriei Fourier, care se calculează după formula:
.
Transformarea Fourier cuantică [4] este un operator care asi-gur ă relaţia de corespondenţă în interiorul spaţiului Hilbert asupra bazei
. Aici baza este reprezentată pentru comoditate
în formă zecimală în loc de cea binar ă. Deci:
.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 47/96
47
Trebuie de menţionat că are loc identitatea:
valabilă atât în contextul clasic, cât şi în contextul cuantic.
Fie avem o stare cuantică arbitrar ă de superpoziţie ,
unde sunt amplitudinile, care pot lua, în caz general, valori com-
plexe. Pentru această stare, are loc relaţia de corespondenţă
= ,
unde sunt amplitudinile imagine (sau coeficienţii Fourier) a trans-
formării Fourier. Această transformare este unitar ă, deoarece ea con-servă norma stării cuantice:
.
Fie acum alegem în aşa fel ca , deci şi baza va fi
valabilă pentru -qubiţi.
În acest caz, se spune că avem transformarea Fourier rapidă (TFR)sau în engleză (FFT). A fost demonstrat că în cazul utilizării trans-
formării discrete Fourier rezultatul este atins după efectuarea a
paşi, pe când varianta rapidă îşi atinge scopul după paşi, ceeace este foarte convenabil în procesele de calcul.După cum am mai spus, la notarea stărilor cuantice de bază poate
fi folosită varianta zecimală sau binar ă, deoarece are loc legătura întreaceste două reprezentări conform formulei:
, pentru numere întregi, iar pentru
numere fracţionale avem:
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 48/96
48
.
Deci, în cazul , relaţia de corespondenţă va fi:
.
Dacă în această relaţie introducem reprezentarea binar ă a nume-relor zecimale , vom obţine următoarea relaţie:
= .
În această expresie vom reprezenta în forma fracţionar
binar ă,
având în vedere, că , unde este număr întreg. În aşa
fel obţinem:
, unde
; ;
etc.
Procesarea transformării cuantice Fourier poate fi exprimată prin poarta deplasării de fază
.
Vom considera starea de intrare în formă binar ă .
Acţionăm cu poarta Hadamard asupra qubitului şi obţinem
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 49/96
49
, unde s-a folosit
, sau .
Acum acţionăm cu poarta Control - şi obţinem:
. Repetând de -ori ope-
raţia până la , vom obţine:
. Al doilea qubit va
fi tratat în mod similar şi se obţine:
.
Continuând acest proces, vom obţine starea finală:
.
Acesta este rezultatul obţinut, cu excepţia ordinii termenilor din
produsul direct, dar care poate fi schimbat la cel normal, dacă se folo-seşte poarta SWAP aplicată de ori. Numărul de paşi pentru
transformarea cuantică rapidă Fourier este de ordinul pe când
transformarea rapidă clasică Fourier necesită paşi.
Reprezentarea grafică a transformării cuantice Fourier pentru cazul
este reprezentată în figura 8:
Fig.8.Transformarea cuantică rapidă Fourier pentru 3 qubiţi
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 50/96
50
3.3. Teleportarea informaţiei cuantice
Teleportarea este procesul de transmitere a informaţiei de la punctul spaţial în punctul spaţial , chiar dacă evenimentele din
punctele şi au intervale spaţiale (în sensul teoriei relativităţii luiEinstein) [1]. Fie că avem un qubit necunoscut al
particulei 1 ( şi nu sunt cunoscute) plasat în sistemul fizic situatîn punctul , iar în punctul avem acelaşi sistem fizic. Dorim ca
starea să fie plasată pe sistemul identic din punctul
B. Această deplasare a informaţiei ţine de fenomenul de teleportare.Acest proces de teleportare poate fi asigurat de una din cele patru stărientanglement Bell (stări EPR). Vom alege una din aceste patru stări, şi
anume, fie că alegem starea EPR , care descrie parti-
culele 2 şi 3 corelate. Fiind corelate, aceste particule se împart de ob-servatorii din şi , anume particula 2 se trimite în , iar particula3 în . Starea aleasă este cunoscută atât pentru observatorul din
cât şi pentru cel din Anume această stare aleasă asigur ă canalul
cuantic de transmitere a informaţiei din punctul spre .În punctul starea generală obţinută prin produsul tensorial este:
= .
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 51/96
51
Aplicăm operaţia CNOT asupra qubiţilor 1 şi 2 şi obţinem:
.
Aplicăm acum asupra primului qubit din această stare operaţiaHadamard, adică operaţia şi având în vedere că
,
,
obţinem starea:
.
Transformând starea , obţinem:
.
Această stare indică că avem o sumă alcătuită din patru termeni. Primul
termen conţine qubiţii ai observatorului din şi qubitul obser-
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 52/96
52
vatorului , care este starea qubitului . Dacă ob-
servatorul efectuează măsur ări şi obţine rezultatul – pentru
qubiţii 1 şi 2, atunci sistemul lui va fi în starea . În aşa fel se pot obţine stările qubitului 3, care apar ţin lui după ce observatorul
a efectuat măsur ările. Altfel spus, ca rezultat al teleportării instan-tanee stările qubitului 3 vor fi:
Dacă: ,
,
,
.
Deci în dependenţă de măsur ările lui qubitul 3 a lui se
va afla în una din aceste patru stări. Este evident că pentru a afla în cestare se află qubitul lui , el trebuie să cunoască exact carecombinaţie din doi biţi a fost măsurată de Anume această situaţie
nu permite a utiliza teleportaţia pentru a transmite informaţia cu viteză mai mare decât viteza luminii. Aceasta este datorată faptului că infor-maţia despre măsur ările efectuate de poate fi transmisă numai princanalul clasic de comunicare (ex. telefon, radio, TV, Internet etc).Imediat după obţinerea informaţiei de la , observatorul poate(ştie cum!) să corecteze starea teleportată pe qubitul 3 în aşa fel ca să
obţină starea iniţială . Operatorii de rotaţie, având în vedere cele
patru stări teleportate vor fi:
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 53/96
53
Aici, sunt operatorii lui Pauli.
N.B.: 1) Cu ajutorul noţiunii de matrice densitate, poate fi demon-strat că f ăr ă canalul clasic de transmitere a informaţiei despre măsur ă-
rile efectuate de procesul de teleportare nu poate transmite nici oinformaţie.
2) În genere pot fi teleportaţi mai mulţi qubiţi simultan.3) Teleportarea poate fi utilizată nu numai în telecomunicaţii, dar
şi în computere cuantice. Pentru aceasta este necesar a utiliza celulelogice cuantice (operaţii cuantice) pentru implementarea procesului deteleportare. Reţeaua care asigur ă teleportarea, schematic, poate fi re- prezentată conform figurii:
Fig.9. În această diagramă liniile reprezintă datele (qubiţii) cuantice, iar liniile duble reprezintă informaţia clasică
4) Pentru descrierea matematică a măsur ărilor, se utilizează prin-cipiul de extindere atât pentru celulele logice, cât şi pentru operatoriide măsurare , utilizând produsul tensorial al operatorilor cu ope-
ratorul identitate.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 54/96
54
4. SIMULAREA CUANTICĂ
4.1. Simularea computerului cuantic la computerul clasic
Modelul de maşină cuantică Turing este un mod de a descrie uncalculator abstract. Un alt model este construit ca un circuit, numitreţea, constituit dintr-un set de celule logice primitive. Cele două abor-dări sunt echivalente: orice calcul care poate fi operat în mod efi-cient cu o maşină cuantică Turing, de asemenea, poate fi efectuat
de către un circuit cuantic şi viceversa.
Simularea computerului cuantic la computerul clasic are o eficienţă exponenţială în timp faţă de numărul de qubiţi utilizaţi şi deci simu-
larea este ineficientă. Însă în scopuri didactice şi ştiinţifice se poatesimula un computer cuantic constituit dintr-un număr 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ă combinaţională, care esteo descriere a circuitului la nivelul calculatorului care urmează să fieimplementat. Circuitul este constituit din por ţi cuantice reversibile de1 qubit, 2 qubiţi şi 3 qubiţi. 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 acţionând consecutiv în timp asupra a m qubiţi. Procesarea in-formaţiei iniţiale de intrare se realizează de către circuitul descris dematricea unitar ă – produs Ak Ak-1.. A1, unde A1 este operatorul (matriceunitar ă), care serveşte ca intrare, iar Ak finalizează calculele.
Prin urmare, întrebarea este ce Hamiltonian în expresia
va da naştere la o evoluţie dinamică care pune în aplicare circuitul Ak Ak-1 ..A1. Aceasta este întrebarea la care Feynman a găsit un r ăspunsgeneral. El a f ăcut acest lucru prin lărgirea setului de m qubiţi (folosit pentru a reprezenta intr ările şi ieşirile circuitului) cu un set de k+1 extraqubiţi. Aceşti extraqubiţi se folosesc, pur şi simplu, pentru amonitoriza procesul calculelor. Prin urmare, ei servesc ca un fel decontor de parcurgere a programului. Matematic, această doleanţă poatefi îndeplinită folosind Hamiltonianul
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 55/96
55
unde c şi a sunt operatori de creare şi anihilare, des întâlniţi în teoria
cuantică a câmpului.Doar un singur qubit al contorului numit ”cursor” este întotdeauna
ocupat. În aşa fel, măsurând periodic cursorul, putem determina cândau fost aplicate toate operaţiile k . De îndată ce vom găsi cursorul în pozitia k , vom şti că tot circuitul a fost utilizat la procesarea informaţieiiniţiale. Informaţia procesată se va înscrie pe un registru de n qubiţi ce vaconţine un r ăspuns valabil pentru calculele încorporate în circuitul ales.
În această formă, Hamiltonianul va for ţa calculatorul într-o supra-
punere de stări reprezentate prin toate stările posibile a n qubiţi, inclu-siv a stărilor de cursor. Tranziţia de la starea iniţială a registrului dememorie la starea finală a registrului, care conţine rezultatul, este des-crisă de probabilitatea de tranziţie care va depinde în mod periodic detimp (este o analogie cu tranziţiile Rabi de rezonanţă în sistemele cudouă stări distincte). Prin urmare, intervenţia exterioar ă (observarea)necesar ă pentru a obţine probabilitatea de tranziţie va fi descrisă prinfixarea timpului de evoluţie a computerului care ar asigura obţinerea
probabilităţ
ii maxime.4.1.2. Simularea unui calculator cuantic simplu
Desigur, cum a ar ătat Richard Feynman [6], în prezent nu cunoaş-tem o cale eficientă de a simula calculatorul cuantic în mod eficient pe baza unui calculator clasic, deoarece această problemă are un caracter de eficienţă exponenţială (aceleaşi greutăţi se întâlnesc la factorizareanumerelor întregi mari). Însă pentru simularea calculatoarelor cuanticecare conţin un număr rezonabil de celule logice reversibile unite încircuit (reţea), se poate de apelat la computerul clasic, ceea ce va faci-lita înţelegerea principiilor de calcul cuantic, care au loc în computerulcuantic real. În acest sens, modelul computerului cuantic al lui Feynmaneste cel mai simplu de a-l simula, deoarece poate fi specificat, folosindmatricele unitare, dimensional finite din Hamiltonianul expus mai sus.În caz general, pentru orice arhitectur ă a circuitului, simularea necesită respectarea anumitelor reguli (paşi), după cum urmează:
1. Alege calculul care vrei să-l efectueze calculatorul.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 56/96
56
2. Reprezintă calculul ca un circuit construit din por ţi logice cuantice.3. Calculează Hamiltonianul H care realizează acest circuit.4. Calculează operatorul unitar de evoluţie pentru H .5. Determină mărimea registrului de memorie pentru prezentarea
qubiţilor de intrare şi de cursor.6. Iniţializează registrul de memorie de intrare în circuit.7. Evoluează calculatorul pentru o perioadă de timp.8. Testează dacă se face calculul (citeşte qubiţii-cursor).9. Dacă-i aşa, extrage r ăspunsul prin citirea registrului qubiţilor-
r ăspuns.
4.1.3. Reprezentarea calculului ca fiind un circuit
Odată ce avem în vedere o anumită evaluare particular ă, urmă-toarea întrebare este cum se poate de creat un circuit cuantic care va produce calculul?! Pentru acest lucru trebuie de specificat ce por ţicuantice trebuie de folosit şi cum pot fi ele unite. Unirea într-un circuitcuantic este doar o specificare ce semnale de ieşire (qubiţi logici)dintr-o mulţime de por ţi pot servi ca semnale de intrare pentru altă mulţime de por ţi. Din punct de vedere fizic, por ţile pot comunica întreele prin schimbul aceluiaşi qubit fizic sau prin intermediul interacţiuni-lor de câmp. Totuşi este de folos să vizualizăm un circuit cuantic ca uncircuit logic combinatoriu clasic. Astfel, un set de por ţi cuantice şi dia-gramele lor de legătur ă asociate definesc un circuit cuantic.
Transformarea semnalelor de intrare în cele de ieşire poate fiunitar ă în astfel de circuite, deoarece, pentru a fi cuantic realizabil,circuitul trebuie să cauzeze starea cuantică care este intrarea la circuitspre a evolua în concordanţă cu ecuaţia Schrodinger. Oricum, ecuaţialui Schrodinger tot timpul prezice că un sistem izolat cuantic va trece
printr-o evoluţie unitar ă. Prin urmare, pentru un circuit ipotetic, ca să poată fi realizabil, din punctul de vedere al mecanicii cuantice, trebuiede pus în aplicaţie o transformare unitar ă totală pentru întreg circuitul.
Pentru a asigura unitaritatea peste tot, por ţile cuantice pe care leconţine circuitul trebuie să fie unitare. Oricum, unitaritatea implică reversibilitate. Acest lucru înseamnă că “ieşirile” oricărei por ţi cuantice pot fi deduse, unic, din intr ări, şi invers. Matematic, aceste por ţi suntdescrise de matrice unitare.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 57/96
57
Aşa cum pot fi alese diferite mulţimi de por ţi logice clasice, pentruimplementarea unui circuit clasic, de asemenea, se pot de ales diferitemulţimi de por ţi cuantice într-un circuit cuantic pentru o evaluare cuan-
tică. Se ştie că sunt multe posibilităţi de alegere pentru por ţi logicecuantice. Poate fi construit orice circuit cuantic din orice mulţime de por ţi cuantice, dacă se folosesc por ţile universale de 1-qubit, 2-qubiţi.Oricum, sunt şi alte por ţi cuantice, de exemplu, poarta CCNOT de3-qubiţi, care chiar dacă nu formează o mulţime universală, oricumasigur ă o transformare (unitar ă) utilă pentru evaluări specifice.
Vom implementa un circuit cuantic care efectuează sumarea a doiqubiţi. Circuitul nostru cuantic va conţine por ţile CCNOT şi CNOT
unite consecutiv. Poarta CCNOT joacă rolul de intrare, iar poartaCNOT de ieşire, aşa cum este prezentat în fig. 9.
Fig.9. Circuitul pentru sumarea a doi qubiţi a şi b
Aici liniile orizontale reprezintă convenţional “Conductorii de qubiţi”,
iar timpul va creşte pe aceste linii de la stânga la dreapta.
4.1.4. Determinarea dimensiunii registrelor de memorie
Până la acest moment, cunoaştem evaluarea pe care dorim să oobţinem şi circuitul care o va efectua. Prin urmare, trebuie să calculămde câţi qubiţi este nevoie pentru a simula operaţiile acestui circuit.
Registrul de memorie a unui computer cuantic (de tip Feynman)este divizat în două mulţimi distincte. O mulţime de qubiţi este folo-
sită pentru a înregistra poziţia cursorului (care indică câţi paşi de calculau fost efectuaţi), şi cealaltă mulţime de qubiţi este folosită pentru aînregistra r ăspunsul. Dacă calculul necesită aplicaţia a k operaţii logice(k por ţi) şi n de intrare, atunci vor fi k+1 qubiţi dedicaţi să monitorizeze poziţia cursorului şi n qubiţi dedicaţi să reprezinte r ăspunsul. Dacă circuitul nostru constă din k por ţi aplicate la o totalitate de n-qubiţi deintrare, atunci vom avea nevoie de n+k+1 qubiţi pentru a simula uncomputer (reţea sau circuit).
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 58/96
58
Stările qubiţilor-cursor şi qubiţilor-r ăspuns sunt cuplate în sensulcă dacă observăm poziţia cursorului şi îl găsim în poziţia terminală (k+1), atunci putem fi siguri de faptul că în acel moment, dacă se mă-
soar ă qubiţii-r ăspuns, ei vor dezvălui o soluţie garantată probabilistic,corectă a evaluării.Deci care ar fi numărul necesar de qubiţi-cursor şi qubiţi-r ăspuns
pentru circuitul-sumator (a se vedea fig.9). Pentru circuitul-sumator,este nevoie de 3 qubiţi de intrare (n = 3, două por ţi cuantice (k = 2) şideci n + k + 1 = 6. În aşa fel, noi putem reprezenta starea completă a re-gistrului de intrare şi ieşire (qubiţii-cursor şi qubiţii-r ăspuns) ca un vector (matrice coloniţă) de dimensiunea 26×1, care va reprezenta 6 qubiţi şideci 6 linii, care vor reprezenta circuitul. Acest circuit mai conţineelementele logice CNOT şi CCNOT aşa cum este ar ătat în figura 10:
Fig.10. Sumator în care sunt incluşi qubiţii pentru cursor (numerotarea condiţionată a liniilor s-a efectuat de sus în jos,
după cum este indicat pe desen)
Din considerente practice, matricele CNOT şi CCNOT pot fi ex- primate prin matricele operatorilor de creare şi anihilare, a se vedeaFeynman [6, p.678]
Pentru ca celulele logice să opereze corect pe 6 linii, trebuie de
extins matricele CNOT (CN) şi CCNOT (CCN) în spaţiul Hilbert 6-dimensional. Extinderea lor se efectuează prin extinderea operatorilor de creare şi anihilare (a se vedea anexa II). În aşa fel, se obţin matriceleextinse CNGate[4, 5, 6] şi CCNGate{4, 5, 6, 6]. Aici ultima cifr ă indică numărul liniilor (6), iar numerele (4, 5) şi (4, 5, 6) indică liniile pe care se cuplează CN şi CCN.
Pentru a verifica adevărurile logice ale por ţilor extinse CNGate
[4, 5, 6] şi CCNGate{4, 5, 6, 6], ne folosim de funcţia adevărurilor
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 59/96
59
TruthTable[ ] descrisă în anexa I executând următoarele instrucţiuni:TruthTable[CNGate[4, 5, 6] ] şi TruthTable[CCNGate{4, 5, 6, 6] ] .
Rezultatul executării acestor instrucţiuni va conţine 26 = 64 reguli
de dependenţă
logică
a qubiţilor de ie
şire
şi intrare, separat pentru fie-care 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 cărui evoluţie întimp poate fi interpretată ca îndeplinind unele evaluări particulare. Evo-
luţia în timp a unui sistem cuantic este descrisă de ecuaţia 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 iniţial, i = şi este constanta luiPlanck, împăr ţită la 2π şi egală cu 1,0545*10-34 J * s. Astfel, pentru ca
un sistem cuantic să execute un circuit cuantic particular, este necesar să cunoaştem Hamiltonianul H al circuitului. Existenţa, în acest sens, aoperatorului Hamilton real sau formal unic, fiind în ambele cazuri opera-tor hermitic din spatiul Hilbert este o problemă, ce ţine de cercetările dinviitorul apropiat. Formal vorbind, în spatiul Hilbert există o infinitatede operatori „hermitici” independenţi de timp, care nu corespund unuisistem cuantic real, dar care ar asigura evoluţia formală a informaţiei prin ecuaţia Schrodinger temporală. În acest sens, ecuaţia Schrodinger
poate fi privită şi ca o ecuaţie formală de evoluţie a informaţiei.În cazul când operatorul Hamilton nu depinde de timp, soluţia
ecuaţiei Schrodinger se exprimă prin operatorul unitar de evoluţie:
Aşadar, dacă reprezintă qubiţii de intrare pentru circuitul
pe care noi încercăm să-l simulăm, atunci reprezintă qubiţii de
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 60/96
60
ieşire la momentul de timp t. Desigur, este obligatoriu ca operatorul de
evoluţie să cauzeze evaluarea stării în aşa mod, încât ar simula
acţiunea circuitului dorit.
Este meritul fizicianului Richard Feynman, care a găsit un aşaHamiltonian, ce ar genera operatorul unitar de evoluţie dorit. Trebuiede menţionat că acest operator nu este unicul găsit.
Dacă circuitul, care constă din m intr ări şi n ieşiri este compus dink operaţii logice (k por ţi), atunci conform lui Feynman se mai adaugă suplimentar o mulţime de k+1 qubiţi pentru cursor. Cursorul serveşteca un contor de program ce număr ă paşii efectuaţi. Dacă cursorul estegăsit în locul (k+1), atunci registrul de memorie (din n qubiţi conţine
garantat un r ăspuns valid, iar calculele s-au terminat efectiv pentruintervalul de timp (t - 0).Hamiltonianul, care asigur ă efectuarea operaţiilor logice în oricare
circuit, este dat de suma unui produs scalar al operatorilor de creare şianihilare cu fiecare operator poartă. Ideea a venit de la cercetările pecare le-a f ăcut Feynman în dinamica undelor spinului într-un lanţ de particule cuplate.
În general, un circuit va consta dintr-o mulţime de k por ţi. Efectulsău total poate fi descris de produsul scalar al operatorilor extinşi Mk
pentru fiecare poartă aplicată în ordine temporar ă succesivă. De exemplu,M1 este prima poartă, M2 este a doua poartă etc., aplicate succesiv încircuit. Deci circuitul, care conţine k por ţi unite consecutiv, va fi descrisde matricea unitar ă M, care este produsul scalar al matricelor M j unitareextinse:
M = Mk .Mk-1 ...M j .. M2 .M1
Operatorii de creare şi anihilare sunt folosiţi pentru a schimbacursorul înainte şi înapoi. Pentru a schimba cursorul din locul în
( +1), în primul rând trebuie să anihilăm cursorul în poziţia şi apoisă-l recreăm la poziţia ( +1).Această mişcare a cursorului trebuie cuplată cu poarta corespun-
zătoare. Deci termenul care descrie mişcarea cursorului din poziţiaîn poziţia ( +1) a portii Mi+1 este descris de termenul
din Hamiltonianul H, unde operatorii M, c si a sunt extinşi.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 61/96
61
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 şide a converti starea 1 în starea nulă. În mod similar, operatorul de ani-hilare (sau coborâre) converteşte starea 1 în starea 0 şi converteşte sta-rea 0 în starea nulă şi este definit de matricea:
Versiunile operatorilor extinşi de creare şi anihilare din Hamiltonianul H pot fi obţinute în aşa mod ca ele să acţioneze asupra qubitului
(linia a cursorului) din setul de k+1+n linii, folosind produsul directa k+1+n matrice identitate cu excepţia ca matricea identitate de pelocul să fie înlocuită cu matricea operatorului de creare sau anihilaredupă necesitate.
Deci Hamiltonianul extins pentru oricare circuit se va scrie:
unde cruciuliţa denotă transpusa conjugată. Trebuie de menţionat că această definiţie foloseşte operatorii de creare şi anihilare pentru amişca cursorul înainte şi înapoi şi pentru a aplica operatorul por ţii înmod corespunzător, atunci şi numai atunci când cursorul este într-o poziţie corectă. În acest fel, efectul net al unui asemenea Hamiltonianeste de a plasa calculatorul cuantic într-o superpoziţie (suma de eva-
luări) în care sunt aplicaţi diferiţi operatori de poartă. Oricum, poziţiilecursorului şi numărul de por ţi sunt perfect corelate între ele. Matriceaoperatorului H pentru oricare circuit are dimensiunea 2
k+1+nx 2
k+i+n .Pentru circitul sumator, se obţine matricea 64 64. Acest lucru poatefi vizualizat cu ajutorul funcţiei Hamiltonian [ ] (a se vedea anexa).Pentru aceasta, vom defini circuitul prin variabila sumator prin Listă,în felul următor:
sumator = {CCNGate[4, 5, 6, 6] , CNGate[4, 5, 6] },
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 62/96
62
iar matricea Hamiltonianului va fiHamiltonian [3, 2, sumator].
Fiind dat Hamiltonianul, noi putem estima evoluţia operatorului
unitar din
cu ajutorul funcţiei EvolutionOP[ ] din anexa II, prin instrucţiunea:EvolutionOP [3, 2, sumator, t] .
4.1.7. Evoluţ ia computerului cuantic pentru o perioad ă
de timp fixat ă
Pentru circuitul sumator, una dintre stările iniţiale poate fi adu-narea qubiţilor |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ă măsur ări, în intervalul de
timp (0 , t) atunci circuitul evaluează conform operatorului unitar deevoluţie. La intervenţia măsur ărilor, în acest interval de timp, starea înmomentul intervenţiei se va schimba şi poate deveni controlabilă. Însă mediul înconjur ător poate să genereze interacţiuni parazitare necon-trolate cu circuitul cuantic şi ele pot fi calificate ca intervenţii de măsu-r ări asupra circuitului, însă aleatorii. În aşa fel, la procesarea informaţieicuantice se nasc erori (ceea ce nu se observă, în mod regulat, la com- puterele clasice în timpul procesării informaţiei) şi, evident, acesteerori trebuie corectate în timpul procesării. Această situaţie demonstrează diferenţa dintre computerele cuantice şi cele clasice. Actualmente există o sumedenie de algoritmi pentru a corecta erorile în computerele (cir-cuitele) cuantice, iar aceşti algoritmi fac parte din ştiinţa „Informaţiacuantică” – analogul ştiinţei „Informaţia clasică”.
Combaterea erorilor este o problemă importantă pentru compute-rele cuantice, deoarece este necesar de menţinut memoria registruluiîn stare de suprapunere coerentă destul de mult timp pentru ca calcululsă aibă loc.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 63/96
63
În lipsa erorilor, evoluţia circuitului (conservativ – analogul siste-mului cuantic conservativ) este asigurată de ecuaţia Schrodinger prinfuncţia SchrodingerEvolution[ ] (a se vedea anexa II). Pentru sumator această funcţie este:
SchrodingerEvolution[ket[1,0.0.1,1,0], 3, 6, sumator, t ],
primul argument în funcţia SchrodingerEvolution este starea iniţială 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 evaluăm calculatorul pentruintervalul (t-0 )=t= 0.5 unităţi.
Functia SchrodingerEvolution returnează starea calculatorului pentru timpul de 0.5 unităţi. La acest moment de timp, probabilitateagăsirii registrului de memorie (biţii cursorului şi bitul programului) înfiecare configuraţie logică posibilă este dată de funcţia Probabilities[ ] (a se vedea anexa). Pentru sumator această funcţie se va scrie:
Probabilities[evoln1,ShowEigenstates->True ] .
Aici variabila evoln1 conţine superpoziţia stărilor logice posi- bile obţinută ca rezultat al calculelor în intervalul t=0.5. OpţiuneaShowEigenstates->True afişează stările logice posibile şi probabili-tăţile respective. Dacă vom lua alt interval de timp, de exemplu t=0.8,atunci se obţin alte probabilităţi.
După cum poate fi verificat, probabilităţile de obţinere a unuir ăspuns corect cresc sau scad în timp. În modelul de calculator cuantical lui Feynman, există incertitudinea când va fi finisat calculul. Oricum,consider ăm că ori de câte ori cursorul este observat la poziţia k+1,r ăspunsul în registrul de memorie este întotdeauna corect. După cum
se poate uşor de verificat, probabilităţile vor oscila în timp între stareainiţială 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ţă însistemul cuantic cu două nivele distincte, când asupra sistemuluiacţionează o perturbaţie de o frecvenţă fixată. Asemenea oscilaţii ale probabilităţii se mai numesc oscilaţii Rabi.
În practică, faptul că nu putem anticipa cu certitudine timpul încare calculele vor fi complete, înseamnă că trebuie să observăm perio-
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 64/96
64
dic poziţia cursorului pentru a vedea dacă calculele au fost finisate. Deşinu putem observa direct starea biţilor de r ăspuns în timpul a astfel deobservaţii asupra biţilor cursorului, aceste observaţii vor afecta starea
întregului registru de memorie (biţii cursorului şi biţii de r ăspuns).Odată ce am găsit cursorul la o poziţie particular ă, adică fie în poziţiaa cursorului, starea registrului complet este proiectată într-o supra-
punere de stări în care poziţia cursorului este .Dacă cursorul este găsit la poziţia (k+1), atunci evoluţia ulterioar ă
este împiedicată şi este măsurată starea registrului de memoriecompletat (biţii cursorului plus biţii de r ăspuns). Dacă cursorul încă nueste la poziţia (k+1), funcţia SchrodingerEvolution este reluată luând
noua stare proiectată ca stare iniţială. Astfel, întreg calculatorul evolu-ează într-un mod „step by step” până atunci când poziţia cursorului vafi (k+1) şi probabilitatea stării finale va fi maximă.
Pentru a testa finalizarea calculelor, trebuie să măsur ăm numaiqubiţii folosiţi pentru a codifica cursorul în registrul de memorie.Pentru a simula actul de citire a biţior cursorului registrului de memorie,folosim funcţia ReadCursorBits[ ] utilizat pentru a urmări poziţiacursorului şi superpoziţia stărilor logice, care reprezintă starea completă
a registrului de memorie la un moment dat. Această funcţie returnează poziţia cursorului şi noua stare în care este proiectat registrul de me-morie ca rezultat al măsur ării simulat de această funcţie.
Să aducem exemplu pentru timpul de executare t=1 în funcţia SchrodingerEvolution:
state1=SchrodingerEvolution[ket[1 ,0, 0, 1, 1, 0], 3, 2, sumator, 1]:{cursor1,projected1}=ReadCursor[3,state1]
Acum putem vedea valorile variabilelor:
state1projected1
cursor1
Aici variabila state1 a sistemului în mometul t=1, projected1 indică stările proiectate în dependenţă de valoarea variabilei cursor1,care indică poziţia cursorului. Pentru poziţia dată a cursorului, varia- bila projected1 poate conţine şi o anumită superpoziţie de stări careau una şi aceeaşi poziţie a cursorului.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 65/96
65
Pentru citirea (sau extragerea rezultatului calculelor) din registrulde memorie, poate fi aplicată funcţia (a se vedea anexa II):
ReadMemoryRegister[state1].
4.2. Simularea cuantică pe computere cuantice
După cum s-a văzut, capacitatea unui calculator cuantic estedatorată unui paralelism cuantic asociat cu principiul de superpoziţie.Aceasta înseamnă că un calculator cuantic poate procesa un număr mare de intr ări clasice într-o singur ă rulare.
Dar problema mai dificilă o constituie extragerea informaţiei utile
din starea de ieşire (finală). Această informaţie este, într-un anumitsens, ascunsă. Rezultatul unui proces de măsur ători este inerent pro- babilistic şi probabilităţile diferitelor stări de ieşire posibile sunt deter-minate de postulatele de bază ale mecanicii cuantice. În prezent, există totuşi algoritmi cuantici eficienţi care permit extragerea informaţieiutile.
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 număr N compus, întreg şi pozitiv, să se găsească factorii primi în care el poate fi descompus.Aceasta este o problemă centrală în ştiinţa calculatoarelor şi se
afirmă, deşi nu s-a demonstrat, că folosind un calculator clasic estedificil să se găsească factorii primi pentru un număr N dat. Algoritmullui Shor rezolvă eficient problema factorizării unui număr întreg princreşterea considerabilă a vitezei de calcul. Însă există o nuanţă, şianume, dacă numărul N se reprezintă în biţi şi conţine mai puţini biţidecât 300, atunci computerul clasic (folosind cel mai eficient algoritmclasic) este mai eficient decât computerul cuantic. Însă, dacă N conţinemai mult de 300 biţi, atunci mai eficient este computerul cuantic, carefuncţionează în baza logaritmului Shor. Trebuie menţionat că există în prezent un sistem de codificare, cum ar fi RSA, dar există şi doritoride a sparge acest cod. Autorii acestui sistem asigur ă securitatea bazată pe faptul că nu există algoritmi clasici eficienţi pentru rezolvarea problemei descompunerii în factori primi prin intermediul cărora pot figenerate cheile secrete, pornind numai de la cunoaşterea numărului N,
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 66/96
66
care este un număr public. Deci, utilizarea algoritmului Shor implementat pe un calculator cuantic va oferi posibilitatea de a putea sparge codulactualului sistem de codificare RSA.
Au fost realizaţi şi alţi algoritmi cuantici care prezintă avantajefaţă de cei clasici. Astfel, L. Grover a demonstrat că folosind calcula-torul cuantic se poate rezolva uşor problema găsirii informaţiei într-o bază de date care conţine un numar mare de N informaţii nestructuri-zate. Dacă se folosesc algoritmi clasici de căutare, atunci e nevoie de N paşi. În cazul utilizării algoritmului Grover, informaţia se găseştedupa N ½ paşi.
O altă clasă de probleme importante, privind algoritmii cuantici, oconstituie cea a simulării sistemelor fizice cuantice. De exemplu, se
ştie că simularea unui sistem cuantic compus din mai multe particuleaflate în interacţiune pe un calculator clasic este foarte dificilă, deoa-rece dimensiunea spaţiului Hilbert al stărilor acestui sistem creşte ex- ponenţial cu numărul de particule. Astfel, pentru un lanţ unidimensionalcompus din n particule cu spinul 1/2, dimensiunea acestui spaţiu este2n şi deci o stare posibilă a sistemului respectiv este determinată de 2n
numere complexe. În schimb, la un calculator cuantic creşterea volu-mului de memorie necesar ă este propor ţională cu numărul n de qubiţi.
Ca urmare, un calculator cuantic, operând pe un registru compus dincâteva zeci de qubiţi, poate depăşi în performanţă orice calculator clasicactual. Desigur, această afirmaţie este adevarată numai dacă se potrealiza algoritmi cuantici eficienţi pentru extragerea informaţiei utile dincalculatorul cuantic. Este foarte interesant de observat că un calculator cuantic poate fi folosit nu numai pentru studiul proprietăţilor sistemelor multiparticule, cum ar fi atomi, molecule etc., dar şi pentru determinareadinamicii sistemelor cuantice complexe. În acest context, poate fi
afirmat că prevederile savantului fizician-teoretician R.P.Feynman [6]în privinţa simulării eficiente a sistemelor cuantice pe computerulcuantic s-au adeverit. Într-adevăr, recent (în 2010) un grup de fizici-eni, informaticieni şi chimişti din Australia, SUA, Anglia în frunte cudr.B.P. Lanyon [7] au simulat reuşit molecula de hidrogen-H2 pe uncomputer cuantic fotonic.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 67/96
67
Postfaţă
Se pune întrebarea dacă nanotehnologia de astăzi ar putea să im- plementeze un calculator cuantic performant şi peste cât timp? R ăs- punsul este afirmativ privind posibilitatea de implementare, dar cu privire la durata necesar ă, trebuie să menţionăm că există dificultăţi înrealizarea lui. Cea mai importantă problemă este decoerenţa cuantică care distruge qubitul superpoziţie într-un timp foarte scurt, dar şi prob-lema scalabilităţii.
Actualmente, există mai multe posibilităţi de a realiza computerulcuantic, care se află în continuă competitivitate [1,4]. Cele mai com- petitive sunt: computerele fotonice [7], computerele bazate pe rezo-nanţa nuclear magnetică (RNM) în lichide, semiconductori şi cristaledopate, computere pe ioni captaţi în capcane electromagnetice, compu-tere pe atomi neutri în reţele fotonice. Se cercetează intensiv variantacomputerelor bazate pe fulereni dopaţi [12,13].
La fel se cercetează varianta realizării qubiţilor utilizând materialesupraconductoare şi impurităţi Pamânt-Rar în cristale laser.
Având în vedere teza lui Feynman, precum că orice fenomen
cuantic poate fi simulat pe oricare computer cuantic, indiferent demodul de implementare a qubiţilor fizici ne sugerează ideea necesi-tăţii primordiale de a identifica şi elabora algoritmi cuantici eficienţinecesari pentru simularea pe computerele cuantice.
Toate aceste probleme vor fi analizate în măsura de a înţelege me-canismele de implementare fizică a variantelor computerelor cuanticeşi, sper, vor fi publicate în partea II a manualului.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 68/96
68
ANEXA I
Instrumente algebrice de operare în spaţiul HILBERT
Cum utilizaţi instrumentarul?
Aici se află instrumentarul (Operaţii algebrice în spaţiul Hilbert !!!)necesar în simularea computerului cuantic. Veţi găsi instrumentelenecesare pentru vectorii bra şi ket, generarea randomizată (test) a super- poziţiei vectorilor bra şi ket, extragerea amplitudinilor şi probabilită-ţilor, normalizarea vectorilor ket etc. Pentru a utiliza instrumentarul,mai întâi de toate, activaţi funcţiile 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 funcţiile de mai sus, introduceţi, mai întâi, eva-luarea lor în KERNEL marcând paranteza a doua din dreapta, apoiapăsaţi Shift+Enter simultan, sau efectuaţi prin apăsare de două oriclick pe mouse. După efectuarea acestei operaţiuni, puteţi lucra cufuncţiile date pe oricare foaie de lucru, chiar dacă treceţi de pe o foaie
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 69/96
69
pe alta. Această posibilitate se menţine până nu ieşiţi din pachetul(numit şi aplicatie !!) MATHEMATICA (alias MMA). Ieşirea de factoare loc atunci când este abandonat Kernel-ul. Abandonarea Kernel-ului se efectuează prin două metode: a) Automată, b) Manual. Aban-donarea manuală se face prin alegerea opţiunii "Evaluation" din meniulMMA, apoi selectaţi "Quit Kernel", iar abandonarea Automată se faceatunci, când ieşiţi complet din aplicaţia MMA. Însă dacă nu abando-naţi complet MMA şi doriţi să lucraţi în continuare, atunci din opţiunea"Evaluation" accesaţi "Start Kernel".
REMARCA 2:
Fiecare funcţie este urmată de exemple concrete.
SETUL DE PROGRAME (funcţii)
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]]
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 70/96
70
2. Convertirea vectorului Bra în matrice Bra cu un rând
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}}]
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 71/96
71
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 observabilelorExpectationValue[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}}]
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 72/96
72
(* Calculează valoarea medie (elementul diagonal) aoperat.{{1,0},{0,-1}}-Matricea Pauli Sigma_ Z *)2) ExpectationValue[ ket[0] , {{1, 0}, {0, -1}}]
7. Determinarea vectorilor de bază
(baza computaţională |0> ,|1>) în spaţiul Hilbert
BasisEigenstates[m_Integer]:= EigenKets[2^m]
BasisEigenstates::usage =
"BasisEigenstates[m] întoarce toţi 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]( * stările posibile ale unui qubit *)2) BasisEigenstates[2]( * stările posibile a 2 qubiţi *)3) BasisEigenstates[3]( * stările posibile a 3 qubiţi *)
8. Accesarea Amplitudinilor în starea de superpoziţie şicalcularea probabilităţilor
Options[Amplitudes] = {ShowEigenstates->False};
ShowEigenstates::usage =
"ShowEigenstates este o opţiune pentru Amplitudes care \
determină, dacă doriţi afisarea listei amplitudinilor sau a listei, care
va conţine vectorii de stare şi amplitudinile.";
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 73/96
73
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] afişează amplitudinile, care corespund
vectorilor de bază în superpoziţie.";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];
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 74/96
74
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] afişează probabilităţile de
observare a vectorilor de bază din superpoziţie,\
Dacă în Probabilities[…, ] se foloseşte opţiunea
ShowEigenstates->True \
atunci funcţia afişează 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 normalizării vectorului KetNeeds["Algebra`ReIm`"];
NormalizedKetQ[ket_]:=
Module[{columnVector},
columnVector = KetToColumnVector[ket];
(Inner[Times,
Conjugate[Transpose[columnVector]],
columnVector,
Plus
] == {{1}} // N ) /. z_ Conjugate[z_] :> Abs[z]^2
]
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 75/96
75
NormalizedKetQ::usage =
"NormalizedKetQ[ket] Afişează 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] afişează superpoziţia normalizată.";
Exemplu:
1) NormalizeKet[0.23* ket[0] + 0.5*ket[1]]
11. Produsul Direct (Kronneker) a vectorilor şi matricelor
în spaţiul Hilbert
Needs["LinearAlgebra`MatrixManipulation`"];
Direct[op1_, op2_]:=
BlockMatrix[Outer[Times, op1, op2]] /; MatrixQ[op1] &&
MatrixQ[op2]
Direct[ket_, bra_]:=
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 76/96
76
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]
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 77/96
77
Direct[matrices__]:=
Fold[Direct, First[{matrices}], Rest[{matrices}]]
Direct::braket =
"Atenţie – nu există produs direct între bra < | şi ket | >, darexistă numai produs scalar (DOT ).";
Direct::braop =
"Atenţie –nu există produs direct între vectorul bra şi matrice.
Există numai produsul scalar (Dot ).";
Direct::opbra =
"Atenţie- nu există produsul direct între matrice şi vectorul bra.
“
Direct::ketop =
" – Atenţie-nu există produs direct între ket şi matrice.";
Direct::opket =
"Atenţie nu există produs direct între matrice şi ket.";
IsKetQ[w_. ket[__] + kets_.]:= TrueIsKetQ[_]:=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 adevărurilor pentru celulele Logice
TruthTable[gate_]:=
Module[{n,m},
{n,m} = Dimensions[gate];
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 78/96
78
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]
]
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 79/96
79
UnitaryQ::notsquarematrix ="Matricea nu este patrată.";
ZeroMatrix[rows_, cols_]:=
Table[0, {rows}, {cols}]14. Instrumente pentru testarea Superpoziţiilor de stări
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[RandomSuperposition];
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}]
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 80/96
80
Exemple:
Comentaţi rezultatele obţinute la activizarea următoarelor funcţii:1) SymbolicSuperposition[2](* superpoziţie a tuturor stărilor posibile pentru 2 qubiţi *)2) SymbolicSuperposition[3]3) SymbolicSuperposition[4]4) RandomSuperposition[2]5) RandomSuperposition[2]6) RandomSuperposition[2, Normalized -> True]7) RandomSuperposition[2, Normalized -> False].
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 81/96
81
ANEXA II
Simularea computerului cuantic Feynman
Această anexă conţine codul de simulare a calculatorului cuanticFeynman în limbajul “Mathematica”. În anexă se utilizează utilitelenecesare ( a se vedea Anexa I ) pentru a crea prezentarea matematică acelulelor cuantice, reţelelor de celule cuantice, care apoi sunt utilizateîn calculatorul cuantic, care utilizează reţeaua respectivă în procesul decalcul. Modelarea clasică a calculatorului cuantic este foarte costisitoaredin punctul de vedere al calculelor, de aceea se simulează cu reţelerezonabile, care necesită nu prea mult timp pentru calcule. Simulareasumatorului simplu este suficient pentru a ilustra câteva particularităţi
importante ale calculelor cuantice. Oricare altă reţea, decât sumatorul, poate fi asamblată din urmatoarele trei tipuri de celule (por ţi) logice, deunu, doi şi trei qubiţi de bază reversibili: de exemplu, NOTGate, CNGate,CCNGate, sau altfel spus, NOT, CONTROLLED-NOT, CONTROLLED-CONTROLLED-NOT respectiv.
De îndată ce reţeaua a fost proiectată, se poate trece la simulareacalculatorului cuantic Feynman, folosind funcţia SchrodingerEvolution.
SchrodingerEvolution impune calculatorul cuantic să evalueze
pentru un segment de timp fixat de către utilizator.
Ce fel de calcule vor fi simulate?Folosind celulele logice cuantice NOTGate, CNGate, CCNGate,
ca instrumentar, poate fi realizată o anumită reţea cuantică. Pentruexemplificare, vom simula sumatorul.
Celule logice şi prezentarea lor prin matrice unitareNOT = {{0, 1},
{1, 0}}; (* pentru sumator, această celulă nu se utilizează înmod 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},
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 82/96
82
{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 extinşi
aOP = {{0,1},{0,0}};(* operatorul de anihilare, care acţionează asupra unui singur bit *)
(*Definim funcţia annihilationOP *)
annihilationOP[i_, m_]:=Apply[Direct,
ReplacePart[Table[IdentityMatrix[2], {m}], aOP, i]]
cOP = {{0,0}, {1,0}}; (* operatorul de creare, care acţionează
asupra unui singur bit *)
(*Definim funcţia creationOP *)
creationOP[i_, m_]:=Apply[Direct,
ReplacePart[Table[IdentityMatrix[2], {m}], cOP, i]
]
Descrierea celulelor utilizând operatorii de creare şi anihilare
şi principiul extinderii în spaţiul 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). Puteminclude celulele extinse în reţeaua creată, care conţine linii multiplede calcul. De exemplu, NOTGate [i, m] este celula extinsă NOT ceacţionează pe linia i a reţelei cu m intr ări. CNGate[i, j, m] este celulaextinsă CONTROLLED-NOT care acţionează pe liniile i şi j ale reţeleicu m intr ări etc. Numărul liniilor din reţea depinde de numărul celulelor din reţea, care este K, şi sunt definite ca elemente consecutive ale listeireţelei (circuitului).
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 83/96
83
Numărul liniilor "cursorului" este K+1, iar numărul liniilor lucr ă-toare N.
În total, numărul de linii este m=K+1+N. Numerotarea liniilor reţelei se efectuează în modul DOWN CRESCENDO, începând cu primalinie (1) de sus a cursorului. Dimensiunea spaţiului Hilbert este 2m .
Dimensiunea spaţiului Hilbert depinde de numărul de qubiţi deintrare pentru celula respectivă: NOT-1 qubit, CN-2 qubiţi, CCN-3qubiţi. Deci dimensiunea spaţiilor Hilbert în care acţionează aceste celuleva fi respectiv 21, 22 , 23.
Pentru ca celulele să funcţioneze corect în spatiul 2m, trebuie uti-lizat 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 reţea de celule
În general, registrul cuantic de memorie, atât de intrare, cât şi deieşire, pentru calculatorul cuantic Feynman, va fi compus dintr-un rând par ţial de "qubiţi-cursor" (care ţin de urmărirea procesului calculelor),şi un rând complementar de "qubiti-programabili". Vom utiliza anu-miţi operatori unitari (matrice unitare) în conformitate cu acţiunea
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 84/96
84
celulelor logice în rândul qubiţilor programabili. Prin urmare, trebuie să determinăm asupra cărui qubit operatorul dat acţionează. În cazulsumatorului asamblat prin CCNGate şi CNGate, K=2, N=3 şi deci m=
K+N+1=6 .Ca rezultat se obţine circuitul sumatorului, care funcţionează în
timp de la momentul t1 până la t2:
Fig.11. Sumator. În stânga este indicat ket-ul de intrare la momentul t1 ,iar în dreapta este indicat ket-ul de ieşire la momentul t2
m=6;
sumator = { CCNGate[4,5,6,m],CNGate[4,5,m]};
Conţine lista celulelor logice cuplate la liniile de lucru.
În caz general, pentru orice reţea, celulele NOT (NOTGate[i, m]),CONTROLLED-NOT (CNGate[i, j, m]) şi celula CONTROLLED-CONTROLLED-NOT (CCNGate[i, j, k, m]) sunt definite prin matriceunitare extinse. Argumenţii i, j, k marchează liniile la care sunt unitecelulele, iar m indică numărul total de linii în reţea. În aşa fel, celulacontrolled-NOT care operează pe liniile 4, 5 într-o reţea cu 5 linii ar fiCNGate [4, 5, 6] etc.
Calcularea Hamiltonianului REŢELEI
În computerul cuantic Feynman, Hamiltonianul nu depinde detimp şi reprezintă suma TERMENILOR (A SE VEDEA ARTICOLULFEYNMAN !!) ce descriu procesul şi regresul calculelor. Efectul re-zultant al acţiunii Hamiltonianului trebuie să fie permutarea registruluide memorie în superpoziţia de stări care reprezintă calculele la diferiteetape de calcul. Funcţia, care GENEREAZĂ Hamiltonianul este urmă-toarea:
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 85/96
85
?Hamiltonian (*Aşa se apelează instrucţiunea HELP, CARE DEFI- NESTE fun.Hamiltonian *)
"Hamiltonian[n, k, circuit] întoarce matricea Hamilton independentă
de timp ce corespunde acestui circuit. Circuitul constă din k celulecuantice şi n linii lucr ătoare.
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ă dink celule cuantice şi n linii lucrătoare"";
term[i_, l_, gate_]:=
creationOP[i+1, l] . annihilationOP[i, l] . gate
Calcularea operatorului unitar al evoluţiei
Operatorul unitar al evoluţiei temporale este obţinut din soluţionareaecuaţiei lui Schrodinger cu condiţia iniţială |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 res- pectivă), i este radăcina pătrată din -1, hBar – constanta Plank înmul-
ţită cu 2 Pi şi t este timpul. Să reamintim că U(t) şi H sunt matrice pătrate. Pentru simplitate, se consider ă că hBar=1. În termenii respec-tivi vom defini U(t), pentru circuitul şi timpul specific dat, prin funcţiaEvolutionOP[n,k,circuit,t]:
?EvolutionOP
EvolutionOP [n, k, circuit, t] descrie evoluţia temporală a operatoruluiunitar pentru circuitul dat. Circuitul constă din k celule cuantice şi cu
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 86/96
86
n linii de intrare lucr ătoare.U este reprezentat ca puterea t pentru expH i.e. U = MatrixPower[expH, t],unde expH este matricea exponenţială 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ă evoluţia dependentă de
timp \
a operatorului pentru circuitul dat. Circuitul constă din k celule
cuantice în total şi cu n linii lucrătoare.";
Operarea cu computerul cuantic pe o porţiune de timp fixat
Modelarea computerului cuantic, care implementează circuitul dat, pe parcursul unei perioade de timp concret, definit de utilizator, foloseştefuncţia SchrodingerEvolution. Această funcţie conţine 5 argumente: starea
iniţială a registrului de memorie, numărul de intr ări/ieşiri lucr ătoare încircuit, numărul de celule în circuit, lista circuitului şi timpul de evo-luţie. Rezultatul este o stare posibilă a registrului de memorie după cea trecut timpul t.
?SchrodingerEvolution
"SchrodingerEvolution[initKet, n, k, circuit, t] evoluează circuituldat pentru timpul t începând cu starea iniţială initKet . Trebuie de spe-cificat câte k celule sunt în circuit (astfel se obţin k+1 qubiţi pentrucursor) şi numărul de qubiţi utilizaţi pentru programare, adică numă-rul de n qubiţi lucr ători.
Codul
SchrodingerEvolution[ket_, n_, k_, circuit_, t_]:=
ColumnVectorToKet[Chop[EvolutionOP[n,k,circuit,t] .
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 87/96
87
KetToColumnVector[ ket ]
]
]
SchrodingerEvolution::usage =""SchrodingerEvolution[initKet, n, k, circuit, t] evoluează
circuitul dat pentru timpul t începând cu starea iniţială initKet . Trebuie
de specificat câte k celule sunt în circuit (astfel se obţin k+1 qubiţi pentru
cursor) şi numărul de qubiţi utilizaţi pentru programare, adică numărul
de n qubiţi lucrători ";
Exemplificare
sumator = { CCNGate[4,5,6,m],CNGate[4,5,m]};SchrodingerEvolution[ket[1,0,0,1,1,0], 3, 2, sumator, 2.5]
Controlăm dacă rezultatul obţinut e normalizat?(*Atenţie!! variabila % conţine rezultatul obţinut 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]
Evoluţia computerului cuantic până se termină calculeleÎn computerul cuantic Feynman poziţia cursorului se deplasează
datorită evoluării calculelor de la celulă la celulă. Cursorul contorizează câte operaţii logice au fost aplicate asupra biţilor programului la mo-mentul actual de timp. Astfel dacă se măsoar ă poziţia cursorului şi else găseşte în regiunea a treia, atunci e clar că registrul de memorie vaconţine rezultatul aplicării primilor trei operaţii ale celulelor în stareainiţială. Aceasta nu înseamnă că doar trei astfel de operaţii au fost apli-
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 88/96
88
cate. În computerul Feynman, odată cu progresarea timpului, probabi-litatea de a găsi cursorul în regiunea (k+1) se măreşte. Dacă este totuşi posibil de a măsura poziţia cursorului, atunci când probabilitatea deaflare a cursorului în sectorul dat e înaltă, atunci este şi şansa de a aflarezultatul calculelor. Operativ, periodic se măsoar ă poziţia cursorului.Aceasta distruge superpoziţia stărilor, care reprezintă poziţia cursoru-lui, dar lasă intactă superpoziţia qubiţilor în program. Dacă cursorulnu este în sectorul (k+1), atunci calculatorul va evolua totul de laînceput, iar imediat ce cursorul este găsit în sectorul (k+1), calculelesunt oprite şi starea generală a registrului de memorie este modificată.De fiecare dată când cursorul se află în sectorul (k+1), măsurarea stăriiqubiţilor programului are loc în momentul când se întoarce un r ăspuns
asupra calculelor pentru care computerul cuantic este programat. Astfelîn modelul Feynman al computerului cuantic e clar că rezultatul va ficorect pentru perioada de timp predefinită. Pentru a administra com- puterul cuantic până la sfir şit trebuie periodic de verificat poziţiacursorului pentru a verifica dacă toate operaţiile celulelor logice aufost aplicate. De cum cursorul este găsit în situaţia lui critică, se poatede verificat dacă raspunsul corect este posibil de obţinut prin funcţiaReadCursorBits.
?ReadCursorBits
ReadCursorBits[numCursorBits, superposition] citeşte starea din biţii cursorului calculatorului cuantic Feynman. Dacă calculele pot fiobţinute la k+1 operaţiune cursorul va fi compus dintr-un lanţ din k+1 poziţii 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}]; (* numărul figurilor de memorie
a biţilor din memorie *)
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 89/96
89
superposition = {"BeforeAnyMeasurements", w
ket[bits] + kets};resultsPerStep = FoldList[MeasureIthBit[#2,#1,nBits]&,
superposition,
Range[numBitsToRead]];
Which[traceQ===False,{Rest[Map[#[[1]]&, resultsPerStep]], (* rezultatul
biţilor *)
Last[resultsPerStep][[2]] (* stareaproiectată *)
},traceQ===True,
ColumnForm[resultsPerStep]]]/;(numBitsToRead <= Length[{bits}])
ReadCursorBits::usage ="ReadCursorBits[numCursorBits, superposition]citeşte starea din biţii cursorului calculatoruluicuantic Feynman. Dacă calculele pot fi obţinutela a k+1 opearaţiune cursorul va fi compus dintr-unlanţ din k+1 poziţii una dintre care poate fi vre-odată
în starea |1>. ";
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 {poziţia cursorului şi starea proiectată}, care arată poziţia cursorului şi starea întregului registru de memorie după ce poziţiacursorului a fost măsurată.
Citirea registrului de memorie
De îndată ce cursorul este găsit în poziţia (k+1), care arată că toateoperaţiile celulelor au fost aplicate, atunci poate fi obţinut r ăspunsuldin computer, citind întreaga stare din registrul de memorie.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 90/96
90
?ReadMemoryRegister
ReadMemoryRegister[superposition] citeşte starea fiecărui bit dinregistrul de memorie.
Codul
(* ReadMemoryRegister *)
(*====================*)(* Luând în consideraţie superpoziţia care reprezintă starea memorieicomputerului 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 inmemory *)
superposition = {"BeforeAnyMeasurements", wket[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]citeşte starea fiecărui bit din registrul de memorie.
";
MeasureIthBit[i_, {_, superposition_}, nBits_]:=
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 91/96
91
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)]]
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 92/96
92
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 <= 1InRangeQ[n_, {lb_, ub_}]:= lb <= n < ub
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 93/96
93
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ă, Bucureşti, 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. Фейнман Р., K вaнтoвo мехaничeские ЭВ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, Chişinău, 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 ştiin ţ ifice ale
USM , seria „Ştiinţe fizico-matematice”, Chişinău, 2001, p.106-108.
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 94/96
94
* Recomandări speciale bilbiografice
Cititorii, care nu sunt informaţi iniţial în fizica cuantică modernă, dar posedă cunoştinţe temeinice în algebra liniar ă şi anumite cunoştinţe în dome-
niul arhitecturii computerelor clasice tradiţionale, le pot recomanda insistentsă 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
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 95/96
95
Cuprins
Prefaţă---------------------------------------------------------------------------------------3
Utilizarea unor simboluri grafice ------------------------------------------------------5
Câteva date istorice semnificative-----------------------------------------------------
6
1. Introducere ------------------------------------------------------------------------------7
1.1. Computarea este un proces fizic ----------------------------------------------7
1.2. Algebra liniară în spaţiul complex Hilbert. Noţiuni ----------------------9
1.3. Postulatele mecanicii cuantice ----------------------------------------------- 15
1.3.1. Formalismul operatorului densitate -------------------------------- 19
1.3.2. Criteriul stărilor pure ------------------------------------------------- 22
2. Qubiţi, registre cuantice şi porţi logice ----------------------------------------- 26
2.1.Bit cuantic (qubit) -------------------------------------------------------------- 26
2.2. Operaţii unitare pe un qubit ------------------------------------------------ 292.2.1. Operaţii Pauli ----------------------------------------------------------- 29
2.2.2. Operatori de rotaţie --------------------------------------------------- 33
2.2.3. Registre cuantice de memorie --------------------------------------- 34
2.2.4. Porţi logice de 2 şi 3 qubiţi ------------------------------------------- 35
2.2.4.1.Operaţia Control-U ------------------------------------------ 36
2.2.4.2.Teorema neclonării informatiei cuantice ---------------- 39
2.2.4.3. Definiţia computerului cuantic -------------------------- 40
3. Algoritmi cuantici ------------------------------------------------------------------- 41
3.1. Stări corelate, sau stări entanglate ----------------------------------------- 413.1.1. Concurenţa stării de entanglare ------------------------------------ 44
3.2. Transformarea cuantică Fourier rapidă --------------------------------- 46
3.3.Teleportarea informaţiei 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 --------------------------------- 594.1.6.Operatorii de creare şi anihilare ------------------------------------ 61
4.1.7. Evoluţia 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 spaţiul HILBERT ---------- 68
Anexa II. Simularea computerului cuantic Feynman --------------------------- 81
Bibliografie ------------------------------------------------------------------------------ 93
5/10/2018 computere cuantice - slidepdf.com
http://slidepdf.com/reader/full/computere-cuantice-55a0bbab5bf2d 96/96
96
Viorel Nicolae ENACHI
COMPUTERE CUANTICE
Partea I. Introducere teoretică .
Redactor literar : Antonina Dembi ţ chi
Machetare computerizată: Viorel Moraru
Bun de tipar 04.11.2010. Formatul 60×841/16 Coli de tipar 6,0. Coli editoriale 6,0.
Comanda 71. Tirajul 50 ex.
Centrul Editorial-Poligrafic al USMstr. Al.Mateevici, 60, Chişinău, MD 2009