Inizia con Qiskit in classe
Per questo modulo di Qiskit in classe, gli studenti devono disporre di un ambiente Python funzionante con i seguenti pacchetti installati:
qiskitv2.1.0 o più recenteqiskit-ibm-runtimev0.40.1 o più recenteqiskit-aerv0.17.0 o più recenteqiskit.visualizationnumpypylatexenc
Per configurare e installare i pacchetti sopra indicati, consulta la guida Installa Qiskit. Per eseguire job su computer quantistici reali, gli studenti dovranno creare un account IBM Quantum® seguendo i passaggi della guida Configura il tuo account IBM Cloud®.
Questo modulo è stato testato e ha utilizzato 2 secondi di tempo QPU su un processore Heron v2. Questa è solo una stima. L'utilizzo effettivo può variare.
# 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'
Introduzione​
Nei moduli di Qiskit in classe, avrai l'opportunità di usare un computer quantistico per esplorare vari concetti in campi affini al calcolo quantistico, come la meccanica quantistica, l'informatica, la chimica e altro ancora. Questo modulo è un prerequisito per gli altri: introduce i fondamenti del calcolo quantistico e come usare Qiskit per eseguire circuiti quantistici.
Prima ti daremo una breve panoramica di come funziona un computer classico, poi ti mostreremo come questi concetti vengono adattati al paradigma del calcolo quantistico. Infine, ti mostreremo come mettere insieme questi concetti per costruire ed eseguire il tuo primo circuito quantistico.
Computer classici​
Probabilmente conosci già le basi del funzionamento dei computer classici, ma qui evidenzieremo alcune delle caratteristiche principali per poter poi fare un confronto con i computer quantistici.
Le unità base dell'informazione: i bit​
I computer classici elaborano informazioni classiche, e l'unità fondamentale dell'informazione classica è il bit. Un singolo bit può memorizzare la risposta a una domanda "sì/no". Di solito rappresentiamo i due stati binari di un bit come "0" e "1".
Ripasso dei numeri binari​
Combinare i bit ti permette di memorizzare più informazioni. Per esempio, se vuoi memorizzare un numero da 0 a 15, puoi farlo con quattro bit nel modo seguente:
| 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 |
In generale, per convertire un numero binario di bit in un numero familiare in base 10, moltiplica il bit meno significativo (il più a destra) per , il bit successivo a sinistra per , poi il successivo per , e così via, fino al bit più significativo (il più a sinistra), che moltiplichi per .
Quindi, ciò significa che bit possono trovarsi in uno di possibili stati diversi.
Verifica la tua comprensione​
Leggi le domande di seguito, pensa alla tua risposta, poi clicca sul triangolo per vedere la soluzione.
Di quanti bit avresti bisogno per rappresentare il numero 86? Scrivi la stringa di bit che codifica questo numero in binario.
Risposta:
Ricorda: bit permettono di rappresentare i numeri da a , quindi con sei bit arriviamo fino a . Non è abbastanza. Aggiungiamo un altro bit per arrivare fino a . Ora scomponiamo 86 in potenze di 2:
Operazioni fondamentali: le porte​
Un computer deve essere in grado di fare qualcosa con i bit per poter, appunto, calcolare. Le porte binarie sono le operazioni che costituiscono i mattoni fondamentali di tutti gli algoritmi e i codici più complessi.
Porta a un bit:​
NOT​
Quando hai un solo bit, c'è un solo modo in cui puoi trasformare il suo stato: invertire lo stato da 0 a 1 o da 1 a 0. Chiamiamo questa operazione la porta "NOT". L'effetto di questa porta — e delle altre porte di cui parleremo di seguito — può essere rappresentato in una cosiddetta "tabella della verità ", con colonne per gli stati di ingresso e di uscita dei qubit. La tabella della verità per la porta NOT è:
| Ingresso | Uscita |
|---|---|
| 0 | 1 |
| 1 | 0 |
Porte a più bit:​
AND​
AND è una porta a due bit che prende due bit di ingresso e produce un singolo bit di uscita. Produce 1 se entrambi i bit di ingresso sono 1, altrimenti 0:
| Ingresso | Uscita |
|---|---|
| 00 | 0 |
| 01 | 0 |
| 10 | 0 |
| 11 | 1 |
OR​
OR è un'altra porta a due bit con un singolo bit di uscita. Produce 1 se uno qualsiasi dei bit è 1:
| Ingresso | Uscita |
|---|---|
| 00 | 0 |
| 01 | 1 |
| 10 | 1 |
| 11 | 1 |
XOR​
XOR sta per "OR esclusivo" ed è simile alla porta OR, ma produce 1 se soltanto uno dei bit di ingresso è 1. Produce 0 se sono entrambi 1 o entrambi 0:
| Ingresso | Uscita |
|---|---|
| 00 | 0 |
| 01 | 1 |
| 10 | 1 |
| 11 | 0 |
Misurazioni:​
Di solito, quando si studia il calcolo classico, al processo di lettura dello stato dei bit non viene dedicata molta attenzione. Questo perché, dal punto di vista concettuale, non è molto complesso. Puoi misurare i bit in qualsiasi momento, prima, durante o dopo un calcolo, e ciò non influisce sul risultato. Non è così nel calcolo quantistico, come discuteremo di seguito.
Circuiti:​
Combinando le porte sopra descritte, puoi eseguire qualsiasi tipo di operazione su un computer. Facciamo un semplice esempio: usando le porte AND e XOR, puoi costruire il circuito half-adder, che calcola la somma di due bit. Questo è rappresentato in un diagramma di circuito logico, dove i fili rappresentano i bit e le porte che operano sui bit sono mostrate come simboli sui fili corrispondenti:
Quindi, i due bit vengono copiati e inviati attraverso sia una porta AND che una porta XOR. Il risultato della porta XOR è il "bit di somma" (S), che rimane nella posizione delle unità del numero binario, e il risultato della porta AND è il "bit di riporto" (C), che è il valore della cifra più significativa successiva nel numero binario. Ecco la tabella della verità :
| Somma () | Riporto () | ||
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
Verifica la tua comprensione​
Leggi le domande di seguito, pensa alla tua risposta, poi clicca sul triangolo per vedere la soluzione.
Verifica che la tabella della verità di cui sopra fornisca la soluzione corretta per un circuito sommatore. Cioè, per ciascuna delle quattro opzioni di A e B, verifica che .
Risposta:
Computer quantistici​
Bit qubit​
Così come i bit sono le unità fondamentali dell'informazione classica, i bit quantistici, o "qubit", sono le unità fondamentali dell'informazione quantistica. Come il bit classico, lo stato di un qubit può essere 0 o 1, che di solito denotiamo come e . Ma a differenza del bit classico, un bit quantistico può anche trovarsi in una sovrapposizione di entrambi gli stati e allo stesso tempo. In generale, un qubit può trovarsi in qualsiasi stato della forma:
dove e sono ampiezze complesse con .
La fase quantistica​
Poiché e sono complessi, ciascuno può essere scritto come dove è chiamata la fase. Se moltiplichiamo l'intero stato per lo stesso fattore di fase globale, nulla cambia fisicamente — questa si chiama fase globale, e non ha conseguenze osservabili.
Per questa ragione, è convenzione "fattorizzare" , ottenendo:
dove è la fase relativa dello stato quantistico, che ha conseguenze osservabili.
Questa fase svolge un ruolo molto importante nel calcolo quantistico, e ne esplorerai le varie conseguenze nei successivi moduli di Qiskit in classe.
qubit multipli​
Mentre lo stato di più bit può essere semplicemente espresso come una stringa di 0 e 1, lo stato di più qubit diventa un po' più complicato a causa dei principi di sovrapposizione e entanglement.
Ricorda che bit possono trovarsi in uno di possibili stati, che vanno dal numero binario 000...000 al 111...111. Ma ora, grazie al principio di sovrapposizione, qubit possono trovarsi in una sovrapposizione di tutti questi stati contemporaneamente!
Questo può essere espresso come
dove, come nel caso classico, lo stato corrisponde allo stato in cui ogni qubit si trova nella giusta combinazione di 0 e 1 per produrre il numero binario . Questi sono noti come "stati della base computazionale" del sistema quantistico. Per esempio, uno stato a tre qubit può essere scritto come sovrapposizione dei suoi otto stati della base computazionale:
Ogni qubit nel sistema è indicato con un indice da a . La convenzione è di leggere gli stati dei qubit da destra a sinistra, in modo che lo stato del qubit sia il più a destra e lo stato del qubit sia il più a sinistra. Questa è nota come notazione "little-endian", e all'inizio può sembrare controintuitiva, poiché siamo abituati a leggere da sinistra a destra.
Verifica la tua comprensione​
Leggi le domande di seguito, pensa alla tua risposta, poi clicca sul triangolo per vedere la soluzione.
A prima vista, può sembrare controintuitivo ordinare i qubit da destra a sinistra come nella notazione little-endian, ma in realtà è una cosa molto logica da fare! Spiega perché. (Ricorda la nostra discussione sulla conversione da binario a numero in base 10.)
Risposta:
Se ordiniamo i qubit da destra a sinistra, in modo che il qubit 0 sia il più a destra e il qubit N-1 il più a sinistra, è logico associare il qubit al bit meno significativo, che viene moltiplicato per , e il qubit al bit più significativo, che viene moltiplicato per .
Entanglement​
Come abbiamo accennato in precedenza, un'altra caratteristica fondamentale dei qubit è che possono essere entangled tra loro. Prendiamo un esempio di stato a due qubit, dove e :
Quindi, lo stato del qubit 0 può essere o con uguale probabilità , e lo stesso vale per lo stato del qubit 1. Ma queste probabilità non sono più indipendenti l'una dall'altra. Se troviamo lo stato del qubit 0 essere , allora sappiamo che anche il qubit 1 sarà in . Questo vale indipendentemente da quanto lontani siano l'uno dall'altro, motivo per cui l'atto di misurare uno stato entangled è talvolta definito "azione spettrale a distanza".
L'entanglement può assumere anche altre forme. Per esempio, lo stato
produce risultati opposti ogni volta: se un qubit viene misurato , l'altro è garantito di essere trovato nello stato .
Verifica la tua comprensione​
Leggi le domande di seguito, pensa alla tua risposta, poi clicca sul triangolo per vedere la soluzione.
Lo stato è entangled? Perché sì o perché no?
Risposta:
Non è entangled. Sebbene i risultati siano sempre gli stessi quando misuri entrambi i qubit, questo è dovuto solo al fatto che ogni qubit è sempre fisso nello stato . Il risultato della misurazione di un qubit non dipende effettivamente dall'altro — entrambi sono semplicemente sempre .
In generale, se puoi descrivere lo stato di ciascun qubit separatamente e poi moltiplicarli insieme in questo modo:
Allora è noto come "stato prodotto" e non è entangled.
Notazione vettoriale​
È spesso utile usare vettori e matrici per vedere come lo stato quantistico si trasforma sotto diverse operazioni. In questa rappresentazione, i nostri stati quantistici saranno vettori, e le nostre porte quantistiche (discusse nella sezione successiva) saranno matrici che trasformano i vettori.
Per un singolo qubit, le forme vettoriali degli stati sono scelte come: In questo modo, uno stato arbitrario può essere scritto come
Per uno stato generale a qubit, avremo bisogno di un vettore di dimensione , con gli stati della base ordinati come ci si aspetta, in ordine binario crescente:
Con questa scelta di notazione vettoriale in mente, possiamo introdurre le porte quantistiche necessarie, i loro effetti sugli stati quantistici e le loro forme matriciali.
Verifica la tua comprensione​
Leggi le domande di seguito, pensa alla tua risposta, poi clicca sul triangolo per vedere la soluzione.
Ci sono quattro stati della base computazionale per un sistema a due qubit. Scrivi ciascuno di essi sia nella notazione ket che in quella vettoriale.
Risposta:
gate gate quantistici​
Proprio come i gate classici NOT, AND, OR e XOR possono essere combinati per costruire circuiti classici arbitrari, i gate quantistici svolgono lo stesso ruolo nel quantum computing. Poiché i qubit possiedono proprietà aggiuntive della meccanica quantistica, i gate quantistici sono corrispondentemente più ricchi. Sebbene sia ancora possibile descrivere la loro azione sugli stati di base e