Partager via


Comment comparer plusieurs configurations de paramètres target avec l’estimateur de ressources

Dans cet article, vous allez apprendre à exécuter plusieurs configurations de paramètres target en même temps et à les comparer à l’aide de l’estimateur de ressources Azure Quantum .

L’estimateur de ressources Azure Quantum vous permet d’exécuter plusieurs configurations de paramètres target en tant que tâche unique pour éviter de réexécuter plusieurs travaux sur le même programme quantique.

Un travail peut se compose de plusieurs éléments ou configurations de paramètres target. Certains scénarios où vous souhaiterez peut-être exécuter plusieurs éléments en tant que tâche unique :

  • Exécutez plusieurs paramètres target avec des arguments d'opération identiques dans tous les éléments.
  • Exécutez plusieurs paramètres target avec des arguments d'opération différents dans tous les éléments.
  • Comparez facilement plusieurs résultats dans un format tabulaire.
  • Comparez facilement plusieurs résultats dans un graphique.

Pour plus d’informations sur l’exécution de l’estimateur de ressources, consultez différentes façons d’utiliser l’estimateur de ressources.

Prérequis

Exécution de plusieurs configurations avec l’estimateur de ressources

L'exécution de plusieurs configurations de paramètres target en un seul travail dans Q# peut être réalisée dans un Jupyter Notebook dans VS Code. Vous pouvez transmettre une liste de paramètres target au paramètre params de la fonction qsharp.estimate.

L’exemple suivant montre comment exécuter deux configurations de paramètres target en tant que tâche unique. La première configuration utilise les paramètres par défaut target , et la deuxième configuration utilise le qubit_maj_ns_e6 paramètre qubit et le floquet_code schéma QEC.

Dans le même bloc-notes Jupyter de votre Q# programme, ajoutez une nouvelle cellule et exécutez le code suivant :

result_batch = qsharp.estimate("RunProgram()", params=
                [{}, # Default parameters
                {
                    "qubitParams": {
                        "name": "qubit_maj_ns_e6"
                    },
                    "qecScheme": {
                        "name": "floquet_code"
                    }
                }])
result_batch.summary_data_frame(labels=["Gate-based ns, 10⁻³", "Majorana ns, 10⁻⁶"])

Vous pouvez également construire une liste de paramètres d’estimation target à l’aide de la EstimatorParams classe. Le code suivant montre comment traiter six configurations de paramètres target en tant que tâche unique.

from qsharp.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("RunProgram()", params=params).summary_data_frame(labels=labels)

Remarque

Si vous rencontrez un problème lors de l’utilisation de l’estimateur de ressources, consultez la page Résolution des problèmes ou contactez AzureQuantumInfo@microsoft.com.