共用方式為


了解資源估算器的結果數據

瞭解如何解譯和擷取資源估算器的輸出參數和圖表。 本文說明如何以程序設計方式存取 Jupyter Notebook 中資源估算器的結果。 如果您從命令選擇區在 Visual Studio Code 中執行資源估算器,則不適用下列命令。

必要條件

輸出參數

資源估算器的輸出數據是在控制台中列印且可透過程序設計方式存取的報表。 例如,下列代碼段示範如何存取資源估計參數。

result['jobParams']

下列輸出數據構成可透過程序設計方式存取的可能專案。

最上層輸出參數 資料類型 描述
status 字串 工作的狀態,一律 Succeeded為 。
jobParams 字典 target做為輸入傳遞之作業的參數。
physicalCounts 字典 實體資源估計值。 如需詳細資訊,請參閱 實體計數
physicalCountsFormatted 字典 格式化為在報表數據中顯示的實體資源估計值。 如需詳細資訊,請參閱 格式化的實體計數。
logicalQubit 字典 邏輯量子位屬性。 如需詳細資訊,請參閱 邏輯量子位
tfactory 字典 T Factory 屬性。
logicalCounts 字典 預先配置邏輯資源估計值。 如需詳細資訊,請參閱 邏輯計數
reportData 字典 資源估計報告的產生數據。

實體計數

字典 physicalCounts 包含下列專案:

輸出參數 資料類型 描述
physicalQubits 數值 實體量子位的總數。
runtime 數值 要在 nanoseconds 中執行演算法的總運行時間。
rqops 數值 每秒可靠的量子作業數目(QOPS)。
breakdown 字典 估計值的細目。 如需詳細資訊,請參閱 實體計數明細

實體計數明細

breakdownphysicalCounts字典包含下列專案:

輸出參數 資料類型 描述
algorithmicLogicalQubits 數值 執行演算法所需的邏輯量子位,且不包含 T Factory 的資源。
algorithmicLogicalDepth 數值 執行演算法所需的邏輯迴圈,且不包含 T Factory 的資源。
logicalDepth 數值 每當 T Factory 執行時間比演算法執行更快時計算的可能調整週期數目。
numTstates 數值 演算法所取用的 T 狀態數目。
clockFrequency 數值 每秒的邏輯週期數目。
numTfactories 數值 T Factory 的數目(假設統一 T 工廠設計)。
numTfactoryRuns 數值 所有平行 T Factory 應該執行的頻率數目。
physicalQubitsForTfactories 數值 所有 T Factory 的實體量子位數目。
physicalQubitsForAlgorithm 數值 演算法配置的實體量子位數目。
requiredLogicalQubitErrorRate 數值 所需的邏輯錯誤率。
requiredLogicalTstateErrorRate 數值 必要的邏輯 T 狀態錯誤率。
numTsPerRotation 數值 每個旋轉的 T 閘道數目。
cliffordErrorRate 數值 根據量子位參數的 Clifford 錯誤率。

格式化的實體計數

字典 physicalCountsFormatted 包含下列專案:

輸出參數 資料類型 描述
runtime 字串 運行時間總計為人類易記字串。
rqops 字串 以計量後綴格式化的每秒可靠量子作業數目(QOPS)。
physicalQubits 字串 具有計量後綴的實體量子位總數。
algorithmicLogicalQubits 字串 具有計量後綴的演演算法邏輯量子位。
algorithmicLogicalDepth 字串 具有計量後綴的演演算法邏輯深度。
logicalDepth 字串 可能已調整演算法邏輯深度與計量後綴。
numTstates 字串 具有計量後綴的 T 狀態數目。
numTfactories 字串 具有計量後綴的 T Factory 複本數目。
numTfactoryRuns 字串 具有計量後綴的 T Factory 執行數目。
physicalQubitsForAlgorithm 字串 具有計量後綴之演算法的實體量子位數目。
physicalQubitsForTfactories 字串 具有計量後綴之 T Factory 的實體量子位數目。
physicalQubitsForTfactoriesPercentage 字串 所有 T Factory 的實體量子位數目,以百分比表示總計。
requiredLogicalQubitErrorRate 字串 截斷必要的邏輯量子位錯誤率。
requiredLogicalTstateErrorRate 字串 截斷必要的 T 狀態錯誤率。
physicalQubitsPerLogicalQubit 字串 每個邏輯量子位具有計量後綴的實體量子位數目。
logicalCycleTime 字串 邏輯量子位作為人類易記字串的邏輯周期時間。
clockFrequency 字串 每秒作為人類易記字串的邏輯迴圈數目。
logicalErrorRate 字串 截斷邏輯錯誤率。
tfactoryPhysicalQubits 字串 T Factory 中具有計量後綴的實體量子位數目(或沒有 T Factory 的訊息)。
tfactoryRuntime 字串 單一 T 處理站的運行時間做為人類易記字串(或沒有 T Factory 的訊息)。
numInputTstates 字串 輸入 T 狀態的數目(或沒有 T Factory 的訊息)。
numUnitsPerRound 字串 每個釀酒回合的單位數目、以字串分隔的逗號(或沒有 T Factory 的訊息)。
unitNamePerRound 字串 每個釀酒回合的單位名稱,以逗號分隔在字串中(或沒有 T Factory 的訊息)。
codeDistancePerRound 字串 每個釀酒回合的程式代碼距離、以字串分隔的逗號(或沒有 T Factory 的訊息)。
physicalQubitsPerRound 字串 每個釀酒回合的實體量子位數目、以字串分隔的逗號(或沒有 T Factory 的訊息)。
tfactoryRuntimePerRound 字串 每個釀酒回合的運行時間,顯示為逗號分隔的人類易記字串(或沒有 T Factory 的訊息)。
tstateLogicalErrorRate 字串 截斷邏輯 T 狀態錯誤率(或沒有 T Factory 的訊息)。
logicalCountsNumQubits 字串 具有計量後綴的量子位數(預先配置)。
logicalCountsTCount 字串 具有計量後綴的 T 閘道數目(預先配置)。
logicalCountsRotationCount 字串 具有計量後綴的旋轉門數(預先配置)。
logicalCountsRotationDepth 字串 具有計量後綴的旋轉深度(預先配置)。
logicalCountsCczCount 字串 具有計量後綴的CCZ門數(預先配置)。
logicalCountsCcixCount 字串 具有計量後綴的 CCiX 閘道數目(預先配置)。
logicalCountsMeasurementCount 字串 具有計量後綴的單一量子位度量數目(預先配置)。
errorBudget 字串 截斷的總錯誤預算。
errorBudgetLogical 字串 邏輯錯誤的截斷錯誤預算。
errorBudgetTstates 字串 錯誤 T 狀態釀酒的截斷錯誤預算。
errorBudgetRotations 字串 錯誤旋轉合成的錯誤預算已截斷。
numTsPerRotation 字串 每個旋轉的格式化 T 數目(可能是 None)。

