QuantumLab — Manuale e corso guidato

Officina Turini · Freeware didattico · C++14 / Qt5 · v0.16.0

English

Indice

Le 21 lezioni, una per una

Da zero: che cos’è un calcolo quantistico?

Un calcolatore classico manipola bit. Un processore quantistico controlla stati fisici descritti da ampiezze complesse. QuantumLab non è un processore quantistico: il tuo PC simula queste ampiezze, così puoi interrompere l’esperimento e guardare ciò che su hardware reale non puoi leggere direttamente.

La regola del laboratorio: prima fai una previsione, poi modifica una porta, poi osserva ampiezze e probabilità. Le formule vengono dopo, per spiegare ciò che hai visto.

Il tuo primo esperimento in cinque gesti

  1. Scegli 01 — La moneta quantistica.
  2. Leggi quanti qubit servono: 1 e dunque 2 stati di base.
  3. Fermati allo stato iniziale |0⟩; seleziona H e premi Passo avanti.
  4. Osserva le due ampiezze +0,7071: le probabilità sono 50% e 50%.
  5. Fai 1000 prove. Torna al circuito e prova la seconda Hadamard.

Quale percorso seguire?

Lezioni 01–04: osserva. 05–14: costruisci e verifica. 15–21: scopri gli algoritmi. Il laboratorio parametrico ti permette poi di cambiare oracolo, segreto e numero di iterazioni.

↑ Torna all’indice

Che cosa è davvero un qubit?

Per un qubit ideale scriviamo |ψ⟩ = α|0⟩ + β|1⟩. Le due ampiezze α e β possono essere complesse; le probabilità sono |α|² e |β|², e la loro somma è 1.

|ψ⟩ = α|0⟩ + β|1⟩ |α|² + |β|² = 1 P(0) = |α|² P(1) = |β|²

Con n qubit la base computazionale contiene 2n stati: |000…0⟩ fino a |111…1⟩. Il simulatore conserva 2n ampiezze complesse; non significa poter leggere 2n risposte in una misura.

Ordine dei bit

QuantumLab numera q0 come bit meno significativo, a destra. Con due qubit, |10⟩ indica q1=1 e q0=0. Applicare X(q0) a |00⟩ produce |01⟩; applicare X(q1) produce |10⟩.

Fase globale e fase relativa

Moltiplicare tutto lo stato per eiφ non cambia nessuna previsione misurabile. Cambiare invece soltanto il segno di una delle ampiezze può cambiare una futura interferenza. Per questo le sfide sono valutate con la fedeltà, che ignora la fase globale ma distingue le fasi relative.

La misura

Una misura seleziona un esito secondo le probabilità e collassa lo stato simulato. Le preparazioni ripetute (10, 100, 1000 o 10000) estraggono invece campioni indipendenti dalla stessa preparazione; non sono mille misure consecutive sul medesimo qubit collassato. Una misura singola non verifica un algoritmo probabilistico.

↑ Torna all’indice

Le cinque porte del laboratorio

PortaChe cosa faProva
XScambia |0⟩ e |1⟩ (NOT della base computazionale).X·X = identità.
HMescola le ampiezze: H|0⟩=(|0⟩+|1⟩)/√2.H·H = identità.
ZCambia segno della componente |1⟩; non cambia immediatamente le probabilità.H–Z–H equivale a X.
P(θ)Moltiplica l’ampiezza di |1⟩ per eiθ.P(180°)=Z; l’editor usa gradi.
CNOTSe il controllo è 1, inverte il qubit bersaglio.H(q0), CNOT(q0→q1): Bell.

Prima della misura queste trasformazioni sono unitarie e reversibili. Il circuito applica le porte in ordine temporale; una CNOT ha due qubit distinti, uno di controllo e uno bersaglio.

Attenzione: nella GUI un angolo P di 180 è espresso in gradi, mentre i calcoli interni C++ usano radianti.

↑ Torna all’indice

