Informazioni sul calcolo quantistico

Il calcolo quantistico promette di risolvere alcune delle sfide più grandi del nostro pianeta, nelle aree dell'ambiente, dell'agricoltura, della salute, dell'energia, del clima, della scienza dei materiali e altro ancora. Per alcuni di questi problemi, l'elaborazione classica è sempre più difficile con l'aumentare delle dimensioni del sistema. Se progettato per la scalabilità, i sistemi quantistici avranno probabilmente funzionalità che superano quelle dei supercomputer più potenti di oggi. Poiché la community globale di ricercatori quantistici, scienziati, ingegneri e leader aziendali collaborano per promuovere l'ecosistema quantistico, ci aspettiamo di vedere l'accelerazione dell'impatto quantistico in ogni settore.

Per altre informazioni sugli inizi e la motivazione del calcolo quantistico, vedere Storia e background del calcolo quantistico.

Azure Quantum è un ecosistema aperto per creare soluzioni di calcolo quantistico su una selezione diversificata di hardware quantistico di oggi e offre flessibilità per usare gli strumenti di sviluppo preferiti con il supporto per Cirq, Qiskit e Q#. È possibile usare la piattaforma Azure familiare e attendibile per apprendere come sviluppare algoritmi quantistici e come programmarli ed eseguirli su hardware reale da più provider.

Informazioni su come creare un'area di lavoro di Azure Quantum e iniziare a inviare programmi quantistici su hardware quantistico reale. Gli utenti che lo usano per la prima volta ottengono crediti di Azure Quantum gratuiti da usare con ogni provider di hardware quantistico partecipante (500 USD ciascuno) durante la creazione dell'area di lavoro. Se sono necessari più crediti, è possibile sottoscrivere il programma Azure Quantum Credits.

Suggerimento

Versione di valutazione gratuita. Se non si ha una sottoscrizione di Azure, è possibile creare un account Azure gratuito (consultare gli account Azure gratuiti per gli studenti).

Per cosa è possibile usare il calcolo quantistico e Azure Quantum?

Un computer quantistico non è un super computer in grado di fare tutto più rapidamente. Uno degli obiettivi della ricerca sul calcolo quantistico è in realtà quello di studiare quali problemi possono essere risolti da un computer quantistico più veloce rispetto a un computer classico e quanto può essere la velocità.

I computer quantistici funzionano perfettamente con problemi che richiedono il calcolo di un numero elevato di possibili combinazioni. Questi tipi di problemi sono disponibili in molte aree, ad esempio simulazione quantistica, crittografia, machine learning quantistico e problemi di ricerca.

Per le informazioni più recenti sulla ricerca sul calcolo quantistico di Microsoft, vedere la pagina Microsoft Research Quantum Computing .

Stima delle risorse

I computer quantistici attualmente disponibili consentono esperimenti e ricerche interessanti, ma non sono in grado di accelerare i calcoli necessari per risolvere i problemi reali. Mentre il settore attende progressi hardware, gli innovatori del software quantistico sono desiderosi di fare progressi e prepararsi per un futuro quantistico. La creazione di algoritmi che verranno infine eseguiti nei computer quantistici a tolleranza di errore di domani è un'attività scoraggiante. Questi innovatori si trovano di fronte a domande quali quali sono le risorse hardware necessarie? Quanti qubit fisici e logici sono necessari e quale tipo? Quanto tempo è il tempo di esecuzione?

È possibile usare Azure Quantum Resource Estimator per rispondere a queste domande. Di conseguenza, sarà possibile perfezionare gli algoritmi e creare soluzioni che sfruttano i computer quantistici ridimensionati quando diventano disponibili.

Per iniziare, vedere Eseguire la prima stima delle risorse.

Altre informazioni sulla valutazione dei requisiti per la scalabilità al vantaggio quantistico pratico usando lo strumento di stima delle risorse di Azure Quantum in arXiv:2211.07629.

