Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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:
- Versione più recente di Visual Studio Code (VS Code)
- La versione più recente dell'estensione QDK installata in VS Code
- Le versioni più recenti dell'Pythonestensione e dell'estensione Jupyter in VS Code
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#
- In VS Code creare un nuovo file di testo e salvare il file come
ising-1d-sample.qs. - Nella prima riga del file, immetti sample per visualizzare l'elenco dei programmi di esempio di Q#.
- 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.
Per creare un nuovo file Jupyter Notebook in VS Code, aprire il riquadro comandi e immettere Crea: Nuovo Jupyter Notebook.
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
Mainnello spazio dei nomiqdk.codeche contiene il programma in Q#.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")