Usare QuantumLab senza perdersi

Le quattro schede a sinistra

Lezione: problema, suggerimenti e verifica della sfida. Algoritmi: parametri degli oracoli e checkpoint. Editor: porte e qubit. Misure: previsione, campionamento, validazione e report.

Le tre zone sulla destra

La vista circuito permette zoom e selezione del passo; sotto compaiono ampiezze e probabilità; il Laboratory Notebook registra i passaggi. Gli splitter regolano le dimensioni. La disposizione è ricordata da QSettings.

Tre operazioni da distinguere

Avanza di una porta cambia lo stato simulato. Naviga a un checkpoint ricostruisce uno stato intermedio senza effettuare misure fisiche. Misura campiona e collassa. Le 1000 prove campionano molte preparazioni indipendenti.

Editor e file

Per cambiare una lezione preparata crea una copia di lavoro. Inserisci o sostituisci porte; il software invalida le misure precedenti. Salva il circuito in .qlab.json; esporta previsioni, conteggi e misure in un JSON risultati separato. La modifica non salvata è indicata nel titolo e protetta alla chiusura.

IT / EN

Il selettore cambia le etichette, i tooltip, le spiegazioni e il manuale; la lingua e la geometria sono ricordate tramite QSettings di Officina Turini / QuantumLab.

↑ Torna all’indice

Metodo di studio: prevedi, prova, spiega

Per ogni esercizio usa questo ciclo: (1) previsione dell’esito, (2) costruzione o esplorazione del circuito, (3) osservazione delle ampiezze, (4) misura ripetuta, (5) spiegazione. Una risposta sorprendente è un buon risultato sperimentale se poi sai ricostruirne la causa.

Esempio: la H porta a 50/50; Z lascia il 50/50; una seconda H produce 100% su |1⟩. Se guardi solo le probabilità intermedie perderai proprio l’informazione che ha fatto funzionare il circuito.

Le sfide 05–14 iniziano vuote e sono giudicate sullo stato finale e, dove richiesto, sul rispetto di vincoli didattici (porte obbligatorie, numero minimo). Non sono giudicate sulla fortuna di una misura.

↑ Torna all’indice

Oracoli: che cosa stiamo contando?

Un oracolo è il circuito reversibile che rende accessibile una funzione. Nel modello di interrogazioni un uso completo di Uf vale una chiamata, anche se richiede numerose porte X, H, P e CNOT. Distinguere chiamate, porte elementari, memoria e tempo reale è indispensabile.

Deutsch

La funzione ha un ingresso di un bit ed è promessa costante oppure bilanciata. Un algoritmo classico deterministico può richiedere due interrogazioni per decidere con certezza; Deutsch una. Si misura il solo qubit dati q0: 0=costante, 1=bilanciata. Il qubit ausiliario non è la risposta.

Bernstein–Vazirani

L’oracolo restituisce f(x)=s·x mod 2. Per il segreto s=101, tre interrogazioni classiche sui vettori di base ricostruiscono i bit; il circuito quantistico usa una chiamata logica. Leggi q2q1q0; q3 è ausiliario e può essere casuale.

Grover

La ricerca è non strutturata, con un solo stato marcato. L’oracolo cambia il segno di quello stato; la diffusione converte la fase in maggiore ampiezza. Per N elementi il numero ottimale di interrogazioni cresce come O(√N), non come O(N). Il numero di porte per costruire oracolo e diffusione va però contato separatamente.

3 qubit, bersaglio |101⟩Probabilità ideale
Preparazione uniforme12,5%
1 iterazione78,125%
2 iterazioni94,53125%
3 iterazioni33,0078125%
4 iterazioni1,220703125%
Il numero di interrogazioni non è una previsione del tempo necessario sul PC o su un processore quantistico reale. Quando il successo è inferiore al 100%, i confronti non sono automaticamente a pari affidabilità.

↑ Torna all’indice

Dove termina il simulatore e inizia la macchina reale

