Începe cu Qiskit în sala de clasă
Pentru acest modul Qiskit în Săli de Clasă, studenții trebuie să aibă un mediu Python funcțional cu următoarele pachete instalate:
qiskitv2.1.0 sau mai nouqiskit-ibm-runtimev0.40.1 sau mai nouqiskit-aerv0.17.0 sau mai nouqiskit.visualizationnumpypylatexenc
Pentru a configura și instala pachetele de mai sus, consultă ghidul Instalează Qiskit. Pentru a rula joburi pe calculatoare cuantice reale, studenții vor trebui să își creeze un cont IBM Quantum® urmând pașii din ghidul Configurează-ți contul IBM Cloud®.
Acest modul a fost testat și a folosit 2 secunde de timp QPU pe un procesor Heron v2. Aceasta este doar o estimare. Utilizarea ta reală poate varia.
# Added by doQumentation — required packages for this notebook
!pip install -q qiskit qiskit-aer qiskit-ibm-runtime
# Uncomment and modify this line as needed to install dependencies
#!pip install 'qiskit>=2.1.0' 'qiskit-ibm-runtime>=0.40.1' 'qiskit-aer>=0.17.0' 'numpy' 'pylatexenc'
Introducere
În modulele Qiskit în Sala de Clasă, vei avea ocazia să folosești un calculator cuantic pentru a explora diverse concepte din domenii adiacente calculului cuantic, cum ar fi mecanica cuantică, informatica, chimia și altele. Acest modul este o condiție prealabilă pentru celelalte — el introduce fundamentele calculului cuantic și modul în care se folosește Qiskit pentru a rula circuite cuantice.
Mai întâi îți vom oferi o scurtă prezentare a modului în care funcționează un calculator clasic, apoi îți vom arăta cum sunt adaptate aceste concepte pentru paradigma calculului cuantic. În final, îți vom arăta cum să combini aceste concepte pentru a construi și executa primul tău circuit cuantic.
Calculatoare clasice
Probabil că ești familiarizat cu bazele modului în care funcționează calculatoarele clasice, dar aici vom evidenția câteva dintre caracteristicile cheie, astfel încât să putem face apoi o comparație cu calculatoarele cuantice.
Unitățile de bază ale informației: biții
Calculatoarele clasice procesează informație clasică, iar unitatea fundamentală a informației clasice este bitul. Un singur bit poate stoca răspunsul la o întrebare de tipul „da/nu". De obicei, reprezentăm cele două stări binare ale unui bit ca „0" și „1".
Recapitulare numerele binare
Combinarea biților îți permite să stochezi mai multă informație. De exemplu, dacă vrei să stochezi un număr de la 0 la 15, poți face acest lucru cu patru biți în felul următor:
| 0 = 0000 | 4 = 0100 | 8 = 1000 | 12 = 1100 |
| 1 = 0001 | 5 = 0101 | 9 = 1001 | 13 = 1101 |
| 2 = 0010 | 6 = 0110 | 10 = 1010 | 14 = 1110 |
| 3 = 0011 | 7 = 0111 | 11 = 1011 | 15 = 1111 |
În general, pentru a converti un număr binar de biți într-un număr familiar în baza 10, înmulțești bitul cel mai puțin semnificativ (cel mai din dreapta) cu , următorul bit din stânga cu , apoi pe următorul cu , și tot așa, până ajungi la bitul cel mai semnificativ (cel mai din stânga), pe care îl înmulțești cu .
Deci, asta înseamnă că biți pot fi în una dintre stări posibile diferite.
Verifică-ți înțelegerea
Citește întrebarea (întrebările) de mai jos, gândește-te la răspuns, apoi apasă triunghiul pentru a dezvălui soluția.
De câți biți ai nevoie pentru a reprezenta numărul 86? Scrie șirul de biți care codifică acest număr în binar.
Răspuns:
Reține că biți îți permit să reprezinți numerele de la la , deci folosind șase biți am ajunge până la . Nu este destul. Mai adăugăm un bit pentru a ajunge la . Acum să descompunem 86 în puteri ale lui 2:
Operații fundamentale: Gate-uri
Acum, un calculator trebuie să poată face ceva cu biții pentru a putea, ei bine, calcula. Gate-urile binare sunt operațiile care formează blocurile de construcție fundamentale ale tuturor algoritmilor și codurilor mai complexe.
Gate cu un singur bit:
NOT
Când ai un singur bit, există o singură modalitate de a-i transforma starea: inversezi starea din 0 în 1 sau din 1 în 0. Aceasta se numește poarta „NOT". Efectul acestei porți — și al celorlalte porți pe care le vom discuta mai jos — poate fi reprezentat într-un așa-numit „tabel de adevăr", cu coloane pentru stările de intrare și de ieșire ale qubiților. Tabelul de adevăr pentru poarta NOT este:
| Intrare | Ieșire |
|---|---|
| 0 | 1 |
| 1 | 0 |
Porți multi-bit:
AND
AND este o poartă cu doi biți care primește doi biți de intrare și produce un singur bit de ieșire. Produce 1 dacă ambii biți de intrare sunt 1, și 0 în caz contrar:
| Intrare | Ieșire |
|---|---|
| 00 | 0 |
| 01 | 0 |
| 10 | 0 |
| 11 | 1 |
OR
OR este o altă poartă cu doi biți și un singur bit de ieșire. Produce 1 dacă oricare dintre biți este 1:
| Intrare | Ieșire |
|---|---|
| 00 | 0 |
| 01 | 1 |
| 10 | 1 |
| 11 | 1 |
XOR
XOR vine de la „OR exclusiv" și seamănă cu poarta OR, dar produce 1 dacă doar unul dintre biții de intrare este 1. Produce 0 dacă ambii sunt 1 sau ambii sunt 0:
| Intrare | Ieșire |
|---|---|
| 00 | 0 |
| 01 | 1 |
| 10 | 1 |
| 11 | 0 |
Măsurători:
De obicei, când înveți despre calculul clasic, nu se acordă prea multă atenție procesului de citire a stării biților. Acest lucru se datorează faptului că nu este foarte complex din punct de vedere conceptual. Poți măsura biții oricând — înainte, în timpul sau după o calcul — fără a afecta rezultatul. Acesta nu este cazul în calculul cuantic, după cum vom discuta mai jos.
Circuite:
Combinând porțile de mai sus, poți efectua orice fel de operație pe un calculator. Să luăm un exemplu simplu: folosind porțile AND și XOR, poți construi circuitul semi-sumator, care calculează suma a doi biți. Aceasta este reprezentată într-o diagramă de circuit logic, unde firele reprezintă biții, iar porțile care operează asupra biților sunt afișate ca simboluri pe firele corespunzătoare:
Astfel, cei doi biți sunt copiați și trecuți prin ambele porți, AND și XOR. Rezultatul porții XOR este „bitul de sumă" (S), care rămâne în locul unităților din numărul binar, iar rezultatul porții AND este „bitul de transport" (C), care reprezintă valoarea cifrei imediat mai semnificative din numărul binar. Iată tabelul de adevăr:
| Sumă () | Transport () | ||
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Verifică-ți înțelegerea
Citește întrebarea (întrebările) de mai jos, gândește-te la răspuns, apoi apasă pe triunghi pentru a dezvălui soluția.
Verifică că tabelul de adevăr de mai sus produce soluția corectă pentru un circuit sumator. Adică, pentru fiecare dintre cele patru combinații ale lui A și B, verifică că .
Răspuns:
Calculatoare cuantice
Biți qubiți
Așa cum biții sunt unitățile fundamentale ale informației clasice, biții cuantici, sau „qubiții", sunt unitățile fundamentale ale informației cuantice. Ca și bitul clasic, starea unui qubit poate fi fie 0, fie 1, pe care le notăm de obicei cu și . Dar, spre deosebire de bitul clasic, un bit cuantic poate fi și într-o suprapunere a ambelor stări și în același timp. În general, un qubit poate fi în orice stare de forma:
unde și sunt amplitudini complexe cu .
Faza cuantică
Deoarece și sunt numere complexe, fiecare poate fi scris ca , unde se numește faza. Dacă înmulțim întreaga stare cu același factor de fază global, nimic nu se schimbă fizic — aceasta se numește fază globală și nu are consecințe observabile.
Din acest motiv, este convențional să „scoatem în factor" , obținând:
unde este faza relativă a stării cuantice, care are consecințe observabile.
Această fază joacă un rol foarte important în calculul cuantic și vei explora consecințele ei în modulele Qiskit in the Classroom ulterioare.
Qubiți multipli
În timp ce starea mai multor biți clasici se poate exprima simplu ca un șir de 0-uri și 1-uri, starea mai multor qubiți devine un pic mai complicată datorită principiilor superpoziției și entanglementului.
Amintește-ți că biți clasici pot fi într-una din stări posibile, de la numărul binar 000...000 la 111...111. Dar acum, datorită principiului superpoziției, qubiți pot fi într-o superpoziție a tuturor acestor stări simultan!
Aceasta se poate exprima ca
unde, ca și în cazul clasic, starea corespunde stării în care fiecare qubit se află în combinația potrivită de 0-uri și 1-uri pentru a produce numărul binar . Acestea sunt cunoscute drept „stările bazei computaționale" ale sistemului cuantic. De exemplu, o stare de trei qubiți poate fi scrisă ca o superpoziție a celor opt stări ale bazei computaționale:
Fiecare qubit din sistem este notat cu un index până la . Convenția este să citești stările qubiților de la dreapta la stânga, astfel încât starea qubitului este cea mai din dreapta, iar starea qubitului este cea mai din stânga. Aceasta este cunoscută drept notație „little-endian" și poate părea neintuitivă la început, deoarece suntem obișnuiți să citim de la stânga la dreapta.
Verifică-ți înțelegerea
Citește întrebarea (întrebările) de mai jos, gândește-te la răspuns, apoi dă clic pe triunghi pentru a dezvălui soluția.
La prima vedere, poate părea neintuitivă ordonarea qubiților de la dreapta la stânga, ca în notația little-endian, dar este de fapt un lucru foarte logic! Explică de ce. (Amintește-ți discuția noastră de mai sus despre conversia din binar în baza 10.)
Răspuns:
Dacă ordonăm qubiții de la dreapta la stânga, astfel încât qubit 0 este cel mai din dreapta și qubit N-1 este cel mai din stânga, este logic să asociem qubit cu bitul cel mai puțin semnificativ, care se înmulțește cu , și qubit cu bitul cel mai semnificativ, care se înmulțește cu .
Entanglementul
Așa cum am menționat mai devreme, o altă caracteristică esențială a qubiților este că pot fi entanglați unul cu celălalt. Să luăm exemplul unei stări de doi qubiți, unde și :