如何搭配資源估算器使用已知的估計值

在本文中,您將瞭解如何使用預先計算的估計值,並將 Azure Quantum Resource Estimateor 的執行優化。

如需如何執行資源估算器的資訊,請參閱 執行資源估算器的不同方式

必要條件

如果您想要在 VS Code 中使用 Python,也需要下列專案:

  • 安裝最新版的 Python 和適用於 VS Code 的 Jupyter 擴充功能。

  • 最新的 Azure Quantum qsharp 套件。

    python -m pip install --upgrade qsharp 
    

使用作業的已知估計值

如果您已經知道作業的一些估計值,例如從已發佈的紙張,減少運行時間的其中一種方式是採用已知的估計值,並將其納入整體計劃成本。

您可能要從預先計算的估計值執行估計的一些案例:

  • 您想要嘗試一份檔中所述的新演算法,以檢查它是否可改善程式的效能。 您可以從檔擷取估計值,並將其併入程式中。
  • 您想要從 上而下開發程式,也就是從main函式開始進行開發,然後實作較低層級。 您可以使用最上層的已知估計值,並針對整個計劃的預期估計值。 隨著開發程序進行,新的元件開始呼叫已知的估計值和預期的估計值會由實際的實作所取代。 如此一來,整個程序的估計值就事先稱為,並在開發進度時更精確。

您可以使用 AccountForEstimatesQ# 作業將已知的估計值傳遞至資源估算器。

注意

特殊作業是資源估算器的內建作業 AccountForEstimates 。 其他執行 targets不支援它。

例如,請考慮呼叫的下列 Q# 作業 FactoringFromLogicalCounts 會採用已知估計值清單和量子位清單。

open Microsoft.Quantum.ResourceEstimation;

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

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

作業 AccountForEstimates 可以採用下列參數:

具有的函式 AccountForEstimates Description
AuxQubitCount(amount : Int) 傳回可傳遞至作業的 AccountForEstimates Tuple,以指定 auxilliary 量子位的數目等於 amount
TCount(amount : Int) 傳回可傳遞至作業的 AccountForEstimates Tuple,以指定 T 閘道數目等於 amount
MeasurementCount(amount : Int) 傳回可傳遞至作業的 AccountForEstimates Tuple,以指定度量數目等於 amount
RotationCount(amount : Int) 傳回可傳遞至作業的 AccountForEstimates Tuple,以指定旋轉數目等於 amount
RotationDepth(amount : Int) 傳回可傳遞至作業的 AccountForEstimates Tuple,以指定旋轉深度等於 amount
CczCount(amount : Int) 傳回可傳遞至作業的 AccountForEstimates Tuple,以指定 CCZ 閘道數目等於 amount
PSSPCLayout() 指出平行合成循序Pauli計算 (PSSPC) 版面配置。 如需詳細資訊,請參閱 arXiv:2211.0769

注意

如果您在使用資源估算器時遇到任何問題,請參閱 疑難解答頁面,或連絡 AzureQuantumInfo@microsoft.com

下一步