QuantumLab è un simulatore ideale basato su un vettore di stato. Il PC memorizza una ampiezza complessa per ogni stato della base. Con due double per ampiezza occorrono circa 16·2n byte solo per lo stato.

QubitRAM del solo vettore (double complessi)
84 KiB
2016 MiB
3016 GiB
3264 GiB

Il limite dell’editor corrente è volutamente 1–8 qubit e il laboratorio parametrico Grover usa 2–3 qubit. Il supporto a 30 qubit è un possibile sviluppo, non una funzione attuale.

Il software non simula in modo completo rumore dei gate, decoerenza, connettività dei processori reali, error correction o costi energetici. Le ampiezze visualizzate sono informazioni interne al modello numerico: su hardware reale non sono accessibili direttamente con una sola misura.

↑ Torna all’indice

Quanto possiamo fidarci dei risultati?

La suite scientifica v0.11 confronta il motore con vettori analitici e un secondo calcolatore matriciale indipendente, verifica conservazione della norma, replay e algoritmi. Il report della scheda Misure espone test PASS/FAIL ed esporta JSON.

Attenzione: un insieme di test positivo non dimostra l’assenza di ogni bug, e la compilazione su un altro PC richiede collaudo. Se un risultato sembra incoerente, riduci il circuito a poche porte e confronta ampiezze, probabilità e checkpoint.

La fedeltà tra due stati puri normalizzati |ψ⟩ e |φ⟩ è F = |⟨φ|ψ⟩|². Essa vale 1 anche se i due stati differiscono soltanto per una fase globale. Le sfide possono richiedere inoltre particolari porte o un numero minimo di operazioni.

↑ Torna all’indice

Domande frequenti e problemi comuni

Perché 1000 prove non danno esattamente 500/500?

Perché il campionamento è casuale. La probabilità teorica non è una quota imposta a ogni lotto di prove.

Perché Z non cambia l’istogramma?

Perché Z cambia una fase relativa. Inserisci una H successiva per renderne osservabile l’effetto.

Perché la sfida rifiuta un circuito con probabilità corrette?

La verifica confronta lo stato (comprese fasi relative) e alcuni vincoli della lezione. Prova le lezioni 11 e 13.

Perché Bernstein–Vazirani mostra due stati di base finali?

Il qubit ausiliario è in sovrapposizione; la risposta è nei soli qubit dati.

Perché Grover peggiora dopo tre o quattro iterazioni?

L’operazione è una rotazione: dopo il punto ottimo la probabilità riprende a diminuire.

Il programma è più veloce di un computer classico?

No: il programma è un computer classico che simula un circuito quantistico. Il vantaggio discusso riguarda il numero astratto di interrogazioni, non il tempo del simulatore.

Dove sono i miei file?

I circuiti salvati usano .qlab.json; i dati delle misure si esportano separatamente. Il programma non salva automaticamente un circuito modificato solo perché ricorda geometria e lingua.

La guida non compare?

La guida integrata è una risorsa compilata nell’applicazione. Se stai modificando i sorgenti, verifica che il file Help/QuantumLabHelp.qrc venga processato da Qt RCC.

↑ Torna all’indice

Glossario essenziale

TermineSignificato operativo
AmpiezzaNumero complesso il cui modulo quadrato dà una probabilità.
Base computazionaleGli stati indicizzati dalle stringhe 0/1.
Qubit ausiliarioQubit di servizio non necessariamente parte della risposta.
InterferenzaCombinazione di ampiezze con somma o cancellazione.
Fase relativaDifferenza di fase fra ampiezze, fisicamente rilevante.
Fase globaleFattore di fase comune allo stato, non osservabile.
EntanglementStato congiunto non fattorizzabile in stati separati.
FedeltàSovrapposizione quadratica fra stati puri.
OracoloImplementazione reversibile di una funzione interrogata dall’algoritmo.
ShotUna preparazione seguita da misura.
CheckpointStato ricostruito per osservazione didattica, non misura fisica.

