Resource Estimator で既知の見積もりを使用する方法
この記事では、事前計算された見積もりを使用し、 Azure Quantum Resource Estimator の実行を最適化する方法について説明します。
リソース推定ツールを実行する方法については、「 リソース推定ツールを実行する方法を参照してください。
前提条件
- 最新バージョンの Visual Studio Code または VS Code on the Web を開きます。
- Azure Quantum 開発キット拡張機能の最新バージョン。 インストールの詳細については、「 VS Code での QDK のインストールを参照してください。
VS Code で Python を使用する場合は、次のものが必要です。
最新の Azure Quantum
qsharp
パッケージ。python -m pip install --upgrade qsharp
操作に既知の見積もりを使用する
公開された論文などの操作の見積もりを既に把握している場合、実行時間を短縮する 1 つの方法は、既知の見積もりを取得し、それらをプログラム全体のコストに組み込むことです。
事前に計算された見積もりから見積もりを実行する必要があるシナリオをいくつか次に示します。
- 論文に記載されている新しいアルゴリズムを試して、プログラムのパフォーマンスが向上するかどうかを確認したいと考えています。 論文から見積もりを取り、プログラムに組み込むことができます。
- プログラムのトップダウンを開発する必要があります。つまり、main 関数から開発を開始してから、下位レベルを実装します。 最上位レベルの既知の見積もりを、プログラム全体に対して予想される見積もりと共に使用できます。 開発プロセスが進むにつれて、新しいコンポーネントが既知の見積もりの呼び出しを開始し、予想される見積もりが実際の実装に置き換えられます。 このように、プログラム全体の見積もりは事前に知られており、開発が進むにつれてより正確になります。
AccountForEstimates
Q#操作を使用して、既知の見積もりを Resource Estimator に渡すことができます。
Note
特別な操作 AccountForEstimates
は、リソース推定器の組み込み操作です。 他の実行 targetsではサポートされていません。
たとえば、既知の推定値の一覧と量子ビットの一覧を受け取るFactoringFromLogicalCounts
と呼ばれる次のQ#操作について考えてみましょう。
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) |
補助量子ビットの数がamount と等しいことを指定するために、AccountForEstimates 操作に渡すことができるタプルを返します。 |
TCount(amount : Int) |
T ゲートの数がamount と等しいことを指定するために、AccountForEstimates 操作に渡すことができるタプルを返します。 |
MeasurementCount(amount : Int) |
測定値の数がamount と等しいことを指定するために、AccountForEstimates 操作に渡すことができるタプルを返します。 |
RotationCount(amount : Int) |
AccountForEstimates 操作に渡して、回転の数がamount と等しいことを指定できるタプルを返します。 |
RotationDepth(amount : Int) |
回転の深さがamount と等しいことを指定するために、AccountForEstimates 操作に渡すことができるタプルを返します。 |
CczCount(amount : Int) |
CCZ ゲートの数がamount と等しいことを指定するために、AccountForEstimates 操作に渡すことができるタプルを返します。 |
PSSPCLayout() |
並列合成シーケンシャル パウリ計算 (PSSPC) レイアウトを示します。 詳細については、 arXiv:2211.0769 を参照してください。 |
Note
リソース推定ツールの使用中に問題が発生した場合は、 トラブルシューティング ページを確認するか、 AzureQuantumInfo@microsoft.comにお問い合わせください。