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