Compartir a través de


Comparación de varias configuraciones de target parámetros con el estimador de recursos

En este artículo, aprenderá a usar el estimador de recursos de Microsoft Quantum para ejecutar estimaciones para varias configuraciones de target parámetros al mismo tiempo y comparar los resultados de cada configuración.

Para comparar las estimaciones de recursos de diferentes configuraciones de target parámetros, puede ejecutar una estimación cada vez o puede ejecutar un trabajo por lotes que calcule los requisitos de recursos de todas las configuraciones. Las estimaciones por lotes son útiles porque muestran los resultados de todas las configuraciones juntas en tablas y gráficos visuales.

Para obtener información sobre cómo ejecutar el estimador de recursos, consulte Diferentes formas de usar el estimador de recursos.

Requisitos previos

Ejecución de varias configuraciones con el estimador de recursos

Puede ejecutar varias configuraciones de target parámetros como un único trabajo por lotes en Q# con Jupyter Notebook en VS Code. Para ejecutar una estimación por lotes, pase al parámetro params de la función qsharp.estimate una lista de diccionarios de parámetros target.

En el ejemplo siguiente se muestra cómo ejecutar dos configuraciones de target parámetros como un único trabajo por lotes para un Q# algoritmo que coloca un cúbit en un estado de superposición igual. La primera configuración usa los parámetros predeterminados target y la segunda configuración usa el qubit_maj_ns_e6 parámetro qubit y el floquet_code esquema de corrección de errores cuánticos (QEC).

Para comparar las estimaciones del Q# programa, siga estos pasos:

  1. En VS Code, abra el menú Ver y elija Paleta de comandos.

  2. Ingrese Crear: Nuevo cuaderno de Jupyter.

  3. Para importar el qsharp módulo de Python, ejecute el código siguiente en la primera celda:

    from qdk import qsharp
    
  4. Escriba el Q# programa en una nueva %%qsharp celda:

    %%qsharp
    
    operation Main() : Result {
        use qubit = Qubit();
        H(qubit);
        MResetZ(qubit)
    }
    
  5. Cree una lista de diccionarios de conjuntos de parámetros y, a continuación, pase la lista como params argumento a la qsharp.estimate función . Ejecute el código siguiente en una nueva celda:

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

Aparece un resumen de los resultados de la estimación de recursos en una tabla para poder comparar fácilmente cómo se ejecuta el algoritmo con diferentes tipos de cúbits y esquemas de corrección de errores.

Ejecución de un trabajo por lotes con la EstimatorParams clase

También puede construir una lista de parámetros de estimación target como atributos de la EstimatorParams clase . En el código siguiente se muestra cómo procesar por lotes seis configuraciones de parámetros de target como un solo trabajo.

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:

Si experimenta problemas al trabajar con el estimador de recursos, consulte la página Solución de problemas o póngase en contacto con AzureQuantumInfo@microsoft.com.