如何搭配資源估算器使用已知的估計值
在本文中,您將瞭解如何使用預先計算的估計值,並將 Azure Quantum 資源估算器的執行優化。 如果您已經知道作業的一些估計值,例如從已發佈的論文,減少運行時間的其中一種方式是採用已知的估計值,並將其併入整體程式成本。
如需如何執行資源估算器的詳細資訊,請參閱 執行資源估算器的不同方式。
必要條件
- 最新版的 Visual Studio Code 或開啟 Web上的 VS Code。
- 最新版本的 量子開發工具包擴充功能。 如需安裝詳細資料,請參閱 設定 QDK 擴充功能。
如果您想要在 VS Code 中使用 Python,您也需要下列專案:
安裝最新版的 Python 和適用於 VS Code 的 Jupyter 擴充功能。
最新的 Azure Quantum
qsharp
套件。python -m pip install --upgrade qsharp
使用作業的已知估計值
您可能要從預先計算的估計值執行估計的一些案例:
- 您想要嘗試論文中所述的新演算法,以檢查它是否改善程式效能。 您可以從論文中取得估計值,並將其併入計劃。
- 您想要從上到下開發程式,也就是從主要函式開始開發,然後實作較低層級。 您可以使用最上層的已知估計值,並搭配整個計劃的預期估計值。 隨著開發程序的進展,新的元件會開始呼叫已知的估計值和預期的估計值,會由實際實作所取代。 如此一來,整個程序的估計就已預先瞭解,並在開發進度時更精確。
您可以使用 AccountForEstimates
Q# 作業將已知的估計值傳遞至資源估算器。
注意
特殊作業 AccountForEstimates
是資源估算器的內部作業。 其他執行 targets不支援它。
例如,請考慮下列 Q# 稱為 FactoringFromLogicalCounts
的作業,該作業會採用已知估計值清單和量子位清單。
import 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。