共用方式為


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

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

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

必要條件

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

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

  • 最新的 Azure Quantum qsharp 套件。

    python -m pip install --upgrade qsharp 
    

使用作業的已知估計值

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

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

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

您可以使用 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 描述
AuxQubitCount(amount : Int) 傳回可傳遞至 AccountForEstimates 作業的 Tuple,以指定輔助量子位的數目等於 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

下一步