Partilhar via


Como comparar várias configurações de parâmetros de target com o Resource Estimator

Neste artigo, você aprenderá a executar várias configurações de parâmetros de target ao mesmo tempo e compará-las usando o Azure Quantum Resource Estimator.

O Azure Quantum Resource Estimator permite executar várias configurações de target parâmetros como um único trabalho para que você não precise executar novamente vários trabalhos no mesmo programa quântico.

Um trabalho pode consistir em vários itens ou configurações de parâmetros target. Alguns cenários em que você pode querer executar vários itens como um único trabalho:

  • Execute vários target parâmetros com os mesmos argumentos de operação em todos os itens.
  • Execute múltiplos parâmetros target com diferentes argumentos de operação em todos os itens.
  • Compare facilmente vários resultados em formato tabular.
  • Compare facilmente vários resultados em um gráfico.

Para obter informações sobre como executar o Estimador de Recursos, consulte Diferentes maneiras de usar o Estimador de Recursos.

Pré-requisitos

Execute várias configurações com o Resource Estimator

Você pode executar várias configurações de target parâmetros como um único trabalho com Q#o Jupyter Notebook no VS Code. Você pode passar uma lista de parâmetros target para o parâmetro params da função qsharp.estimate.

O exemplo a seguir mostra como executar duas configurações de parâmetros target como um único trabalho. A primeira configuração usa os parâmetros padrão target , e a segunda configuração usa o qubit_maj_ns_e6 parâmetro qubit e o floquet_code esquema QEC.

No mesmo Jupyter Notebook do seu Q# programa, adicione uma nova célula e execute o seguinte código:

from qdk import qsharp

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⁻⁶"])

Você também pode construir uma lista de parâmetros de estimativa target usando a EstimatorParams classe. O código a seguir mostra como agrupar seis configurações de parâmetros target como um único trabalho.

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

Nota

Se tiver algum problema ao trabalhar com o Estimador de Recursos, consulte a página Resolução de problemas ou contacte AzureQuantumInfo@microsoft.com.