Simulazione quantistica

La meccanica quantistica è il "sistema operativo" sottostante dell'universo. Descrive come si comportano i componenti fondamentali della natura. I comportamenti della natura, come le reazioni chimiche e biologiche o le formazioni di materiali, coinvolgono spesso interazioni quantistiche tra molti corpi. Per simulare sistemi meccanici intrinsecamente quantistici, ad esempio molecole, il calcolo quantistico è promettente, perché i qubit (bit quantistici) possono essere usati per rappresentare gli stati naturali in questione. Esempi di sistemi quantistici che è possibile modellare includono fotosintesi, superconduttività e formazioni molecolari complesse.

Quantum Development Kit (QDK) include la libreria di chimica quantistica per simulare problemi di struttura elettronica e dinamiche quantistiche in un computer quantistico. Un esempio di tali simulazioni è la semplice stima molecolare dell'energia molecolare dello stato di terra di una molecola. Questo e altri esempi di QDK e Azure Quantum sono disponibili negli esempi di codice.

Accelerazione dei processi di calcolo quantistico

Uno degli obiettivi della ricerca nel campo della quantistica è quello di studiare quali problemi possono essere risolti più velocemente da un computer quantistico rispetto a un computer classico e quale può essere il grado di accelerazione. Due esempi noti sono l'algoritmo di Grover e l'algoritmo di Shor, che producono rispettivamente un polinomiale e una velocità esponenziale rispetto alle controparti classiche.

L'algoritmo di Shor in esecuzione in un computer quantistico potrebbe interrompere schemi crittografici classici, ad esempio lo schema Rivest-Shamir–Adleman (RSA), ampiamente usato nell'e-commerce per la trasmissione sicura dei dati. Questo schema si basa sulla difficoltà pratica di scomporre i numeri primi usando algoritmi classici. La crittografia quantistica promette di garantire la sicurezza delle informazioni sfruttando la fisica di base anziché i presupposti di complessità.

Come l'algoritmo di Shor per il factoring, il problema di spostamento nascosto è una fonte naturale di problemi per cui un computer quantistico ha un vantaggio esponenziale rispetto agli algoritmi classici più noti. Questo può essere utile per risolvere i problemi di deconvoluzione e consentire di trovare in modo efficiente modelli in set di dati complessi. Si scopre che un computer quantistico può calcolare in linea di principio le convoluzioni ad alta velocità, che a sua volta si basa sulla capacità del computer quantistico di calcolare le trasformazioni di Fourier estremamente rapidamente. Nella raccolta di esempi dell'area di lavoro di Azure Quantum è disponibile un esempio di notebook Jupyter Turni nascosti (è necessario un account Azure).

L'algoritmo di Grover accelera la soluzione alle ricerche di dati non strutturate, eseguendo la ricerca in meno passaggi rispetto a qualsiasi algoritmo classico. In realtà, qualsiasi problema che consenta di verificare se un dato valore $x$ è una soluzione valida (un "problema sì/no") può essere formulato con i termini del problema di ricerca. Di seguito vengono riportati alcuni esempi.

  • Problema di soddisfacibilità booleana: il set di valori booleani $x$ è un'interpretazione (un'assegnazione di valori a variabili) che soddisfa la formula booleana data?
  • Problema del commesso viaggiatore: $x$ descrive il tragitto più breve possibile che connette tutte le città?
  • Problema di ricerca nel database: La tabella di database contiene un record $x$?
  • Problema di fattorizzazione di un intero: Il numero fisso $N$ è divisibile per il numero $x$?

Per un'implementazione pratica dell'algoritmo di Grover per risolvere i problemi matematici, vedere il notebook Jupyter di ricerca di Grover nella raccolta di esempi dell'area di lavoro di Azure Quantum (è necessario un account Azure) o vedere questa esercitazione per implementare l'algoritmo di ricerca di Grover.

Per altri esempi di algoritmi quantistici, vedere gli esempi di codice.