↑ Torna all’indice

Appendice matematica, senza salti

Queste formule non sono un prerequisito: spiegano quello che hai già osservato.

Vettori e porte

|0⟩ = (1, 0)ᵀ |1⟩ = (0, 1)ᵀ X = [[0, 1], [1, 0]] Z = [[1, 0], [0,-1]] H = (1/√2) [[1, 1], [1,-1]] P(θ) = [[1, 0], [0, exp(iθ)]]

La H applicata a |0⟩ produce (1/√2,1/√2); Z nega la seconda componente; una nuova H produce (0,1). Ecco il calcolo della lezione 04.

Prodotto tensoriale e CNOT

Due qubit indipendenti si descrivono con un prodotto tensoriale. La base è ordinata |00⟩, |01⟩, |10⟩, |11⟩; q0 è a destra. CNOT è una trasformazione unitaria in quattro dimensioni.

Statistica delle misure

P(x) = |aₓ|² Σₓ P(x) = 1 σ(p̂) ≈ √[p(1−p)/M] (M prove indipendenti)

Per p=1/2 e M=1000, la deviazione standard della frequenza è circa 1,58 punti percentuali. Un risultato 515/485 non smentisce il modello 50/50.

Fedeltà

F(|ψ⟩,|φ⟩) = |Σₓ conj(φₓ)·ψₓ|²

La fase globale scompare prendendo il modulo quadrato. Invece (|0⟩+|1⟩)/√2 e (|0⟩−|1⟩)/√2 hanno fedeltà zero pur producendo entrambi 50/50.

Grover come rotazione

sin θ = 1/√N P_successo(k) = sin²((2k+1)θ)

Vale per un solo stato marcato, preparazione uniforme e k iterazioni ideali. Spiega il massimo e la sovra-rotazione delle lezioni 20–21.

↑ Torna all’indice

Per chi insegna: percorsi pronti

Ogni gruppo deve formulare un’ipotesi controllabile prima di premere Esegui. Lo scopo è costruire intuizione, non memorizzare nomi di porte.

Lezione da 45 minuti

  1. 5′: moneta classica e H, ipotesi sulle frequenze.
  2. 10′: H e H, interferenza.
  3. 10′: H–Z–H, perché Z non cambia le probabilità?
  4. 10′: Bell, correlazione osservata contro prova di entanglement.
  5. 10′: sfida 13, motivare perché H da sola fallisce.

Lezione da 90 minuti

Aggiungi Deutsch, Grover a due qubit, poi tre qubit con una e due iterazioni. Ogni gruppo riporti separatamente interrogazioni, numero di porte e probabilità di successo.

Domande al posto delle risposte

Non presentare la riduzione delle interrogazioni come una prova automatica di superiorità in velocità. Un istogramma 00/11 non certifica da solo l’entanglement.

↑ Torna all’indice

Laboratorio didattico 0.16

Entrare nel percorso

Il pulsante Laboratorio didattico apre una finestra non modale con quattro schede. La casella Parto da zero nella finestra principale nasconde dati numerici e schede avanzate; disattivala per approfondire. Le due viste usano lo stesso stato simulato.

Previsione e ragionamento

Nella prima scheda scegli le attività 1, 2 e 3 (lezioni 01, 02 e 04). Prima di eseguire porte, scegli una distribuzione: sempre lo stato 0, sempre lo stato 1, tutti gli esiti equiprobabili, oppure non so ancora. Con più qubit i bit mostrati si riferiscono all’intero registro. Scrivi una motivazione e premi Registra previsione. Dopo l’ultima porta il programma confronta la previsione con la teoria, indipendentemente dalla singola estrazione. Ricominciare o modificare il circuito invalida la previsione registrata.

Confronti A/B

