リソース推定器の結果データについて

Resource Estimator の出力パラメーターとダイアグラムを解釈して取得する方法について説明します。 この記事では、Jupyter Notebooks のリソース推定ツールの結果にプログラムでアクセスする方法について説明します。 コマンド パレットから Visual Studio Code でリソース推定ツールを実行した場合、次のコマンドは適用されません。

前提条件

出力パラメーター

Resource Estimator の出力データは、コンソールに出力され、プログラムからアクセスできるレポートです。 たとえば、次のコード スニペットは、リソース推定パラメーターにアクセスする方法を示しています。

result['jobParams']

次の出力データは、プログラムでアクセスできるエントリを構成します。

最上位レベルの出力パラメーター データの種類 Description
status string ジョブの状態は、常に Succeeded
jobParams ディクショナリ 入力として渡されるジョブの target パラメーター。
physicalCounts ディクショナリ 物理リソースの見積もり。 詳細については、「 Physical countsを参照してください。
physicalCountsFormatted ディクショナリ レポート データに表示する形式の物理リソース見積もり。 詳細については、「 Physical counts formatted」を参照してください。
logicalQubit ディクショナリ 論理量子ビット プロパティ。 詳細については、「 Logical 量子ビット」を参照してください。
tfactory ディクショナリ T ファクトリのプロパティ。
logicalCounts ディクショナリ レイアウト前の論理リソースの見積もり。 詳細については、「 Logical counts」を参照してください。
reportData ディクショナリ リソース推定レポートの生成データ。

物理カウント

physicalCounts ディクショナリには、次のエントリが含まれています。

出力パラメーター データの種類 説明
physicalQubits 数値 物理量子ビットの合計数。
runtime 数値 アルゴリズムを実行する合計ランタイム (ナノ秒単位)。
rqops 数値 1 秒あたりの信頼性の高い量子操作の数 (QOPS)。
breakdown ディクショナリ 見積もりの内訳。 詳細については、「 Physical counts breakdown」を参照してください。

物理カウントの内訳

physicalCountsbreakdownディクショナリには、次のエントリが含まれています。

出力パラメーター データの種類 説明
algorithmicLogicalQubits 数値 アルゴリズムの実行に必要な論理量子ビット。T ファクトリのリソースは含まれません。
algorithmicLogicalDepth 数値 アルゴリズムの実行に必要な論理サイクル。T ファクトリのリソースは含まれません。
logicalDepth 数値 T ファクトリの実行時間が速くなり、アルゴリズムの実行が速くなるたびに計算される、調整された可能性のあるサイクル数。
numTstates 数値 アルゴリズムによって使用される T 状態の数。
clockFrequency 数値 1 秒あたりの論理サイクル数。
numTfactories 数値 T ファクトリの数 (統一された T ファクトリ設計を想定)。
numTfactoryRuns 数値 すべての並列 T ファクトリを実行する頻度の数。
physicalQubitsForTfactories 数値 すべての T ファクトリの物理量子ビットの数。
physicalQubitsForAlgorithm 数値 アルゴリズム レイアウトの物理量子ビットの数。
requiredLogicalQubitErrorRate 数値 必要な論理エラー率。
requiredLogicalTstateErrorRate 数値 必要な論理 T 状態エラー率。
numTsPerRotation 数値 回転あたりの T ゲートの数。
cliffordErrorRate 数値 量子ビット パラメーターに基づくクリフォード エラー率。

物理カウントの書式設定

physicalCountsFormatted ディクショナリには、次のエントリが含まれています。

