メインコンテンツへスキップ

マルチプロダクトフォーミュラ(MPF)

Package versions

このページのコードは、以下の要件を使用して開発されました。 これらのバージョン以降を使用することを推奨します。

マルチプロダクトフォーミュラ(MPF)は、回路実行回数が増加するという代償を払いながらも、量子システムのダイナミクスをより正確にシミュレートするために使用できます。これは、時間発展した状態の期待値の誤差を軽減するポストプロセッシング手法です。

古典計算を使用して、複数の回路実行の重み付き組み合わせに係数を提供する線形方程式系を解きます。この重み付き組み合わせを使用することで、トロッターステップを適切に選択することにより、時間発展のシミュレーションに関連する誤差を低減できます。MPF ツールは、トロッターステップ数やトロッター近似の次数などのデータを取り込み、関連する線形方程式系を準備して(完全にまたは近似的に)解きます。その解を使用して、時間発展した状態の期待値測定をポストプロセッシングできます。

MPF パッケージのインストール

MPF パッケージをインストールする方法は、PyPI 経由とソースからのビルドの 2 つがあります。パッケージの依存関係を分離するために、仮想環境にインストールすることを推奨します。

PyPI からのインストール

qiskit-addon-mpf パッケージをインストールする最も簡単な方法は、PyPI 経由です。

pip install qiskit-addon-mpf

ソースからのビルド

リポジトリで開発を行いたいユーザーや手動でインストールしたいユーザーは、まずリポジトリをクローンすることで行えます。

git clone git@github.com:Qiskit/qiskit-addon-mpf.git

その後、pip でパッケージをインストールします。リポジトリには、特定の機能を有効にするオプションの依存関係も含まれています。

必要に応じてオプションを調整してください。

pip install tox notebook -e '.[notebook-dependencies,dev]'

理論的背景

MPF は、複数の回路実行の重み付き組み合わせを通じて、量子システムのダイナミクスをシミュレートする際のトロッター近似誤差を低減できます。この重み付き和は次のように定義されます。

μ(t)=jxjρjkj(tkj)+some remaining Trotter error,\mu(t) = \sum_j x_j\rho_j^{k_j}\left(\frac{t}{k_j}\right) + \text{some remaining Trotter error},

ここで xjx_j は重み係数、ρjkj\rho_j^{k_j}kjk_j 個のトロッターステップを使用して時間発展演算子を近似するプロダクトフォーミュラ SkjS^{k_j} によって初期状態を発展させることで得られる純粋状態に対応する密度行列、jj は和で使用される各プロダクトフォーミュラのインデックスです。

異なるトロッターステップ数を持つ�複数の回路を使用して目標オブザーバブルを計算する

一般に、量子ダイナミクスをシミュレートする目的は、時間の関数であるオブザーバブル O(t)\mathcal{O}(t) を測定することです。MPF を使用する場合、それぞれ kjk_j 個のトロッターステップを使用する複数の回路を実行して、目標オブザーバブル Okj(t)\mathcal{O}_{k_j}(t) の複数の測定値を取得します。目標オブザーバブルの測定値は、次の計算によって得られます。

O(t)=jxj(t)Okj(t).\langle \mathcal{O}(t) \rangle = \sum_j x_j(t) \langle \mathcal{O}_{k_j}(t) \rangle.

本質的に、単一のプロダクトフォーミュラの代わりに、さまざまな数のトロッターステップを持つ複数のプロダクトフォーミュラを使用して時間発展演算子を近似することで、全体的なトロッター誤差を低減できます。重み付き和の各項に対して回路を構築し、各 kjk_j 個のトロッターステップに従ってシステムを発展させます。各回路は QPU 上で個別に実行され、ポストプロセッシングステップで結果を再構築します。この手法の有用性は 2 つの観点から見ることができます。

  1. 実行するトロッターステップ数を固定した場合、全体的にトロッター誤差がより小さい結果を得ることができます。
  2. 深い回路になるトロッターステップ数に対して、MPF を使用して実行するより短い深さの回路をいくつか見つけることができ、同様のトロッター近似誤差をもたらします。

MPF 係数の決定

qiskit-addon-mpf パッケージのコア機能は、MPF 係数 xj(t)x_j(t)(時間依存する場合があります)を決定することにあります。各 xj(t)x_j(t) を得るプロセスは、線形方程式系 Ax=bAx=b を解くことを含みます。ここで xx は決定すべき係数のベクトル、AA は各 kjk_j と使用するプロダクトフォーミュラ SS(つまり、近似次数とトロッターステップ数)に依存する行列、bb は制約のベクトルです。この方程式系は、完全に解くか、係数の 1-ノルムを最小化する近似モデルで解くことができます。また、各 kjk_j の選択はヒューリスティックなプロセスですが、次の制約によって範囲が限定されます。

  1. 最大の kjk_j の値は、確実に実行できる最大の回路深さによって制限されます。
  2. 最小の kjk_jdt=t/kj<1dt = t/k_j < 1 を満たす必要があります。これはトロッター誤差が最も適切に振る舞う条件です。
  3. 係数 xjx_j のいずれも 00 に近い値であってはなりません。これは MPF にほとんど寄与しないことを意味するためです。
  4. 同様に、最大の kjk_j 値に関連する係数が支配的であってはなりません。これは単一のプロダクトフォーミュラを使用していることを意味するためです。
  5. 最後に、得られた係数 xjx_j のノルムが小さいことが望ましいです。これは適切に条件付けられた MPF を示します 1

次のステップ

Recommendations

参考文献

  1. A. Carrera Vazquez, D. J. Egger, D. Ochsner, and S. Wörner, "Well-conditioned multi-product formulas for hardware-friendly Hamiltonian simulation", Quantum 7, 1067 (2023).
  2. S. Zhuk, N. Robertson, and S. Bravyi, "Trotter error bounds and dynamic multi-product formulas for Hamiltonian simulation", Phys. Rev. Research 6, 033309 (2024).
  3. N. Robertson, et al. "Tensor Network enhanced Dynamic Multiproduct Formulas", arXiv:2407.17405v2 [quant-ph].