Condividi tramite


Come confrontare più configurazioni di target parametri con lo strumento di stima delle risorse

Questo articolo illustra come usare lo strumento di stima delle risorse Di Microsoft Quantum per eseguire stime per più configurazioni ditarget parametri contemporaneamente e confrontare i risultati per ogni configurazione.

Per confrontare le stime delle risorse per configurazioni diverse dei parametri, è possibile eseguire una stima alla volta oppure eseguire un processo batch che stima i requisiti delle target risorse per tutte le configurazioni. Le stime batch sono utili perché visualizzano i risultati per tutte le configurazioni in tabelle e grafici visivi.

Per informazioni su come eseguire lo strumento di stima delle risorse, vedere Modi diversi per usare lo strumento di stima delle risorse.

Prerequisiti

Eseguire più configurazioni con lo strumento di stima delle risorse

È possibile eseguire più configurazioni di target parametri come singolo processo batch in Q# con Jupyter Notebook in VS Code. Per eseguire una stima batch, passare un elenco di target dizionari di parametri al params parametro della qsharp.estimate funzione.

Nell'esempio seguente viene illustrato come eseguire due configurazioni di target parametri come singolo processo batch per un Q# algoritmo che inserisce un qubit in uno stato di sovrapposizione uguale. La prima configurazione usa i parametri predefiniti target e la seconda configurazione usa il qubit_maj_ns_e6 parametro qubit e lo floquet_code schema QEC (Quantum Error Correction).

Per confrontare le stime per il Q# programma, seguire questa procedura:

  1. In VS Code aprire il menu Visualizza e scegliere Riquadro comandi.

  2. Immettere Crea: Nuovo Jupyter Notebook.

  3. Per importare il qsharp modulo Python, eseguire il codice seguente nella prima cella:

    from qdk import qsharp
    
  4. Scrivere il Q# programma in una nuova %%qsharp cella:

    %%qsharp
    
    operation Main() : Result {
        use qubit = Qubit();
        H(qubit);
        MResetZ(qubit)
    }
    
  5. Creare un elenco di dizionari di set di parametri e quindi passare l'elenco params come argomento alla funzione qsharp.estimate. Eseguire il codice seguente in una nuova cella:

    defaultParams = {} # Use an empty dictionary for the default input parameter set
    customParams = {"qubitParams": {"name": "qubit_maj_ns_e6"},
                    "qecScheme": {"name": "floquet_code"}
                    }
    
    result_batch = qsharp.estimate("Main()", params=[defaultParams, customParams])
    
    result_batch.summary_data_frame(labels=["Gate-based ns, 10⁻³", "Majorana ns, 10⁻⁶"])
    

Un riepilogo dei risultati della stima delle risorse viene visualizzato in una tabella in modo da poter confrontare facilmente il modo in cui l'algoritmo viene eseguito con diversi tipi di qubit e schemi di correzione degli errori.

Eseguire un processo batch con la EstimatorParams classe

È anche possibile costruire un elenco di parametri di stima target come attributi della EstimatorParams classe . Il codice seguente illustra come eseguire il batch di sei configurazioni di parametri target come singolo processo.

from qdk import qsharp
from qdk.estimator import EstimatorParams, QubitParams, QECScheme

labels = ["Gate-based µs, 10⁻³", "Gate-based µs, 10⁻⁴", "Gate-based ns, 10⁻³", "Gate-based ns, 10⁻⁴", "Majorana ns, 10⁻⁴", "Majorana ns, 10⁻⁶"]

params = EstimatorParams(num_items=6)
params.error_budget = 0.333
params.items[0].qubit_params.name = QubitParams.GATE_US_E3
params.items[1].qubit_params.name = QubitParams.GATE_US_E4
params.items[2].qubit_params.name = QubitParams.GATE_NS_E3
params.items[3].qubit_params.name = QubitParams.GATE_NS_E4
params.items[4].qubit_params.name = QubitParams.MAJ_NS_E4
params.items[4].qec_scheme.name = QECScheme.FLOQUET_CODE
params.items[5].qubit_params.name = QubitParams.MAJ_NS_E6
params.items[5].qec_scheme.name = QECScheme.FLOQUET_CODE

qsharp.estimate("Main()", params=params).summary_data_frame(labels=labels)

Nota

Se si verificano problemi quando si usa lo strumento di stima delle risorse, vedere la pagina Risoluzione dei problemi o contattare AzureQuantumInfo@microsoft.com.