Apprendimento automatico quantistico

L'apprendimento automatico nei computer classici sta rivoluzionando il mondo della scienza e dell'impresa. Tuttavia, il costo di calcolo elevato del training dei modelli ostacola lo sviluppo e l'ambito del campo. L'area dell'apprendimento automatico quantistico esplora come definire e implementare il software quantistico che abilita l'apprendimento automatico che viene eseguito più rapidamente che nei computer classici.

Quantum Development Kit (QDK) include la libreria di Machine Learning quantistico che consente di eseguire esperimenti di Machine Learning quantistico/classico ibridi. La libreria include esempi ed esercitazioni e fornisce gli strumenti necessari per implementare un nuovo algoritmo quantistico-classico ibrido, il classificatore quantistico incentrato sul circuito, per risolvere i problemi di classificazione supervisionati.

In che modo il calcolo quantistico risolve i problemi?

I computer quantistici sono dispositivi meccanici quantistici controllabili che sfruttano le proprietà della fisica quantistica per eseguire calcoli. Per alcune attività di calcolo, il calcolo quantistico aumenta la velocità in modo esponenziale grazie a tre fenomeni della meccanica quantistica: sovrapposizione , interferenza ed entanglement.

Sovrapposizione

Si supponga di svolgere attività fisica nel proprio soggiorno. Ci si volta completamente a sinistra e quindi completamente a destra. Provare quindi a voltarsi a sinistra e a destra contemporaneamente. Non è possibile farlo, o almeno, non senza dividersi a metà. Ovviamente, non è possibile trovarsi contemporaneamente in entrambi questi stati. Non si può essere rivolti verso sinistra e verso destra allo stesso tempo.

Tuttavia, se si è una particella quantistica, è possibile avere una certa probabilità di essere rivolti verso sinistra E una certa probabilità di essere rivolti verso destra a causa di un fenomeno noto come sovrapposizione (denominato anche coerenza).

Proprio come i bit sono le unità fondamentali di informazioni nel calcolo classico, i qubit sono le unità fondamentali di informazioni nel calcolo quantistico. Anche se un bit, o cifra binaria, può avere un valore pari a 0 o 1, un qubit può avere un valore pari a 0, 1 o una sovrapposizione quantistica pari a 0 e 1.

A differenza delle particelle classiche, se due stati $A$ e $B$ sono stati quantistici validi di una particella quantistica, qualsiasi combinazione lineare degli stati è anche uno stato quantistico valido: $\text{qubit state}=\alpha A + \beta B$. Questa combinazione lineare di stati quantistici $A$ e $B$ è detta sovrapposizione. In questo caso, $\alpha$ e $\beta$ sono le ampiezze di probabilità rispettivamente di $A$ e $B$, in modo che $|\alpha|^{2} + |\beta|^{2} = 1$.

Solo i sistemi quantistici come quelli a ioni o circuiti superconduttori possono trovarsi negli stati di sovrapposizione che consentono di sfruttare la potenza del calcolo quantistico. Una particella quantistica, ad esempio un elettrone, ha la propria proprietà "rivolta verso sinistra o rivolta verso destra", ovvero spin, denominata su o giù, quindi lo stato quantistico di un elettrone è una sovrapposizione di "spin up" e "spin down".

In generale, per renderlo più paragonabile al calcolo binario classico, se un sistema quantistico può trovarsi in due stati quantistici, questi stati sono denominati stato 0 e 1 stato.

Qubit e probabilità

I computer classici archiviano ed elaborano le informazioni in bit, che possono avere uno stato di 1 o 0, ma mai entrambi. L'equivalente nel calcolo quantistico è il qubit. Un qubit è qualsiasi sistema quantistico che può trovarsi in una sovrapposizione di due stati quantistici, 0 e 1. A ogni stato quantico possibile è associata un'ampiezza di probabilità. Solo dopo aver misurato un qubit, il suo stato viene compresso nello stato 0 o 1, a seconda della probabilità associata; pertanto, uno degli stati possibili viene ottenuto con una certa probabilità.

