Compartilhar via


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

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

O Estimador de Recursos do Azure Quantum permite que você execute 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 talvez você queira 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 vários target parâmetros com argumentos de operação diferentes em todos os itens.
  • Compare facilmente vários resultados em um formato tabular.
  • Compare facilmente vários resultados em um gráfico.

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

Pré-requisitos

Executar várias configurações com o Avaliador de Recursos

Você pode executar várias configurações de target parâmetros como uma única tarefa no Q#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 colocar em lote 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)

Observação

Se você tiver algum problema ao trabalhar com o Avaliador de recursos, verifique a página