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 parâmetros target como um único trabalho para evitar a repetição de 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 parâmetros target com mesmos argumentos de operação em todos os itens.
  • Execute vários 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

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

A execução de várias configurações de parâmetros de target como um único trabalho em Q# pode ser feita numa 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:

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 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)

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.