La probabilità del qubit di collassare in un modo o nell'altro è determinata dall'interferenza quantistica. L'interferenza quantistica influisce sullo stato di un qubit per influenzare la probabilità di un determinato risultato durante la misura e questo stato probabilistico è il punto di eccellenza della potenza del calcolo quantistico.

Ad esempio, per due bit in un computer classico, ogni bit può archiviare un valore di 1 o 0 e vengono così archiviati insieme quattro valori possibili: 00, 01, 10e 11, ma solo uno di questi alla volta. Con due qubit in sovrapposizione, tuttavia, ogni qubit può essere 1 o 0 o entrambi, quindi è possibile rappresentare contemporaneamente gli stessi quattro valori. Con tre qubit è possibile rappresentare otto valori, con quattro qubit è possibile rappresentare 16 valori e così via.

Per altre informazioni, vedere il qubit nel calcolo quantistico.

Entanglement

Uno dei fenomeni più interessanti della meccanica quantistica è la capacità di due o più sistemi quantistici di diventare correlate tramite entanglement. L'entanglement è una correlazione quantistica tra sistemi quantistici. Quando i qubit diventano correlati tramite entanglement, formano un sistema globale, in modo che lo stato quantistico dei singoli sottosistemi non possa essere descritto in modo indipendente. Due sistemi sono entangled quando lo stato del sistema globale non può essere scritto come combinazione dello stato dei sottosistemi, in particolare, due sistemi sono entangled quando lo stato del sistema globale non può essere scritto come prodotto tensore degli stati dei sottosistemi. Uno stato del prodotto non contiene correlazioni.

I sistemi quantistici entangled mantengono questa correlazione anche se separati su distanze elevate. Ciò significa che qualsiasi operazione o processo applicato a un sottosistema è correlato anche agli altri sottosistemi. Poiché esiste una correlazione tra i qubit con entanglement, la misura dello stato di un qubit fornisce informazioni sullo stato degli altri qubit. Questa proprietà specifica è molto utile nel calcolo quantistico.

Nota

Non tutte le correlazioni tra le misure di due qubit implicano che due qubit siano entangled. Oltre alle correlazioni quantistiche, esistono anche correlazioni classiche. La differenza tra correlazioni classiche e quantistiche è sottile, ma è essenziale per la velocità offerta dai computer quantistici. Per altre informazioni, vedere Informazioni sulle correlazioni classiche.

Per altre informazioni, vedere l'esercitazione sull'entanglement quantistico con Q# e Azure Quantum.

Computer e simulatori quantistici a confronto

Un computer quantistico è un computer che combina la potenza del calcolo classico e di quello quantistico. I computer quantistici correnti corrispondono a un modello ibrido: un computer classico che controlla un processore quantistico.

Lo sviluppo di computer quantistici è ancora in fase di sviluppo. L'hardware quantistico è costoso e la maggior parte dei sistemi si trova in università e laboratori di ricerca. Laddove i computer classici usano chip noti basati su silicio, i computer quantistici usano sistemi quantistici, ad esempio atomi, ioni, fotoni o elettroni. La tecnologia sta avanzando, tuttavia, ed è disponibile un accesso limitato al cloud pubblico ai sistemi quantistici.

Azure Quantum consente di creare algoritmi quantistici per più piattaforme contemporaneamente, mantenendo al tempo stesso la flessibilità per ottimizzare gli stessi algoritmi per sistemi specifici. È possibile scegliere tra molti linguaggi di programmazione, ad esempio Qiskit, Cirq ed Q# eseguire gli algoritmi in più sistemi quantistici. In Azure Quantum è facile esplorare contemporaneamente i sistemi quantistici odierni ed essere pronti per i sistemi quantistici ridimensionati del futuro.

Suggerimento