邏輯量子位

字典 logicalQubit 包含下列專案:

輸出參數 資料類型 描述
codeDistance 數值 邏輯量子位的計算程式代碼距離。
physicalQubits 數值 每個邏輯量子位的實體量子位數目。
logicalCycleTime 數值 執行一個邏輯作業的時間。
logicalErrorRate 數值 邏輯量子位的邏輯錯誤率。

邏輯計數

字典 logicalCounts 包含下列專案:

輸出參數 資料類型 描述
numQubits 數值 量子位的預先配置數目。
tCount 數值 T 閘道的預先配置數目。
rotationCount 數值 旋轉門的預先配置數目。
rotationDepth 數值 預先配置旋轉深度。
cczCount 數值 CCZ 門的預先配置數目。
ccixCount 數值 CCiX 閘道的預先配置數目。
measurementCount 數值 單一量子位測量的預先配置數目。

提示

如果您想要針對資源估計作業使用預先計算的邏輯計數集,您可以使用 LogicalCounts Python 作業將已知的估計值傳遞至資源估算器。 如需詳細資訊,請參閱 如何搭配資源估算器使用已知的估計值

空間圖

整體實體資源估計是由演算法和 T Factory 複本所使用的實體量子位總數所組成。 您可以使用空格圖來檢查這兩者之間的分佈。

空間圖顯示演算法和 T Factory 所使用的實體量子位比例。 請注意,T Factory 複本數目會為 T Factory 的實體量子位數目做出貢獻。

在 Jupyter Notebook 中,您可以使用套件中的SpaceChartqsharp-widgets小工具來存取空間圖表。

import qsharp

from qsharp_widgets import SpaceChart
SpaceChart(result)

餅圖顯示演算法量子位與 T Factory 量子位之間的實體量子位總計分佈。有一個數據表,其中包含 T 處理站複本數目和每個 T Factory 的實體量子位數目。

使用 Pareto 邊界估計執行多個參數位態target時,您可以繪製特定解決方案的空間圖表。 例如,下列程式代碼示範如何繪製參數第一個組態的空間圖表和第三個最短運行時間。

SpaceChart(result[0], 2) # First (estimate index=0) run and third (point index=2) shortest runtime

時空圖表

在量子運算中,實體量子位數目與演算法運行時間之間會有取捨。 您可以考慮盡可能配置盡可能多的實體量子位,以減少演算法的運行時間。 不過,實體量子位的數目會受限於量子硬體中可用的實體量子位數目。 瞭解運行時間與系統規模之間的取捨是資源估計最重要的層面之一。

在估計演算法的資源時,您可以使用時空圖表,將實體量子位數目與演算法運行時間之間的取捨可視化。

注意

若要查看空間時程圖表中的多個最佳組合,您必須將估計類型設定為 Pareto 邊際估計。 如果您使用 :計算資源估計選項在 Visual Studio Code Q#中執行資源估算器,則預設會啟用 Pareto 邊界估計。

時空圖表可讓您找出滿足量子硬體條件約束之 {number of qubits, runtime} 配對的最佳組合。 此圖顯示每個 {量子位、runtime} 組之演演算法的實體量子位數目和運行時間。

若要在 Jupyter Notebook 中執行時空圖表,您可以使用 EstimatesOverview 套件中的 qsharp-widgets 小工具。

import qsharp

from qsharp_widgets import EstimatesOverview

EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])

顯示資源估算器量子位時間圖表的螢幕快照。

提示

若要查看估計詳細數據,您可以將滑鼠停留在圖表中的每個點上。

在比較相同演算法的多個參數位態 target 時,時空圖表特別有用。

此螢幕快照顯示在資源估算器中執行多個參數位態時的時間圖表和結果數據表。

注意

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

下一步