Condividi tramite


Che cosa sono Q# e Azure Quantum Development Kit?

Azure Quantum Development Kit (QDK) è l'SDK necessario per l'interfaccia con il servizio Azure Quantum. Quantum Development KitCon , è possibile compilare programmi quantistici eseguiti su hardware quantistico in Azure Quantum.

Azure QDK è l'unico kit di sviluppo pronto per il calcolo quantistico a tolleranza di errore (FTQC). Con QDK, è possibile:

  • eseguire il debug del codice: Offre un debugger di calcolo quantistico in grado di eseguire il codice quantistico e classico. Abbinato al simulatore sparse in memoria, offre una simulazione veloce di fino a migliaia di qubit logici.

  • Scegliere la piattaforma: QDK viene eseguito nel Web browser senza alcuna installazione e usare l'estensione VS Code nel computer PC, Mac o Linux.

  • Scrivere il codice più velocemente: Evidenziazione della sintassi e completamento intelligente del codice con IntelliSense e scrittura di interi blocchi di codice assistito con Copilot.

  • Eseguire nell'hardware preferito: QDK si integra perfettamente con Azure Quantum per eseguire gli algoritmi in un'ampia gamma di computer quantum e simulatori.

  • Progettazione per FTQC: abbinata allo strumento di stima delle risorse di Azure Quantum all'avanguardia, offre un linguaggio progettato appositamente per il calcolo quantistico, Q#, consentendo di pensare alle architetture qubit, astraendo l'hardware e consentendo di combinare tutti i calcoli classici e quantistici eseguiti dal computer quantistico in uso target.

Suggerimento

Per accelerare il percorso di calcolo quantistico, vedere Codice con Azure Quantum, una funzionalità univoca del sito Web di Azure Quantum. Qui è possibile eseguire esempi predefiniti Q# o programmi personalizzati Q# , generare nuovo Q# codice dalle richieste, aprire ed eseguire il codice in VS Code per il Web con un solo clic e porre a Copilot eventuali domande sul calcolo quantistico.

Il linguaggio di programmazione quantistico Q#

QDK include il linguaggio di programmazione quantistico , un linguaggio Q#di programmazione open source di alto livello che consente di concentrare il lavoro a livello di algoritmo per creare programmi quantistici.

Q# è un linguaggio di programmazione open source di alto livello per lo sviluppo e l'esecuzione di algoritmi quantistici. Fa parte di Quantum Development Kit (QDK) ed è progettato per essere indipendente dall'hardware, ridimensionare fino all'intera gamma di applicazioni quantistiche e ottimizzare l'esecuzione.

Come linguaggio di programmazione, Q# disegna elementi familiari da Python, C# e F# e supporta un modello procedurale di base per la scrittura di programmi con cicli, istruzioni if/then e tipi di dati comuni. Introduce anche nuove strutture di dati e operazioni specifiche del quantum, ad esempio repeat-until-success, che consentono l'integrazione di calcoli quantistici e classici. Ad esempio, il controllo del flusso di un programma classico può essere basato sul risultato di una misurazione quantistica.

Quando si scrivono algoritmi, un linguaggio di programmazione quantistico deve soddisfare i requisiti seguenti per il linguaggio, il compilatore e il runtime:

  • Qubit astratti. Gli algoritmi quantistici usano qubit non associati a hardware o layout specifici. Il compilatore e il runtime gestiscono il mapping dai qubit del programma ai qubit fisici.
  • Calcolo quantistico e classico. La possibilità di eseguire calcoli classici e quantistici è essenziale in un computer quantistico universale.
  • Rispettare le leggi della fisica. Gli algoritmi quantistici seguono le regole della fisica quantistica. Ad esempio, non possono copiare o accedere direttamente allo stato del qubit.

Per altre informazioni, vedere la Guida dell'utente del Q# linguaggio di programmazione quantistica.

Introduzione ad Azure Quantum Development Kit

Esistono più modi per iniziare a usare la programmazione quantistica. È possibile scegliere l'opzione più adatta alle proprie esigenze.

Suggerimento

Gli utenti per la prima volta ottengono automaticamente crediti Azure Quantum gratuiti per l'uso con ogni provider di hardware quantistico partecipante. Se sono stati utilizzati tutti i crediti e sono necessari crediti aggiuntivi, è possibile candidarsi al programma Azure Quantum Credits.

Sito Web di Azure Quantum

Il sito Web di Azure Quantum è il modo più semplice per iniziare a usare la programmazione quantistica. Con l'editor di codice online nel sito Web di Azure Quantum, è possibile eseguire Q# il codice nel browser senza alcuna configurazione necessaria e chiedere assistenza a Copilot. Con un clic nell'editor di codice online, è possibile aprire il codice in VS Code sul Web e continuare a lavorare in un ambiente quantistico preconfigurato gratuitamente.

Nota

Il sito Web di Azure Quantum è gratuito e non richiede un account Azure.

Esempi nel portale di Azure Quantum

