(Am scris o introducere la calculul cuantic care se găsește aici. Dacă sunteți nou-nouț în domeniu, acesta va fi un loc mai bun pentru a începe.)
Dacă vreți să intrați în calculul cuantic, nu aveți cum să ocoliți acest lucru: va trebui să stăpâniți conceptul tulbure de poartă cuantică. La fel ca tot ceea ce ține de informatica cuantică, ca să nu mai vorbim de mecanica cuantică, porțile cuantice sunt învăluite într-o ceață necunoscută de jargon și matematică matricială care reflectă misterul cuantic. Scopul meu în această postare este de a desprinde câteva straturi din acest mister. Dar vă voi scuti de suspans: nimeni nu poate scăpa complet de el. Cel puțin, nu în 2018. Tot ce putem face astăzi este să dezvăluim asemănările izbitoare și diferențele alarmante dintre porțile clasice și porțile cuantice și să explorăm implicațiile pentru viitorul apropiat și îndepărtat al informaticii.
Similitudini izbitoare
Dacă nu altceva, porțile logice clasice și porțile logice cuantice sunt ambele porți logice. Așadar, să începem de aici. O poartă logică, fie ea clasică sau cuantică, este orice structură sau sistem fizic care primește un set de intrări binare (fie că este vorba de 0 și 1, mere și portocale, electroni cu spin-up și electroni cu spin-down, sau orice altceva) și emite o singură ieșire binară: un 1, o portocală, un electron cu spin-up sau chiar una dintre cele două stări de superpoziție. Ceea ce guvernează ieșirea este o funcție booleană. Sună fantezist și amenințător, dar credeți-mă, nu este așa. Poți să te gândești la o funcție booleană ca la nimic mai mult decât o regulă pentru modul în care trebuie să răspunzi la întrebările Da/Nu. Este cât se poate de simplu. Porțile sunt apoi combinate în circuite, iar circuitele în procesoare sau alte componente de calcul. Acest lucru este valabil indiferent dacă vorbim despre motorul de diferențe al lui Babbage, despre ENIAC, despre campionul de șah pensionat Deep Blue sau despre cel mai recent calculator cuantic care umple sălile, dă fiori la oase și face titluri de primă pagină.
Diferențe alarmante
Porțile clasice operează pe biți clasici, în timp ce porțile cuantice operează pe biți cuantici (qubiți). Acest lucru înseamnă că porțile cuantice pot valorifica două aspecte cheie ale mecanicii cuantice care sunt complet inaccesibile pentru porțile clasice: superpoziția și entanglementul. Acestea sunt cele două concepte despre care veți auzi cel mai des în contextul calculului cuantic, și iată de ce. Dar există un concept mai puțin cunoscut care este poate la fel de important: reversibilitatea. Pur și simplu, porțile cuantice sunt reversibile. Veți afla multe despre reversibilitate pe măsură ce veți avansa în domeniul calculului cuantic, așa că merită să vă documentați cu adevărat. Deocamdată, vă puteți gândi la ea în felul următor – toate porțile cuantice vin cu un buton de anulare, în timp ce multe porți clasice nu au, cel puțin nu încă. Acest lucru înseamnă că, cel puțin în principiu, porțile cuantice nu pierd niciodată informații. Qubiți care sunt încurcați la intrarea în poarta cuantică rămân încurcați la ieșire, păstrându-și informațiile sigilate în siguranță pe tot parcursul tranziției. Pe de altă parte, multe dintre porțile clasice găsite în computerele convenționale pierd informații și, prin urmare, nu își pot reface pașii. În mod interesant, aceste informații nu se pierd în cele din urmă în univers, ci mai degrabă se infiltrează în camera ta sau în poala ta sub formă de căldură în computerul tău clasic.
V de la vector
Nu putem vorbi despre porți cuantice fără să vorbim despre matrici, și nu putem vorbi despre matrici fără să vorbim despre vectori. Așa că haideți să trecem la treabă. În limbajul mecanicii cuantice și al informaticii, vectorii sunt reprezentați într-un pachet, ce-i drept destul de ciudat, numit ket, care provine din a doua jumătate a cuvântului braket. Și arată ca atare. Iată un vector ket: |u>, unde u reprezintă valorile din vector. Pentru început, vom folosi două ket-uri, |0> și |1>, care vor reprezenta qubiți sub formă de electroni în stare de rotație în sus (|0>) și în stare de rotație în jos (|1>). Acești vectori pot acoperi orice număr de numere, ca să spunem așa. Dar în cazul unei stări binare, cum ar fi un qubit de electron cu spin up/down, ei au doar două. Așadar, în loc să arate ca niște vectori coloană impunători, ei arată ca niște numere stivuite la două înălțimi. Iată cum arată |0>:
/ 1 \
\ 0 /
Acum, ceea ce fac porțile/matricele este să transforme aceste stări, acești vectori, aceste kets, aceste coloane de numere, în altele complet noi. De exemplu, o poartă poate transforma o stare ascendentă (|0>) într-o stare descendentă (|1>), ca prin magie:
/ 1 \ → / 0 \
\ 0 / \ 1 /
M este pentru matrice
Această transformare a unui vector în altul are loc prin magia abia înțeleasă a înmulțirii matricelor, care este complet diferită de tipul de înmulțire pe care l-am învățat cu toții în școala precuantice. Cu toate acestea, odată ce ați prins gustul acestui tip de matematică, este extrem de satisfăcător, deoarece o puteți aplica din nou și din nou la nenumărate ecuații altfel de neînțeles, care îi lasă pe cei neinițiațiți stupefiați. Dacă aveți nevoie de mai multă motivație, amintiți-vă doar că prin limbajul matematicii matriciale Heisenberg a deslușit secretele principiului de incertitudine atotcuprinzător.
Toate acestea, dacă nu sunteți familiarizați cu acest jet-fuel al unui instrument matematic, vă vor căsca ochii dacă încep să umplu această postare cu matrici mari și pătrate de numere în acest moment. Și nu putem lăsa să se întâmple asta. Așa că haideți să mai așteptăm câteva paragrafe pentru matematica și notația matricelor. Este suficient să spunem, deocamdată, că în general folosim o matrice pentru a înlocui o poartă cuantică. Dimensiunea și factorul de frică al matricei vor depinde de numărul de qubiți pe care operează. Dacă există doar un singur qubit de transformat, matricea va fi simplă și plăcută, o matrice 2 x 2 cu patru elemente. Dar dimensiunea matricei crește cu doi, trei sau mai mulți qubiți. Acest lucru se datorează faptului că o ecuație cu siguranță exponențială, care merită memorată, determină dimensiunea matricei (și, prin urmare, sofisticarea porții cuantice):
2^n x 2^n = the total number of matrix elements
Aici, n este numărul de qubiți pe care operează poarta cuantică. După cum puteți vedea, acest număr explodează pe măsură ce numărul de qubiți (n) crește. Cu un qubit, este 4. Cu doi, este 16. Cu trei, este de 64. Cu patru, este… fără speranță. Așa că, deocamdată, rămân la un singur qubit, iar acesta are scris Pauli peste tot.
Porțile Pauli
Porțile Pauli sunt numite după Wolfgang Pauli, care nu numai că are un nume mișto, dar a reușit să se imortalizeze în două dintre cele mai cunoscute principii ale fizicii moderne: celebrul principiu de excludere Pauli și temutul efect Pauli.
Porțile Pauli se bazează pe mai bine-cunoscutele matrici Pauli (aka matrici de spin Pauli), care sunt incredibil de utile pentru calcularea modificărilor de spin ale unui singur electron. Având în vedere că spinul electronului este proprietatea preferată pentru a fi folosită pentru un qubit în porțile cuantice de astăzi, matricile și porțile Pauli sunt chiar pe placul nostru. În orice caz, există, în esență, câte o poartă/matrice Pauli pentru fiecare axă din spațiu (X, Y și Z).