- 219 名前:デフォルトの名無しさん [2006/03/03(金) 12:54:26 ]
- >>218
範囲を広げるという意味が良くわからんので、適当に書いてみるw EK=E(K)*CEXP(CMPLX(0.0d0,(GANMA2(K)))) EK=EK*EXP(CMPLX(0.0d0,(GANMA3(K)))) EK=EK*CEXP(CMPLX(0.0d0,(GANMA4(K)))) この式で、EK(K)は最後に掛けたほうがいい。なぜなら、それ以外の部分は 全部位相因子なので幾ら掛けても、絶対値は1になるはずの量だから。 まずはそこでチェックしてみたらどうか? つまり EK = EXP(CMPLX(0.0d0,(GANMA2(K)))) EK = EK * EXP(CMPLX(0.0d0,(GANMA3(K)))) EK = EK * EXP(CMPLX(0.0d0,(GANMA4(K)))) ここでABS(EK)=1.0d0のはず(誤差を抜かして) もう一つの式でも同様にして、その段階で虚部を比較すれば、 より限定的な情報が得られて問題解決に近づくだろう。 EK = EK(N) * EK (ここで後ろのEKはpahase_factorとかの変数名にしたほうがいいと思うが まぁ好みの問題だ) あとCEXPは総称名EXPに統一したほうがいいだろう。 精度の規定値が気になるなるが、KIND=8をつければ強制できるはず。
|

|