Carica H/H-Z, H-H/H-Z-H oppure Grover con 1/2 o 2/3 iterazioni; in alternativa copia il circuito corrente in A e B. Sono copie indipendenti. I selettori Passo A e Passo B ricostruiscono prefissi unitari del circuito, senza misure intermedie. Le stringhe delle porte sono mostrate sopra la tabella; per circuiti lunghi passa il puntatore sul testo per leggerlo interamente. Il comando Aggiungi H a entrambi è disponibile per due circuiti a un qubit.

Le frecce mostrano direzione della fase e modulo dell’ampiezza; la fase numerica è in gradi. Per ampiezza nulla la fase è indefinita. Una fase globale non identifica uno stato fisico diverso.

Statistiche e sfide

Nella scheda Misure della finestra principale scegli 10, 100, 1000 o 10000 preparazioni. La tabella distingue probabilità teorica, conteggio e frequenza. Il quaderno registra il numero di prove. Gli esiti di una serie non sono una quota obbligatoria 50/50. Le sfide mantengono i vincoli minimi di porte dichiarati: sono ammesse soluzioni più lunghe equivalenti, salvo porte vietate. Il feedback segnala quando le probabilità coincidono ma la fase relativa differisce.

Annullare modifiche

File → Annulla modifica circuito (Ctrl+Z) e Ripristina modifica circuito (Ctrl+Y) agiscono su inserimento, sostituzione, eliminazione, spostamento e numero di qubit. La cronologia conserva fino a 100 modifiche, si azzera cambiando documento o caricando una sessione e non coincide con la navigazione nei passi. Una modifica invalida le misure e le previsioni del circuito precedente.

Salvare una sessione

La scheda Scheda e sessione conserva domanda, motivazione, osservazioni e conclusioni. Salva sessione (Ctrl+Alt+S) scrive un file .session.json con circuito, lezione, passo, misura, conteggi, previsione e copie A/B. Il generatore casuale viene conservato per riprendere nello stesso ambiente di esecuzione; non è promessa una sequenza identica fra librerie C++ diverse. Le preferenze della finestra restano separate in QSettings.

Il salvataggio è atomico. Il caricamento valida i dati prima di sostituire il lavoro aperto. Limiti: 1 MiB per sessione, 32768 caratteri per campo testuale. Le modifiche alla sessione richiedono una scelta Salva/Scarta/Annulla prima di chiudere o sostituire il documento. Salvare il solo circuito non salva le note. Il formato dei circuiti .qlab.json rimane compatibile.

Stampare una scheda

Esporta scheda HTML produce un documento autonomo apribile e stampabile dal browser: domanda, previsione, motivazione, note, conclusione, sequenza delle porte, ampiezze, probabilità e frequenze. Il JSON del circuito incluso permette di ricostruirlo. Per riprendere l’intera attività usa invece la sessione. L’esportazione dei risultati JSON è ora versione 2 e comprende circuito e ampiezze prima della misura.

Bell e miscela classica

La quarta scheda confronta Bell+ con un ensemble 50/50 di 00 e 11. In Z/Z le probabilità coincidono; in X/X Bell+ dà 00 e 11 al 50%, la miscela dà quattro esiti al 25%. Le basi sono ordinate q1/q0. Il cambio alla base X è una H prima della lettura. La miscela somma le probabilità dei rami, mai le loro ampiezze. Il modulo distingue due preparazioni note, non certifica ogni possibile entanglement e non simula rumore.

↑ Torna all’indice

Le 21 lezioni, una per una

01 — La moneta quantistica

DimostrazioneQubit: 1

Il problema: Parti da |0⟩ e applica H(q0). Prima della misura prova a prevedere 0 o 1.

Prova nel programma: Seleziona la porta H, controlla le ampiezze; poi esegui 1000 prove senza collassare lo stato visualizzato.

Che cosa devi osservare: P(0)=P(1)=50%. Con 1000 prove i conteggi saranno vicini, non necessariamente identici.

Perché funziona: H non genera una moneta classica nascosta: prepara ampiezze +1/√2 che danno probabilità 1/2.

