(この問題をこのサイトに投稿すべきか、数学のサイトに投稿すべきかわかりません。必要に応じて、この投稿を自由に移行してください。)
当面の問題は、次のようなk
非線形多項式の有理関数を数値的に計算したいという値が与えられたこと
です。 、 は実定数で、は虚数です。Numerical Recipesから、すべての係数が一定であれば、丸め誤差を十分に小さく保ちながら、多項式をすばやく計算する方法がたくさんあることを学びました。しかし、指数関数の前置因子も に依存しているため、これらのアイデアは私の場合には役に立たないと思います。k
{a_0, ..., a_N; b_0, ..., b_N}
{u_0, ..., u_N, v_0, ..., v_N}
i
k
現在、私はCで力ずくで計算していますcomplex.h
(これは単なる擬似コードです):
double complex function(double k)
{
return (a_0+a_1*cexp(I*u_1*k)*k+a_2*cexp(I*u_2*k)*k*k+...)/(b_0+b_1*cexp(I*v_1*k)*k+v_2*cexp(I*v_2*k)*k*k+...);
}
ただし、呼び出しの数がfunction
増えると (これは実際の計算の一部にすぎないため)、非常に遅く、不正確です (有効な数字は 6 桁のみ)。コメントや提案をお待ちしております。