はじめに
Variational Quantum Eigensolver(VQE)を実装していると、ふと次のような疑問が湧きます。
VQEで最小化している「エネルギー」は、
物理量として扱うべきなのか?
それとも、単なる最適化のための数値なのか?
特に、Hamiltonian の係数をスケーリングしたり、エネルギーのレンジを 0〜1 に正規化したりすると、この違和感はより強くなります。
本記事では、この問いに対して
「VQEのエネルギーは、物理量であると同時に、最適化変数でもある」
という立場から整理してみます。
VQEにおけるエネルギーの定義
VQEで最小化している量は、次の期待値です。
$$
E(\theta) = \langle \psi(\theta) | H | \psi(\theta) \rangle
$$
ここで、
- $ H $:Hamiltonian
- $ |\psi(\theta)\rangle $:パラメータ化された量子状態
この $ E(\theta) $ は、量子力学的には明確に「エネルギー」という物理量です。
そのため、教科書的には
「エネルギーを最小化することで基底状態を求める」
という説明になります。
理論的には、スケーリングしても解は変わらない
Hamiltonian を定数倍・定数シフトしても、
$$
H' = aH + bI
$$
最小化される状態 $ |\psi\rangle $ は変わりません。
- 定数倍 → エネルギーのスケールが変わるだけ
- 定数項(I項) → 全体が平行移動するだけ
つまり理論的には、
エネルギーをスケーリングしても、最適な量子状態は同じ
です。
この意味で、「物理的な基底状態を求める」という目的に限れば、
エネルギースケーリングは本質的ではありません。
しかしVQEは“純粋な量子計算”ではない
ここが重要なポイントです。
VQEは、以下の ハイブリッド構造を持っています。
- 量子回路:状態を生成する
- 古典最適化器:数値 $ E(\theta) $ を最小化する
つまり実装上は、
VQE = ノイズ付きブラックボックス最適化問題
として振る舞います。
この瞬間、エネルギー $ E(\theta) $ は
「物理量」から「最適化対象のスカラー値」へと役割を広げます。
古典最適化器は「エネルギーのスケール」を見ている
多くのVQE実装では、以下のような最適化器が使われます。
- ADAM
- SPSA
- COBYLA
これらの最適化器は、
- 勾配の大きさ
- ステップ幅
- ノイズとの相対関係
といった 数値スケールに依存した挙動をします。
そのため、
- エネルギーの絶対値が大きい
- 係数のスケールが問題ごとに大きく違う
といった状況では、
同じVQEを回しているつもりでも、
実際には「別の最適化問題」を解いている
ということが起こります。
ノイズ下では「物理量としての意味」がさらに薄れる
有限ショット数でエネルギーを推定する場合、
- 期待値には統計ノイズが乗る
- 分散は Hamiltonian の係数の大きさに依存する
つまり、
- Hamiltonian をスケーリングする
- → ノイズの絶対量も一緒にスケーリングされる
結果として、
物理的には同じ問題でも、
数値的な最適化難易度は変わる
という現象が起こります。
この時点で、エネルギーはもはや
「純粋な物理量」としてだけ扱うのは難しくなります。
エネルギーを 0〜1 に正規化する行為の意味
エネルギーを 0〜1 にスケーリングすることは、
- 物理的な意味を変えたいわけではない
- 基底状態を変えたいわけでもない
実際には、
古典最適化器にとって扱いやすい数値レンジに
問題を整形している
と解釈するのが自然です。
これは、機械学習で
損失関数を正規化するのと非常に近い行為です。
では、VQEのエネルギーは何なのか?
ここまでを踏まえると、結論は次のようになります。
- 理論的には:物理量(エネルギー)
- 実装的には:最適化変数(スカラー値)
VQEにおけるエネルギーは、
物理量であると同時に、
古典最適化のための数値でもある
という二重の顔を持っています。
どちらか一方として扱うと、
実装上の挙動が理解できなくなることがあります。
実務的な結論
- 解の意味だけを見るなら、スケーリングは不要
- 最適化の安定性や比較を考えるなら、スケーリングは有効
- スケーリングした場合は、その事実を明記するべき
VQEは量子アルゴリズムですが、
数値最適化としての側面を無視できないアルゴリズムでもあります。
エネルギーをどう扱うかは、
「何を見たい実験なのか」によって決めるのが最も健全だと感じています。
おわりに
VQEを実装していると、
「理論的には正しいはずなのに、挙動が不安定」という場面に出会います。
その多くは、
エネルギーを物理量としてしか見ていないことに起因しているように思います。
VQEのエネルギーを
「最適化変数としても見る」ことで、
実装上の判断が少しだけ楽になるかもしれません。