量子シミュレーションの近似を細かくしていくと、分割の途中に「負の刻み」が現れることがあります。計算が過去へ戻るのでしょうか。それとも、間違った係数なのでしょうか。
ここでは、対称な二次の分割公式を組み合わせ、四次へ精度を上げる二つの構成を見ます。負の係数は、残っている誤差を打ち消すために現れます。ただし、式として誤差を消せることと、その各操作を計算機や実機で実行できることは、別に確かめる必要があります。[1]
簡単にまとめると?
- 対称な二次公式の三次の誤差を消すため、ここで扱う四次の構成は、正の刻みと負の刻みを組み合わせます。
- 3ブロック版は途中の累積パラメータが目標区間の外へ出ます。5ブロック版はブロック境界の累積値が区間内に収まりますが、中央の刻みはやはり負です。
- 負の刻みは、数式の発展パラメータを逆向きに使うことです。実験室の時間が逆行する意味ではなく、逆操作の可否、安定性、必要な演算数を確かめます。
四次へ進む前に、二次のブロックを用意する
時間によらない二つの演算子AとBに対し、目標を exp[h(A+B)] とします。hは一度に進めたい発展パラメータです。閉じた量子系の実時間発展なら、ℏを1とする単位で A=−iH_A、B=−iH_B と置けます。H_AとH_Bはエルミートなハミルトニアンで、量子系のエネルギーや相互作用を表します。
AとBを別々に扱う対称な二次公式は、次の形です。Aを半分、Bを全量、最後にAを半分使います。
S₂(h)=exp(hA/2) exp(hB) exp(hA/2)
一般にAとBは交換できないため、この積は目標の指数と完全には一致しません。十分小さなhで展開できる条件では、指数の中に h³R₃ という先頭の誤差が残ります。R₃はAとBの組合せで決まる演算子です。対称性から S₂(h)S₂(−h)=I が成り立ち、指数の展開には偶数次の項が現れません。原資料はこの性質を式(37)・(38)で示しています。[1]
以下の次数の説明は、例えば有限次元の有界な行列を、小さなhで扱う場合を想定します。特別な可換性などでR₃自体が消える場合まで、必ず三次の誤差が出ると主張するものではありません。
負の係数は、三次の誤差を打ち消すために現れる
S₂の刻みをchへ変えると、目標の一次の部分はc倍、先頭の誤差はc³倍になります。そこでS₂を3個、係数 s、1−2s、s で組み合わせます。
F₃(h)=S₂(sh) S₂((1−2s)h) S₂(sh)
係数の和は1なので、進めたい一次の部分はhのままです。同じ対称ブロックを左右対称に並べるこの構成では、三次の誤差係数は 2s³+(1−2s)³ になります。これを0にする解が、次の値です。
s=1/(2−∛2) ≈ 1.351207
中央の係数 1−2s は約−1.702414です。正の係数だけなら、その三乗の和を0にしながら係数の和を1にすることはできません。この構成では、負の刻みが三次の誤差を反対符号で寄与させます。対称性を保ったまま三次の項を消すため、次に残るのは通常、五次の局所誤差です。[1]
これが「四次」の意味につながります。固定した全区間を小さなhのステップで進めると、適切な有界性・安定性の条件の下で、全体の誤差はO(h⁴)となります。一歩のO(h⁵)と、全区間のO(h⁴)を区別します。また、三乗を足すだけの説明を、そのまま五次以上の誤差へ使うことはできません。原資料も、より高い次数には同じ単純な足し算が通用しないと注意しています。
5ブロックにしても、負の刻みは残る
別の四次公式では、左右に同じブロックを2個ずつ置きます。原資料のs₂を、ここでは3ブロック版のsと区別してqと書きます。
F₅(h)=S₂(qh)² S₂((1−4q)h) S₂(qh)²
今度は 4q³+(1−4q)³=0 とすればよく、q=1/(4−∛4) ≈ 0.414491 です。中央の係数は約−0.657963になります。正のブロックを増やすことで、3ブロック版とは違う大きさの正負の刻みで、同じ三次の誤差を消しています。[1]
| 構成 | 左右の係数 | 中央の係数 | A・Bの指数因子数 |
|---|---|---|---|
| 3ブロック F₃ | s ≈ 1.351207 | 1−2s ≈ −1.702414 | 7 |
| 5ブロック F₅ | q ≈ 0.414491(左右各2個) | 1−4q ≈ −0.657963 | 11 |
表の小数は表示用の丸め値です。計算では根号を含む式から十分な精度で係数を求め、係数和と三次の相殺条件を確認します。丸め誤差が残れば、理想的な四次の振る舞いから外れることがあります。
指数因子数は、隣り合う同じAの指数をまとめた場合です。n個のS₂をそのまま展開すれば3n個ですが、ブロック間のAどうしをn−1か所で統合できるため、2n+1個になります。この7と11は数式上の指数因子の数で、装置のゲート数や実行時間ではありません。各指数の実装や統合の可否によって、実際の負担は変わります。
「負の刻み」と「途中で区間の外へ出る」は別の条件
刻みを足し合わせた値を、目標hで割って見ます。開始を0、終了を1とすると、3ブロック版のブロック境界は次の順になります。
0 → 1.351207 → −0.351207 → 1
最初に目標1を越え、中央の負の刻みで開始0より小さくなり、最後に1へ到達します。一方、5ブロック版は次の経路です。
0 → 0.414491 → 0.828982 → 0.171018 → 0.585509 → 1
こちらはブロック境界の累積値が0から1の間に収まります。しかし、0.828982から0.171018へ下がる中央の段は、確かに負です。「目標区間の外へ出ない」と「すべての段が正」は、同じ意味ではありません。

