QC - Programmazione quantistica: problemi di implementazione

Foto di NeONBRAND

Siamo ancora nella fase iniziale dell'informatica quantistica. Aspettati sorprese! Un algoritmo quantistico dipende dai qubit disponibili e anche da come questi qubit sono collegati. Diversi modelli di computer quantistici possono farlo diversamente. È come se un programma venisse eseguito sul processore Intel i7 e fallisse per il processore di prossima generazione. La decoerenza è un altro grosso problema nell'informatica quantistica. Non aspettarti di mettere in pausa un programma in corso e prendere un caffè. Una volta premuto il pulsante Esegui, sei sotto il cronometro. Il programma deve terminare rapidamente prima che le informazioni quantistiche vengano decadute. In questo articolo tratteremo alcuni problemi di implementazione e il problema della decoerenza.

Scambia cancello

L'implementazione fisica dei qubit potrebbe non essere simmetrica. Un gate non controllato può prendere qubit-0 come controllo e qubit-1 come target ma non il contrario.

Dipende fortemente dalle implementazioni

Qui, mostra come 2-qubit possono essere collegati in CNOT-gate su IBM Q5.

Come mostrato di seguito, se colleghiamo q1 e q2 con un gate non controllato, avremo un errore.

fonte

Avere q1 come qubit di controllo con q2 come target non è consentito in questa macchina.

Rimescolando le porte, l'errore scompare.

Ecco un altro esempio per IBM Q20.

IBM Q 20 Tokyo (20 qubit) - Modificato dalla fonte

Per superare la limitazione, possiamo usare lo scambio per scambiare due qubit.

Ecco altre possibilità per superare il problema:

fonte

Cancello universale

Nel calcolo classico, la porta NAND è una porta universale in grado di costruire le restanti operazioni. Potremmo implementare alcune porte universali in più per motivi di prestazioni. Porte complesse sono costruite sopra queste porte fisiche. Nelle porte quantiche, l'insieme universale è

Ciò può ulteriormente ridursi e approssimarsi con qualsiasi precisione da cancelli CNOT, H, S e T con un certo sovraccarico. In pratica, IBM Q (ibmqx4) implementa le seguenti porte fisiche:

dove

Per l'interfaccia di programmazione, tutte le seguenti operazioni sono fornite in IBM Q e costruiscono sopra le porte sopra.

Questo in realtà ci porta ad un argomento importante.

Non tutti i qubit sono uguali

Precisione ed errori rimangono un problema per il calcolo quantistico. Come indicato sopra, qubit diversi hanno diversi errori di gate ed errori di lettura. L'errore di gate riguarda la precisione nell'applicazione di un gate quantico. cioè quanto preciso possiamo controllare la sovrapposizione? Errore di lettura è l'errore nella misurazione dei qubit. L'errore del gate MultiQubit è l'errore nel funzionamento del gate a 2 qubit. Queste informazioni possono essere prese in considerazione quando si implementa un algoritmo. O almeno questo dovrebbe essere documentato con l'esecuzione eseguita per confronti o riferimenti futuri.

Decoherence ed errori

Come accennato in precedenza, ogni programma quantistico è in esecuzione ininterrottamente. Una volta che inizi a premere il pulsante Esegui, le informazioni quantistiche iniziano a degradare a causa dell'interazione con l'ambiente (eventuali campi elettrici e magnetici nelle vicinanze). Il programma deve essere completato prima che lo stato quantico diventi spazzatura. Quindi dovresti conoscere la lunghezza delle porte fisiche quantistiche utilizzate nel tuo programma. Poiché il programma è scritto in porte logiche quantistiche, è utile la conoscenza di come le porte fisiche vengono tradotte in porte fisiche.

La qualità dei computer quantistici può essere misurata dal tempo di rilassamento (T1), dal tempo di coerenza (T2), dagli errori di lettura e dagli errori di gate.

Fonte IBM

Il processo di decoerenza è misurato da T1 e T2 sopra.

T1 - Rilassamento energetico: il tempo impiegato dallo stato eccitato | 1⟩ decade verso lo stato fondamentale | 0⟩.

T2 - Sfasatura che influisce sulla fase di sovrapposizione. T2 include l'effetto di sfasamento e rilassamento energetico.

Ecco perché queste informazioni sono sempre pubblicate come riferimento.

Tolleranza ai guasti

L'elaborazione della tolleranza agli errori non viene più insegnata in ingegneria per molto tempo. Il calcolo quantistico riporta l'argomento. Il calcolo quantistico è vulnerabile agli errori. Per controbilanciare il problema, possiamo aggiungere ulteriori porte quantistiche per il rilevamento o la correzione degli errori. Questo è uno dei motivi principali per cui abbiamo sempre bisogno di molti più qubit di quanto pensiamo. Il seguente esempio è un codificatore e un decodificatore che consente un errore qubit.

Fonte: IBM

Il prossimo

Ora finiamo le porte quantistiche. Successivamente, inizieremo a imparare a programmare un algoritmo quantistico.

Ecco il link per l'intera serie: