
(articolo redatto da Domenico Di Mieri)
Prosegue il nostro appuntamento a puntate con le guide di approfondimento sul quantum computing. Nell’ARTICOLO PRECEDENTE abbiamo preparato il nostro ambiente di sviluppo e test installando Anaconda e Jupiter Notebook ed abbiamo scritto il nostro primo script Python per verificarne la corretta installazione. Qui creeremo il nostro primo circuito quantico e lo simuleremo su un computer classico.
Indice dei contenuti
Creazione del circuito quantico
Per prima cosa apri Jupyter Notebook e prendi nota del token di accesso o copia e incolla la URL generata nella barra dell’indirizzo del browser.
Crea un nuovo script Python cliccando sul pulsante New e poi scegliendo Python 3 dal menu a tendina.
Poi inserisci i comandi in sequenza premendo, ad ogni fine riga SHIFT+INVIO in modo da eseguire immediatamente la riga e visualizzarne l’eventuale output:

importa la libreria Qiskit

definisce un registro di 2 qubit

definisce un registro di 2 bit classici (necessari per la misura del valore dei qubit)

definisce un circuito costituito da 2 qubit e 2 bit classici.

“magic function” di riga: chiama la funzione matplotlib con parametri inline (serve per visualizzare l’output delle funzioni di plot in Jupyter Notebook)

stampa su schermo lo schema del circuito definito tramite i comandi precedenti.
L’output della funzione draw() del circuito è alquanto spartano, ma si capisce che il circuito contiene 2 qubit (q0_0 e q0_1) e 2 bit classici c0: 2.
È possibile specificare dei parametri per la funzione draw in modo che l’output visualizzato sia più “leggibile”:

Il circuito di sopra non esegue, al momento, assolutamente alcuna operazione essendo costituito da 2 qubit e 2 bit classici senza alcun collegamento.
Proviamo a fare qualcosa di più interessante facendo passare il qubit q0 attraverso una porta di Hadamard.
È il caso di ricordare che questo significa moltiplicare il vettore q0 per la matrice di Hadamard di ordine 2:


E visualizziamo lo schema del circuito:

A questo punto aggiungiamo un collegamento (fan out) tra il qubit 0 ed il qubit 1.

Simulazione su un computer classico
Per poter visualizzare il risultato dell’esecuzione del circuito è necessario tipicamente convertire lo stato dei qubit in uno stato di una macchina classica. È cioè necessario misurare i qubit e memorizzarne il valore di q0 e q1 negli omologhi c0 e c1:

Si ricordi che la misura dello stato di un qubit distrugge l’informazione in esso contenuta facendolo collassare nei due soli stati possibili in elettronica classica.
A questo punto procediamo con la simulazione.

Carica il simulatore che si vuole utilizzare per eseguire il circuito;

Esegue la simulazione del circuito e memorizza il risultato nella variabile result;

Importa le funzioni di visualizzazione ad istogrammi della libreria qiskit.tools.visualization

Conclusioni
Se la procedura è andata a buon fine, dovresti visualizzare il risultato della simulazione sotto forma di istogramma.
Se anche tu vuoi occuparti di progetti di sviluppo software di ultima generazione
dai un’occhiata alle nostre opportunità di lavoro e conosciamoci subito!