Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De Microsoft Quantum-resource-estimator maakt deel uit van de Microsoft Quantum Development-kit (QDK). In dit artikel leert u hoe u de kwantumresource-estimator installeert en een schatting uitvoert voor een eenvoudig Q#-programma met een standaardarchitectuurmodel.
Warning
De resource-estimator in de QDK-extensie voor VS Code wordt binnenkort afgeschaft. Gebruik de qdk.qrePython module om een schatting van resources uit te voeren.
Prerequisites
Als u de stappen in dit artikel wilt volgen, moet het volgende zijn geïnstalleerd:
- De nieuwste versie van Visual Studio Code (VS Code)
- De nieuwste versie van de QDK-extensie die is geïnstalleerd in VS Code
- De nieuwste versies van de Python extensie en Jupyter-extensie in VS Code
De kwantumresource-estimator installeren
De resource-estimator is beschikbaar via de qdk.qrePython module. Als u de resource-estimator wilt gebruiken, installeert u de nieuwste versie van het qdkPython pakket met de qre extra:
pip install --upgrade "qdk[qre]"
Tip
U hoeft geen Azure account te hebben om de resource-estimator te gebruiken.
Een eenvoudige schatting van resources uitvoeren met standaardinstellingen
Als u een eenvoudige resourceraming wilt uitvoeren, geeft u een toepassingsmodel, een hardwarearchitectuurmodel en een foutcorrectiemodel door aan de resource-estimator. Voer vervolgens de resource-estimator uit om de resultaten op te halen. In het volgende voorbeeld wordt de resource-estimator uitgevoerd vanuit Jupyter Notebook in VS Code.
Een toepassingsmodel maken
Voor dit voorbeeld gebruikt u het 1D Ising-modelalgoritmen uit de Q#-voorbeelden in de QDK VS Code-extensie. Of gebruik een van uw bestaande Q#-programma's.
Een Q#-programma schrijven
- Maak in VS Code een nieuw tekstbestand en sla het bestand op als
ising-1d-sample.qs. - Voer op de eerste regel van het bestand een voorbeeld in om de lijst met Q#-voorbeeldprogramma's weer te geven.
- Kies het voorbeeld Ising Model (Simple 1D) en sla het bestand vervolgens op.
Een app maken
Gebruik het Q#-programma om een toepassingsmodel te maken voor de resource-estimator.
Als u een nieuw Jupyter Notebook-bestand wilt maken in VS Code, opent u het opdrachtenpalet en voert u Create: New Jupyter Notebook in.
Evalueer in de eerste notebookcel het Q#-programma.
from pathlib import Path from qdk import qsharp qsharp.eval(Path("ising-1d-sample.qs").read_text(encoding="utf-8"))Met deze code wordt een
Mainobject gemaakt in deqdk.codenaamruimte die het Q#-programma bevat.Maak in een nieuwe cel een resource-estimator-toepassing op basis van het Q#-programma.
import qdk from qdk.qre.application import QSharpApplication app = QSharpApplication(qdk.code.Main)
Een architectuurmodel maken
Gebruik voor de hardwarearchitectuur het standaardmodel GateBased waarmee de resource-estimator wordt geleverd. Het GateBased model vereist invoer voor foutfrequentie, poorttijd en meettijd.
Maak in een nieuwe cel een architectuur op basis van een poort met een foutpercentage van $10^{-4}$, een poorttijd van 100 ns en een meettijd van 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)
Een schatting uitvoeren
Als u een schatting wilt uitvoeren, gebruikt u de estimate functie en geeft u de volgende invoer door:
- Application
- Architecture
- Opvraag van fysieke instructieset (ISA)
- Maximum aantal fouten
De ISA-query vertelt de resource-estimator welke combinaties van foutcodes en T factory-distillatieprotocollen moeten worden geëvalueerd. De resource-estimator vindt in die combinaties de voor de Pareto-grens geoptimaliseerde resultatenset. Gebruik voor dit voorbeeld het standaardprotocol voor SurfaceCode QEC en RoundBasedFactory distillatie dat bij de resource-estimator wordt meegeleverd.
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)```
De resultaten weergeven
Als u de optimale combinaties van het aantal fysieke qubits en de uitvoeringstijd van het programma wilt weergeven, gebruikt u de as_frame methode om de schattingsresultaten weer te geven in een Pandas DataFrame.
results.as_frame()
Om de resultaten te plotten, gebruikt u de methode plot_estimates en geeft u een eenheid voor de uitvoeringstijd op.
from qdk.qre import plot_estimates
plot_estimates(results, figsize=(6, 4), runtime_unit="ms")