Uso de estimaciones conocidas con el estimador de recursos

En este artículo, aprenderá a usar estimaciones calculadas previamente y a optimizar la ejecución del estimador de recursos de Azure Quantum.

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

Requisitos previos

Si quiere usar Python en VS Code, también necesita lo siguiente:

  • Instale la versión más reciente de las extensiones de Python y Jupyter para VS Code.

  • El paquete de Azure Quantum qsharp más reciente.

    python -m pip install --upgrade qsharp 
    

Uso de estimaciones conocidas para una operación

Si ya conoce algunas estimaciones de una operación, por ejemplo, de un documento publicado, una manera de reducir el tiempo de ejecución está tomando las estimaciones conocidas e incorporarlas al costo total del programa.

Algunos escenarios en los que es posible que desee realizar la estimación a partir de estimaciones calculadas previamente:

  • Quiere probar un algoritmo nuevo descrito en un documento para comprobar si mejora el rendimiento del programa. Puede tomar estimaciones del papel e incorporarlas al programa.
  • Quiere desarrollar el programa de arriba abajo, es decir, empezar a desarrollar desde la función principal y, a continuación, implementar niveles inferiores. Puede usar las estimaciones conocidas en el nivel superior con las estimaciones esperadas para todo el programa. A medida que avanza el proceso de desarrollo, los nuevos componentes comienzan a llamar a las estimaciones conocidas y las estimaciones esperadas se reemplazan por la implementación real. De esta manera, las estimaciones de todo el programa se conocen por adelantado y obtienen más precisión a medida que avanza el desarrollo.

Puede usar la AccountForEstimatesQ# operación para pasar estimaciones conocidas al estimador de recursos.

Nota

La operación especial es una operación AccountForEstimates intrínseca para el estimador de recursos. No es compatible con otra ejecución targets.

Por ejemplo, considere la siguiente Q# operación denominada FactoringFromLogicalCounts que toma una lista de estimaciones conocidas y una lista de cúbits.

open Microsoft.Quantum.ResourceEstimation;

operation FactoringFromLogicalCounts() : Unit {
    use qubits = Qubit[12581];

    AccountForEstimates(
        [TCount(12), RotationCount(12), RotationDepth(12),
         CczCount(3731607428), MeasurementCount(1078154040)],
        PSSPCLayout(), qubits);
}

La AccountForEstimates operación puede tomar los parámetros siguientes:

Funciones con AccountForEstimates Descripción
AuxQubitCount(amount : Int) Devuelve una tupla que se puede pasar a la AccountForEstimates operación para especificar que el número de cúbits auxiliares es igual a amount.
TCount(amount : Int) Devuelve una tupla que se puede pasar a la AccountForEstimates operación para especificar que el número de puertas T es igual a amount.
MeasurementCount(amount : Int) Devuelve una tupla que se puede pasar a la AccountForEstimates operación para especificar que el número de medidas es igual a .amount
RotationCount(amount : Int) Devuelve una tupla que se puede pasar a la AccountForEstimates operación para especificar que el número de rotaciones es igual a amount.
RotationDepth(amount : Int) Devuelve una tupla que se puede pasar a la AccountForEstimates operación para especificar que la profundidad de rotación es igual a .amount
CczCount(amount : Int) Devuelve una tupla que se puede pasar a la AccountForEstimates operación para especificar que el número de puertas CCZ es igual a amount.
PSSPCLayout() Indica el diseño secuencial de síntesis paralela Pauli Computation (PSSPC). Para obtener más información, vea arXiv:2211.0769.

Nota

Si tiene algún problema mientras trabaja con el Estimador de recursos, consulte la página Solución de problemas o póngase en contacto con AzureQuantumInfo@microsoft.com.

Pasos siguientes