時間的に振動する粒子源を持った時間依存シュレーディンガー方程式
を考えよう。ここで、状態ベクトル
および任意の粒子源
は N成分の複素ベクトルであり、
ハミルトニアン H は
エルミート行列である。
は粒子源の振動数の実数部であり、
は振動数の微小な正の虚数部で振動数の分解能を決定する。
この微小な
のせいで、粒子源が時間とともに指数関数的に
増大することに注意したい。この粒子源の断熱的スイッチオンは、
従来のFOM[5]には
無かったものであり、これによって初めてグリーン関数の計算
が可能になった。
初期条件 のもとでの微分方程式(1)の解は、次のようになる[1]。
ただし、t が十分大きくてを満たすとして、
式(2)の第2項を無視した。
は、計算に要求される
相対精度である。
ここで、
式(3)に
をかければ、ケット
にグリーン関数を作用させた結果のケットが得られる。
振動数の虚数部が負のグリーン関数が欲しい場合には、
(1)-(4) で
時間 t を -t で を
で置き換えれば
が得られる。
粒子源法を用いれば、複数のグリーン関数と他の演算子の積の行列要素
も簡単に求まる。
式(1)中の は
任意のケットなので、前回の計算結果(4)を
のように粒子源として再利用して計算を繰り返せばよい。 従来の Lanczos法などでは、 このようなグリーン関数の積の行列要素を求めることは困難であった。
時間依存シュレーディンガー方程式 (1)を 実際に数値的に解くには、Symmetric Multistep 法[8]の一種である 「蛙跳び法」
を用いて時間微分を差分に置き換える。
時間の刻み幅は、
最大(最小)固有値の絶対値
および無次元定数
を用いて、
のように決定される。具体的な計算プログラムについては、文献[8]を
参照していただきたい。
最後に、
式(7)で最も時間がかかる行列とベクトルの積の演算回数によっ
て計算時間を見積もろう。積分時間 t を時間幅
で割れば、つぎのように演算回数
が得られる。