Come installare e usare lo strumento di stima delle risorse quantum di Microsoft

Lo strumento di stima delle risorse quantum Microsoft fa parte del Microsoft Quantum Development Kit (QDK). Questo articolo illustra come installare lo strumento di stima delle risorse quantistico ed eseguire una stima per un semplice programma Q# con un modello di architettura predefinito.

Avvertimento

Lo strumento di stima delle risorse nell'estensione QDK per VS Code verrà deprecato a breve. Usare il modulo per eseguire la qdk.qrePython stima delle risorse.

Prerequisites

Per seguire la procedura descritta in questo articolo, è necessario avere installato quanto segue:

Installare lo stimatore di risorse quantistiche

Lo strumento di stima delle risorse è disponibile tramite il qdk.qrePython modulo . Per usare lo strumento di stima delle risorse, installare la versione più recente della qdkPython libreria con gli elementi aggiuntivi qre :

pip install --upgrade "qdk[qre]"

Tip

Non è necessario avere un account Azure per usare lo strumento di stima delle risorse.

Eseguire una stima di risorse semplice con le impostazioni predefinite

Per eseguire una stima di risorse di base, passare un modello di applicazione, un modello di architettura hardware e un modello di correzione degli errori allo strumento di stima delle risorse. Eseguire quindi lo strumento di stima delle risorse per ottenere i risultati. L'esempio seguente esegue lo strumento di stima delle risorse da Jupyter Notebook in VS Code.

Creare un modello di applicazione

Per questo esempio, usa l'algoritmo del modello di Ising 1D presente negli esempi Q# nell'estensione QDK per VS Code. In alternativa, usare uno dei programmi Q# esistenti.

Scrivere un programma Q#

  1. In VS Code creare un nuovo file di testo e salvare il file come ising-1d-sample.qs.
  2. Nella prima riga del file, immetti sample per visualizzare l'elenco dei programmi di esempio di Q#.
  3. Scegli esempio Ising Model (Simple 1D), quindi salva il file.

Creare un'applicazione

Usare il programma Q# per creare un modello di applicazione per lo strumento di stima delle risorse.

  1. Per creare un nuovo file Jupyter Notebook in VS Code, aprire il riquadro comandi e immettere Crea: Nuovo Jupyter Notebook.

  2. Nella prima cella del notebook, valuta il programma Q#.

    from pathlib import Path
    from qdk import qsharp
    
    qsharp.eval(Path("ising-1d-sample.qs").read_text(encoding="utf-8"))
    

    Questo codice crea un oggetto Main nello spazio dei nomi qdk.code che contiene il programma in Q#.

  3. In una nuova cella creare un'applicazione di stima delle risorse dal programma Q#.

    import qdk
    from qdk.qre.application import QSharpApplication
    
    app = QSharpApplication(qdk.code.Main)
    

Creare un modello di architettura

Per l'architettura hardware, usare il modello predefinito GateBased fornito dallo strumento di stima delle risorse. Il GateBased modello richiede input per la frequenza degli errori, il tempo di controllo e il tempo di misurazione.

In una nuova cella, crea un'architettura basata su gate con un tasso di errore di $10^{-4}$, un tempo di gate di 100 ns e un tempo di misurazione di 500 ns.

from qdk.qre.models import GateBased

# Times are in units of nanoseconds
arch = GateBased(error_rate=1e-4, gate_time=100, measurement_time=500)

Eseguire una stima

Per eseguire una stima, usare la estimate funzione e passare gli input seguenti:

  • Application
  • Architecture
  • Interrogazione del set di istruzioni fisico (ISA)
  • Frequenza massima degli errori

La query ISA indica allo strumento di stima delle risorse quali combinazioni di codice di correzione degli errori e protocolli di crittografia della factory T da valutare. Lo strumento di stima delle risorse trova il set di risultati ottimizzato per la frontiera Pareto da tali combinazioni. Per questo esempio, usa il QEC predefinito SurfaceCode e il protocollo di distillazione RoundBasedFactory forniti con lo stimatore delle risorse.

from qdk.qre import estimate
from qdk.qre.models import SurfaceCode, RoundBasedFactory

results = estimate(app, arch, isa_query=SurfaceCode.q() * RoundBasedFactory.q(), max_error=0.01)```

Visualizzare i risultati

Per visualizzare le combinazioni ottimali di numero di qubit fisici e di runtime del programma, usare il as_frame metodo per visualizzare i risultati della stima in un dataframe pandas.

results.as_frame()

Per rappresentare graficamente i risultati, utilizzare il metodo plot_estimates e specificare un'unità per il tempo di esecuzione.

from qdk.qre import plot_estimates

plot_estimates(results, figsize=(6, 4), runtime_unit="ms")