Per iniziare a praticare e scrivere i Q# programmi senza installare software aggiuntivo, è possibile usare i notebook di Jupyter ospitati disponibili nell'area di lavoro di Azure Quantum nel portale di Azure. La raccolta di esempi contiene una raccolta di esempi di notebook con annotazioni: selezionare l'esempio da esplorare ed eseguirlo in simulatori basati sul cloud o in computer quantistici reali.

Nota

Per usare i notebook di Jupyter ospitati, è necessario un account Azure. Se non si ha un account Azure, è possibile creare gratuitamente un account.

Ambiente di sviluppo locale

Se si preferisce un ambiente di sviluppo locale, è possibile installare l'estensione Azure QDK per Visual Studio Code. L'estensione Azure QDK offre un ambiente di sviluppo completo per Q#, tra cui evidenziazione della sintassi, feedback sulla codifica in tempo reale e debug.

Per iniziare a usare l'estensione Azure QDK, vedere l'esercitazione seguente.

Suggerimento

QDK include un set di esempi predefiniti Q# che è possibile usare per altre informazioni sul Q# calcolo quantistico e . Per visualizzare gli esempi, aprire un nuovo Q# file e digitare sample, quindi selezionare l'esempio da visualizzare nell'elenco delle opzioni.

Flusso di lavoro di sviluppo quantistico

Il diagramma seguente illustra le fasi attraverso le quali un programma quantistico passa dall'idea all'implementazione completa in Azure Quantum e gli strumenti offerti per ogni fase.

Diagramma che mostra il flusso di lavoro dello sviluppo di programmazione quantistica.

Scegliere l'ambiente di sviluppo in uso

Eseguire i programmi quantistici nell'ambiente di sviluppo preferito. È possibile usare l'editor di codice online nel sito Web di Azure Quantum, i notebook Jupyter ospitati disponibili nell'area di lavoro di Azure Quantum nell'portale di Azure o nel proprio ambiente di sviluppo locale.

Scrivere il programma quantistico

QDK offre supporto per Q#, ma anche per i linguaggi Qiskit e Cirq per il calcolo quantistico.

Per iniziare, è possibile seguire le Q# esercitazioni ed esplorare concetti quantistici, ad esempio sovrapposizione, entanglement, algoritmo quantistico di Grover e altri fenomeni quantistici.

Integrazione con Python

QDK consente di integrare Q# programmi con Python. È possibile usare un programma Python per chiamare Q# le operazioni.

Stimare le risorse

Prima di eseguire l'hardware quantistico, è necessario determinare se il programma può essere eseguito su hardware esistente e quante risorse utilizzerà.

Azure Quantum Resource Estimator consente di valutare le decisioni dell'architettura, confrontare le tecnologie qubit e determinare le risorse necessarie per eseguire un determinato algoritmo quantistico. È possibile scegliere tra protocolli a tolleranza di errore predefiniti e specificare presupposti del modello qubit fisico sottostante.

Per altre informazioni, vedere Eseguire la prima stima delle risorse.

Nota

Lo strumento di stima delle risorse di Azure Quantum è gratuito e non richiede un account Azure.

Eseguire il programma nel simulatore

Quando si compila ed esegue un programma quantistico, QDK crea un'istanza del simulatore quantistico e vi passa il Q# codice. Il simulatore usa il codice Q# per creare i qubit (simulazioni di particelle quantistiche) e applicare le trasformazioni per modificarne lo stato. I risultati delle operazioni quantistiche nel simulatore vengono quindi restituiti al programma. L'isolamento del codice Q# nel simulatore garantisce che gli algoritmi seguano le leggi della fisica quantistica e possano essere eseguiti correttamente nei computer quantistici.

Inviare processi al servizio Azure Quantum

È possibile inviare i Q# programmi (noti anche come processi) ad Azure Quantum tramite l'ambiente di sviluppo preferito, sia in locale che online. Per altre informazioni, vedere come inviare Q# processi. È anche possibile eseguire e inviare circuiti quantistici scritti in linguaggi Qiskit e Cirq.

Azure Quantum offre alcuni degli hardware quantistici più interessanti e diversificati attualmente disponibili dai leader del settore. Vedere Provider di calcolo quantistico per l'elenco corrente dei provider hardware supportati.

Nota

L'emulatoretarget Quantinuum H Series basato sul cloud è disponibile senza un account Azure. Per inviare un processo al resto dei provider di Azure Quantum, è necessario un account Azure e un'area di lavoro quantistica. Se non si ha un'area di lavoro quantistica, vedere Creare un'area di lavoro di Azure Quantum.

Il diagramma seguente mostra il flusso di lavoro di base dopo l'invio del processo:

Diagramma che mostra il flusso di lavoro dopo l'invio di un processo ad Azure Quantum.

Per altre informazioni, le esercitazioni Quantum Katas offrono una buona introduzione ai concetti del calcolo quantistico, ad esempio le operazioni quantistiche comuni, e alla modifica dei qubit.