出力パラメーター データの種類 Description
runtime string 人間に優しい文字列としての合計ランタイム。
rqops string メトリック サフィックスで書式設定された 1 秒あたりの信頼性の高い量子操作 (QOPS) の数。
physicalQubits string メトリック サフィックスを持つ物理量子ビットの合計数。
algorithmicLogicalQubits string メトリック サフィックスを持つアルゴリズム論理量子ビット。
algorithmicLogicalDepth string メトリック サフィックスを持つアルゴリズムの論理深さ。
logicalDepth string メトリック サフィックスを使用してアルゴリズムの論理深さを調整した可能性があります。
numTstates string メトリック サフィックスを持つ T 状態の数。
numTfactories string メトリック サフィックスを持つ T ファクトリ コピーの数。
numTfactoryRuns string メトリック サフィックスを持つ T ファクトリ実行の数。
physicalQubitsForAlgorithm string メトリック サフィックスを持つアルゴリズムの物理量子ビットの数。
physicalQubitsForTfactories string メトリック サフィックスを持つ T ファクトリの物理量子ビットの数。
physicalQubitsForTfactoriesPercentage string すべての T ファクトリの物理量子ビットの数 (合計に対する割合)。
requiredLogicalQubitErrorRate string 必要な論理量子ビット エラー 率が切り捨てられました。
requiredLogicalTstateErrorRate string 切り捨てられた必要な T 状態エラー率。
physicalQubitsPerLogicalQubit string メトリック サフィックスを持つ論理量子ビットあたりの物理量子ビット数。
logicalCycleTime string 人間に優しい文字列としての論理量子ビットの論理サイクル時間。
clockFrequency string 人間に優しい文字列としての 1 秒あたりの論理サイクル数。
logicalErrorRate string 論理的なエラー率が切り捨てられました。
tfactoryPhysicalQubits string メトリック サフィックス (または T ファクトリが存在しないことを示すメッセージ) を持つ T ファクトリ内の物理量子ビットの数。
tfactoryRuntime string 人間に優しい文字列 (または T ファクトリがないことを示すメッセージ) としての単一の T ファクトリのランタイム。
numInputTstates string 入力 T 状態の数 (または T ファクトリがないことを示すメッセージ)。
numUnitsPerRound string 蒸留ラウンドあたりの単位数。文字列で区切られたコンマ (または T ファクトリがないことを示すメッセージ)。
unitNamePerRound string 各蒸留ラウンドの単位名。文字列で区切られたコンマ (または T ファクトリがないことを示すメッセージ)。
codeDistancePerRound string 蒸留ラウンドごとのコード距離。文字列でコンマ区切り (または T ファクトリがないことを示すメッセージ)。
physicalQubitsPerRound string 蒸留ラウンドあたりの物理量子ビット数。文字列でコンマ区切り (または T ファクトリがないことを示すメッセージ)。
tfactoryRuntimePerRound string 各蒸留ラウンドの実行時間。コンマ区切りの人間に優しい文字列 (または T ファクトリがないことを示すメッセージ) として表示されます。
tstateLogicalErrorRate string 切り捨てられた論理 T 状態エラー 率 (または T ファクトリがないことを示すメッセージ)。
logicalCountsNumQubits string メトリック サフィックスを持つ量子ビットの数 (事前レイアウト)。
logicalCountsTCount string メトリック サフィックスを持つ T ゲートの数 (事前レイアウト)。
logicalCountsRotationCount string メトリック サフィックスを持つ回転ゲートの数 (事前レイアウト)。
logicalCountsRotationDepth string メトリック サフィックスを持つ回転深度 (事前レイアウト)。
logicalCountsCczCount string メトリック サフィックスを持つ CCZ ゲート (事前レイアウト) の数。
logicalCountsCcixCount string メトリック サフィックスを持つ CCiX ゲート (事前レイアウト) の数。
logicalCountsMeasurementCount string メトリック サフィックスを持つ単一量子ビット測定 (事前レイアウト) の数。
errorBudget string 切り捨てられた合計エラー予算。
errorBudgetLogical string 論理エラーのエラー予算が切り捨てられました。
errorBudgetTstates string エラーが発生した T 状態蒸留のエラー予算が切り捨てられました。
errorBudgetRotations string 誤った回転合成のエラー予算が切り捨てられました。
numTsPerRotation string 回転あたりの書式設定された Ts 数 (None の場合があります)。

論理量子ビット

logicalQubit ディクショナリには、次のエントリが含まれています。

出力パラメーター データの種類 説明
codeDistance 数値 論理量子ビットの計算されたコード距離。
physicalQubits 数値 各論理量子ビットの物理量子ビットの数。
logicalCycleTime 数値 1 つの論理操作を実行する時間。
logicalErrorRate 数値 論理量子ビットの論理エラー 率。