原資料は3ブロック版が開始以前へ及ぶことを、デルタ状の分布からの拡散を例に注意し、5ブロック版との違いを説明しています。ただし、この説明だけから「5ブロック版なら、あらゆる拡散計算を安定に実行できる」とは言えません。負の段そのものは残るため、逆向きの作用が定義できるか、誤差を増幅しないかは対象ごとに確かめます。[1]
逆向きの演算は、実験室の時計を戻すことではない
量子系でHがエルミートなら、exp(−i(−a)H)=exp(+iaH) は exp(−iaH) の逆演算です。計算上は負の発展パラメータを指定できますが、それを実機で行うには、例えばハミルトニアンの符号を変える、または同じ逆ユニタリを別の回路で構成する手段が要ります。実験室の時計そのものが逆向きに進むわけではありません。
常に働いている相互作用まで自由に反転できるとは限りませんし、各指数を別のゲート列で実装すれば、その合成誤差も加わります。数学上の因子に逆演算があることは、対象装置がそれを正確かつ安価に実行できるという証明にはなりません。
さらに、閉じた系のユニタリ発展と、不可逆な減衰や拡散を同じ条件で扱うことはできません。前向きに情報を失う発展では、負のパラメータの操作が許されない場合や、数値誤差に敏感になる場合があります。本稿の二つの構成の次数だけを根拠に、開いた系の計算へ適用することは避けます。
公式を選ぶときは、次数のほかに何を見るか
3ブロック版と5ブロック版は、どちらも四次です。だからといって、同じhで誤差が同じになるわけではありません。残る五次以上の誤差の係数、対象のAとB、観測量、許容精度によって結果は変わります。因子の数が少ない3ブロック版にも、中間の累積パラメータが区間外へ出るという条件があります。5ブロック版はそのブロック境界の問題を避けますが、負の段と追加の指数因子を伴います。
まず、A・Bが時間によらないという前提、各正負の指数演算の定義と実装を確認します。そのうえで、必要な精度に対する刻み幅と演算の負担を比べます。実時間の制御が途中で変わる問題では、時間順序に対応した別の扱いも必要です。原資料も第4節で、時間依存ハミルトニアンへの構成には修正が要ると区別しています。
二次から四次へ上げる計算は、誤差をより巧みに消す設計です。その設計で現れる負の係数を、単なる異常値として捨てることも、実装条件を確かめずにそのまま使うこともできません。係数の役割、途中の累積値、逆操作の可否を分けて読むことで、自分の問題に使える公式かを判断しやすくなります。
出典
- Naomichi Hatano and Masuo Suzuki, Finding Exponential Product Formulas of Higher Orders, arXiv:math-ph/0506007v1(2005年6月2日)。第3節、PDF 7ページの式(37)–(45)と説明、8ページの図3・第4節冒頭。係数と累積値、表1・図1は、固定版の式から本稿で独自計算・作図しました。原資料の図の転載や装置性能の実証ではありません。
