Che cosa sono Q# e Azure Quantum Development Kit?

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

Nota

Microsoft Quantum Development Kit (QDK classico) non sarà più supportato dopo il 30 giugno 2024. Se si è uno sviluppatore QDK esistente, è consigliabile passare al nuovo azure Quantum Development Kit (QDK moderno) per continuare a sviluppare soluzioni quantistiche. Per altre informazioni, vedere Eseguire la Q# migrazione del codice a QDK moderno.

QDK moderno è l'unico kit di sviluppo pronto per Fault-Tolerant Quantum Computing (FTQC). Con QDK moderno, è possibile:

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

  • Scegliere la piattaforma: Il QDK moderno viene eseguito nel Web browser senza alcuna installazione necessaria e con 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 l'hardware preferito: QDK si integra perfettamente con Azure Quantum per eseguire gli algoritmi in un'ampia gamma di computer quantistici e simulatori.

  • Progettare per ftqc: Abbinato allo strumento di stima delle risorse di Azure Quantum all'avanguardia, offre un linguaggio progettato in modo specifico per il calcolo quantistico, Q#e consente di pensare alle architetture qubit, astraendo l'hardware e consentendo di combinare il calcolo classico e quantistico eseguito 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. In questo caso, è 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 moderno 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 quantistice 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 quantistica 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 di 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

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.

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# 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

Se si vuole iniziare a praticare e scrivere i Q# programmi senza installare software aggiuntivo, è possibile usare i notebook 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 jupyter notebook 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 QDK moderna per Visual Studio Code. L'estensione QDK moderna offre un ambiente di sviluppo completo per Q#, tra cui l'evidenziazione della sintassi, il feedback della codifica in tempo reale e il debug.

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

Suggerimento

Il QDK moderno 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 di opzioni.

Flusso di lavoro di sviluppo quantistico

Il diagramma seguente illustra le fasi attraverso cui 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 nel portale di Azure o nel proprio ambiente di sviluppo locale.

Scrivere il programma quantistico

QDK offre il 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 come la sovrapposizione, l'entanglement, l'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 sull'hardware esistente e il numero di risorse che utilizzerà.

Azure Quantum Resource Estimator consente di valutare le decisioni architetturali, 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 i 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. Per l'elenco corrente dei provider hardware supportati, vedere Provider di calcolo quantistici .

Nota

L'emulatore targetQuantinuum 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.