Attenzione: Non confondere una singola misura con l’intera distribuzione.

↑ Torna all’indice

02 — La seconda Hadamard

DimostrazioneQubit: 1

Il problema: Dopo H aggiungi un’altra H. L’incertezza raddoppia o scompare?

Prova nel programma: Fermati dopo la prima H e poi dopo la seconda; confronta le ampiezze, non solo la misura.

Che cosa devi osservare: Il risultato finale è |0⟩ con probabilità 100%.

Perché funziona: H·H=I: il secondo mescolamento provoca interferenza costruttiva su |0⟩ e distruttiva su |1⟩.

Attenzione: «Più porte» non significa necessariamente «più casualità».

↑ Torna all’indice

03 — Le monete gemelle

DimostrazioneQubit: 2

Il problema: Partendo da |00⟩ produci due risultati sempre concordi: 00 e 11.

Prova nel programma: Applica H(q0), quindi CNOT con controllo q0 e bersaglio q1.

Che cosa devi osservare: 00 e 11 hanno ciascuno probabilità 50%; 01 e 10 non compaiono.

Perché funziona: Lo stato (|00⟩+|11⟩)/√2 è entangled e non si fattorizza in due stati di singolo qubit.

Attenzione: Il solo istogramma 00/11 non dimostra da solo l’entanglement: servono misure in altre basi.

↑ Torna all’indice

04 — Un segno invisibile

DimostrazioneQubit: 1

Il problema: Una fase può cambiare un risultato pur non modificando le probabilità durante l’applicazione?

Prova nel programma: Confronta H–H e H–Z–H, osservando la tabella subito dopo Z.

Che cosa devi osservare: Dopo Z rimane 50/50; dopo la H finale si ottiene |1⟩ con certezza.

Perché funziona: Z introduce una fase relativa di π: la seconda H converte la differenza di fase in probabilità.

Attenzione: La fase non è una probabilità negativa.

↑ Torna all’indice

05 — Accendi il qubit

SfidaQubit: 1

Il problema: Costruisci |1⟩ da |0⟩ utilizzando almeno una X.

Prova nel programma: Nel tab Editor seleziona X con bersaglio q0 e inseriscila nel circuito vuoto.

Che cosa devi osservare: Il verificatore deve dare PASS: ampiezza 1 su |1⟩.

Perché funziona: X è l’analogo quantistico del NOT sulla base computazionale.

Attenzione: Una H produce una sovrapposizione, non |1⟩ certo.

↑ Torna all’indice

06 — Due volte NOT

SfidaQubit: 1

Il problema: Ritorna a |0⟩ usando esattamente due X.

Prova nel programma: Inserisci X(q0), quindi una seconda X(q0).

Che cosa devi osservare: Il verificatore accetta X–X, perché X²=I.

Perché funziona: Le trasformazioni quantistiche unitarie sono reversibili.

Attenzione: Il circuito vuoto dà lo stesso stato, ma NON soddisfa il vincolo didattico delle due X.

↑ Torna all’indice

07 — La moneta da costruire

SfidaQubit: 1

Il problema: Prepara (|0⟩+|1⟩)/√2 con almeno una X.

Prova nel programma: Inserisci H(q0); confronta ampiezze e probabilità.

Che cosa devi osservare: Le ampiezze sono entrambe +1/√2; le probabilità sono 50/50.

Perché funziona: La distribuzione non descrive da sola lo stato: conta anche il segno relativo.

Attenzione: Non confondere questa sfida con la 13, che richiede una fase diversa.

↑ Torna all’indice

08 — Quale qubit?

SfidaQubit: 2

Il problema: Partendo da |00⟩ prepara esattamente |01⟩.

Prova nel programma: Il bit a destra è q0: applica X(q0).

Che cosa devi osservare: P(01)=100% e tutte le altre probabilità sono zero.

Perché funziona: QuantumLab usa q0 come bit meno significativo nel numero binario.