I primi utenti ottengono automaticamente $ 500 (USD)Crediti Azure Quantum da usare con ogni provider hardware quantistico partecipante. Se sono stati utilizzati tutti i crediti e sono necessari crediti aggiuntivi, è possibile candidarsi al programma Azure Quantum Credits.

Hardware di Azure Quantum

Un computer quantistico ha tre parti principali:

  • Dispositivo che ospita i qubit
  • Metodo per eseguire operazioni quantistiche (note anche come gate quantistici) sui qubit e misurarli
  • Un computer classico per eseguire un programma e inviare istruzioni

I qubit sono fragili e altamente sensibili all'interferenza ambientale. Per alcuni metodi di archiviazione dei qubit, l'unità che ospita i qubit viene mantenuta a una temperatura appena sopra zero assoluto per massimizzare la coerenza. Altri tipi di alloggiamento dei qubit usano una camera sottovuoto per ridurre al minimo le vibrazioni e stabilizzare i qubit.
Le operazioni possono essere eseguite usando una varietà di metodi, tra cui microonde, laser e tensione, a seconda del tipo di qubit.

Per funzionare correttamente, i computer quantistici devono affrontare numerose problematiche. La correzione degli errori nei computer quantistici rappresenta un problema significativo e la scalabilità, ovvero l'aggiunta di più qubit, aumenta la frequenza degli errori. A causa di queste limitazioni, la disponibilità di un PC quantistico per il desktop è una prospettiva molto lontana nel futuro, ma un computer quantistico commerciale per laboratorio è una possibilità più vicina.

Microsoft collabora con le aziende hardware quantistico per fornire l'accesso al cloud all'hardware quantistico. Con la piattaforma Azure Quantum e QDK, è possibile esplorare ed eseguire programmi quantistici su diversi tipi di hardware quantistico. Queste sono le destinazioni quantistiche attualmente disponibili:

  • Quantinuum: sistema a trappola ionica con qubit ad alta fedeltà completamente connessi e la possibilità di eseguire misurazioni a metà circuito.
  • IonQ: computer quantistici a ion riconfigurabili dinamicamente per un massimo di 23 qubit completamente connessi, che consentono di eseguire un gate a due qubit tra qualsiasi coppia.
  • Rigetti: processori superconduttori basati su gate che usano Quantum Intermediate Representation (QIR) per abilitare la bassa latenza e l'esecuzione parallela.

Per altre informazioni, vedere l'elenco completo delle destinazioni di calcolo quantistico.

Simulatori di Azure Quantum

Per il momento, l'uso di hardware quantistico reale è limitato per problemi di risorse e budget. I simulatori quantistici servono allo scopo di eseguire algoritmi quantistici, semplificando il test e il debug di un algoritmo e quindi eseguirlo su hardware reale con la certezza che il risultato corrisponda alle aspettative.

I simulatori quantistici sono programmi software eseguiti in computer classici e consentono di eseguire e testare programmi quantistici in un ambiente che stima la reazione dei qubit a diverse operazioni, semplificando il test e il debug di un algoritmo e quindi eseguirlo su hardware reale con la certezza che il risultato corrisponda alle aspettative.

Quantum Development Kit (QDK) include classi diverse di simulatori quantistici che rappresentano diversi modi per simulare lo stesso algoritmo quantistico, ad esempio un simulatore di tipo sparse per simulare sistemi di grandi dimensioni, un simulatore di rumore per simulare algoritmi quantistici in presenza di rumore. Per altre informazioni, vedere Simulatori quantistici.

Inoltre, ognuno dei partner hardware quantistici di Microsoft offre un simulatore quantistico come destinazione.

Se si ha un account Azure, nella raccolta di esempi dell'area di lavoro di Azure Quantum sono disponibili diversi esempi di Jupyter Notebook che usano simulatori quantistici. Informazioni su come iniziare a usare Q# e un notebook di Azure Quantum.

Passaggi successivi