論理カウント

logicalCounts ディクショナリには、次のエントリが含まれています。

出力パラメーター データの種類 説明
numQubits 数値 事前レイアウトの量子ビット数。
tCount 数値 レイアウト前の T ゲートの数。
rotationCount 数値 回転ゲートのレイアウト前の数。
rotationDepth 数値 レイアウト前の回転深度。
cczCount 数値 CCZ ゲートのレイアウト前数。
ccixCount 数値 CCiX ゲートのレイアウト前数。
measurementCount 数値 単一量子ビット測定の事前レイアウト数。

ヒント

リソース見積もりジョブに対して事前に計算された論理カウントのセットを使用する場合は、 LogicalCounts Python 操作を使用して、既知の見積もりをリソース推定器に渡すことができます。 詳細については、「 リソース推定ツールで既知の見積もりを使用する方法を参照してください。

空間図

全体的な物理リソース推定は、アルゴリズムと T ファクトリ コピーの両方に使用される物理量子ビットの合計数で構成されます。 空間図を使用して、これら 2 つの間の分布を調べることができます。

空間図は、アルゴリズムと T ファクトリに使用される物理量子ビットの割合を示しています。 T ファクトリのコピーの数は、T ファクトリの物理量子ビットの数にカウントされることに注意してください。

Jupyter Notebook では、qsharp-widgets パッケージの SpaceChart ウィジェットを使用して、空間ダイアグラムにアクセスできます。

import qsharp

from qsharp_widgets import SpaceChart
SpaceChart(result)

アルゴリズム量子ビットと T ファクトリ量子ビットの間の物理量子ビットの合計分布を示す円グラフ。T ファクトリのコピー数と T ファクトリあたりの物理量子ビット数の内訳を含むテーブルがあります。

Pareto フロンティア推定を使用してtargetパラメーターの複数の構成を実行する場合の特定のソリューションの空間図をプロットできます。 たとえば、次のコードは、パラメーターの最初の構成と 3 番目に短いランタイムの空間図をプロットする方法を示しています。

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

時空間図

量子コンピューティングでは、物理量子ビットの数とアルゴリズムのランタイムの間にトレードオフがあります。 アルゴリズムの実行時間を短縮するために、可能な限り多くの物理量子ビットの割り当てを検討できます。 ただし、物理量子ビットの数は、量子ハードウェアで使用可能な物理量子ビットの数によって制限されます。 ランタイムとシステムスケールのトレードオフを理解することは、リソース推定の最も重要な側面の 1 つです。

アルゴリズムのリソースを推定するときは、時空間図を使用して、物理量子ビットの数とアルゴリズムのランタイムの間のトレードオフを視覚化できます。

Note

空間時間図で複数の最適な組み合わせを確認するには、推定の種類を Pareto フロンティア推定に設定する必要があります。 Q#: [リソース見積もりの計算] オプションを使用して Visual Studio Code でリソース推定を実行すると、既定でパレートフロンティア推定が有効になります。

時空間図を使用すると、量子ハードウェアの制約を満たす {量子ビット数とランタイム} ペアの最適な組み合わせを見つけることができます。 この図は、物理量子ビットの数と、各 {量子ビット数、ランタイム} ペアのアルゴリズムのランタイムを示しています。

Jupyter Notebook で時空間図を実行するには、qsharp-widgets パッケージのEstimatesOverview ウィジェットを使用します。

import qsharp

from qsharp_widgets import EstimatesOverview

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

リソース推定器の量子ビット時間図を示すスクリーンショット。

ヒント

見積もりの詳細を表示するには、図の各ポイントにマウス ポインターを合わせます。

時空間図は、同じアルゴリズムに対して target パラメーターの複数の構成を比較する場合に特に便利です。

Resource Estimator でパラメーターの複数の構成を実行するときの、時空間図と結果のテーブルを示すスクリーンショット。

Note

リソース推定ツールの使用中に問題が発生した場合は、 トラブルシューティング ページを確認するか、 AzureQuantumInfo@microsoft.comにお問い合わせください。

次のステップ