Attenzione: X(q1) preparerebbe |10⟩, non |01⟩.

↑ Torna all’indice

09 — Quattro possibilità

SfidaQubit: 2

Il problema: Produci quattro ampiezze uguali e positive.

Prova nel programma: Applica H(q0) e H(q1). L’ordine delle due H non cambia il risultato.

Che cosa devi osservare: Le quattro ampiezze sono +1/2, quindi ogni esito vale 25%.

Perché funziona: Due qubit hanno 2²=4 stati di base, ma una misura restituisce un solo stato.

Attenzione: Quattro ampiezze non equivalgono a quattro risultati leggibili simultaneamente.

↑ Torna all’indice

10 — Costruisci una coppia Bell

SfidaQubit: 2

Il problema: Prepara (|00⟩+|11⟩)/√2.

Prova nel programma: Inserisci H(q0), poi CNOT(q0→q1).

Che cosa devi osservare: Il verificatore accetta una sovrapposizione coerente di 00 e 11.

Perché funziona: La CNOT può creare entanglement quando il controllo è in sovrapposizione.

Attenzione: Una miscela classica 50/50 di 00 e 11 avrebbe lo stesso istogramma in questa base.

↑ Torna all’indice

11 — Il segno diventa risultato

SfidaQubit: 1

Il problema: Ottieni |1⟩ senza usare X, utilizzando almeno due H e una Z.

Prova nel programma: Prova H(q0)–Z(q0)–H(q0).

Che cosa devi osservare: Il verificatore accetta H–Z–H e controlla anche il vincolo sulle porte.

Perché funziona: HZH=X: una funzione equivalente può avere un’implementazione radicalmente diversa.

Attenzione: Una singola X darebbe il risultato ma violerebbe lo scopo della sfida.

↑ Torna all’indice

12 — Bell alternativo

SfidaQubit: 2

Il problema: Prepara (|01⟩+|10⟩)/√2.

Prova nel programma: Parti da una Bell standard e applica X(q0).

Che cosa devi osservare: Le ampiezze non nulle sono quelle di 01 e 10, entrambe +1/√2.

Perché funziona: Una porta locale può trasformare uno stato di Bell in un altro.

Attenzione: Non basta ottenere la corretta probabilità: anche la fase relativa deve essere giusta.

↑ Torna all’indice

13 — Le probabilità ingannano

SfidaQubit: 1

Il problema: Prepara (|0⟩−|1⟩)/√2, con segno relativo negativo.

Prova nel programma: Usa H(q0) seguita da Z(q0).

Che cosa devi osservare: Il verificatore accetta H–Z ma rifiuta la sola H, pur avendo entrambe 50/50.

Perché funziona: La fedeltà degli stati riconosce la differenza di fase relativa.

Attenzione: La fase globale non è fisicamente osservabile, ma la fase relativa sì.

↑ Torna all’indice

14 — Tre qubit in accordo

SfidaQubit: 3

Il problema: Prepara GHZ=(|000⟩+|111⟩)/√2.

Prova nel programma: Applica H(q0), CNOT(q0→q1), CNOT(q1→q2).

Che cosa devi osservare: Soltanto 000 e 111 hanno probabilità 50%, con le fasi corrette.

Perché funziona: GHZ estende l’entanglement coerente da due a tre qubit.

Attenzione: Tre correlazioni classiche non sono, da sole, una prova di entanglement.

↑ Torna all’indice

15 — Deutsch: funzione costante

AlgoritmoQubit: 2

Il problema: La funzione è costante o bilanciata? Qui f(0)=f(1)=1.

Prova nel programma: Ispeziona la preparazione del qubit ausiliario, l’oracolo X(q1) e la H finale su q0.

Che cosa devi osservare: Il qubit dati q0 misura 0 con certezza; q1 non contiene la risposta.

Perché funziona: Una singola interrogazione all’oracolo reversibile basta a riconoscere la classe della funzione.

Attenzione: Una interrogazione logica non è necessariamente una porta fisica.

↑ Torna all’indice

16 — Deutsch: funzione bilanciata

AlgoritmoQubit: 2

Il problema: Ripeti Deutsch con f(x)=x.

Prova nel programma: L’oracolo è CNOT(q0→q1): osserva quale informazione passa alla fase.

Che cosa devi osservare: q0=1 con certezza, quindi la funzione è bilanciata.

Perché funziona: La preparazione del qubit ausiliario in |−⟩ provoca il phase kickback.

Attenzione: Non leggere q1 per classificare la funzione.

↑ Torna all’indice

17 — Deutsch: oracolo diverso

AlgoritmoQubit: 2

Il problema: Stessa domanda, ora f(x)=1−x. La classificazione cambia?

Prova nel programma: Confronta la sequenza delle porte dell’oracolo con l’esercizio 16.

Che cosa devi osservare: q0 vale ancora 1: anche questa funzione è bilanciata.

Perché funziona: Il risultato riguarda una proprietà della funzione, non tutta la sua tabella di verità.

Attenzione: Non dedurre che il circuito abbia ricostruito f(0) e f(1) singolarmente.

↑ Torna all’indice

18 — Bernstein–Vazirani: 101

AlgoritmoQubit: 4

Il problema: Un oracolo nasconde la stringa s=101: recuperala con una chiamata logica.

Prova nel programma: I dati sono q2,q1,q0; q3 è ausiliario in |−⟩. Osserva le CNOT dell’oracolo.

Che cosa devi osservare: I dati misurati sono q2q1q0=101 con probabilità 100%; q3 può essere 0 oppure 1.

Perché funziona: L’interferenza legge in parallelo la parità s·x mod 2 codificata in fase.

Attenzione: Non aspettarti un unico risultato sui quattro qubit: l’ausiliario resta casuale.

↑ Torna all’indice

19 — Grover: quattro possibilità

AlgoritmoQubit: 2

Il problema: Trova |10⟩ fra quattro candidati.

Prova nel programma: Ispeziona preparazione uniforme, marcatura di fase e diffusione.

Che cosa devi osservare: Dopo una iterazione completa P(10)=100% nel caso ideale.

Perché funziona: La diffusione amplifica l’ampiezza della risposta marcata mediante interferenza.

Attenzione: La marcatura da sola cambia il segno, non la probabilità.

↑ Torna all’indice

20 — Grover: otto, una iterazione

AlgoritmoQubit: 3

Il problema: Cerca |101⟩ fra otto possibilità usando una sola iterazione.

Prova nel programma: Visita i checkpoint: preparazione, oracolo e diffusione.

Che cosa devi osservare: P(101) passa da 12,5% iniziale a 78,125% dopo la diffusione.

Perché funziona: La probabilità elevata non equivale ancora a certezza.

Attenzione: La prima interrogazione ideale non garantisce una risposta corretta in ogni misura.

↑ Torna all’indice

21 — Grover: seconda iterazione

AlgoritmoQubit: 3

Il problema: Ripeti la coppia oracolo+diffusione sullo stesso bersaglio |101⟩.

Prova nel programma: Confronta i checkpoint e poi prova il laboratorio parametrico con tre iterazioni.

Che cosa devi osservare: Dopo due iterazioni P(101)=94,53125%; dopo tre scende a circa 33,01%.

Perché funziona: Grover è una rotazione nello spazio delle ampiezze: superare il massimo provoca una sovra-rotazione.

Attenzione: Più iterazioni non significa sempre maggiore probabilità di successo.

↑ Torna all’indice

Hai terminato il percorso?

Ora scegli un algoritmo, cambia un parametro e prova a spiegare la differenza prima di leggere il risultato. Se una misura ti sorprende, consulta il Notebook e ricostruisci i checkpoint.

QuantumLab · Officina Turini · v0.16.0 · IT · UTF-8 · offline