ベッセル関数 - 整数次

積分で表示されるほとんどの特殊関数が, 数値積分で計算できるという事実(そういう数値積分公式,例えば DE公式 などが存在することはあまり知られてないのだが...)を考えると, ベッセル関数のような汎用特殊関数には, 速度が要求されます.
そこで、高速のベッセル関数ライブラリを作りました. 最初の設計目標として,組み込みの三角関数や指数関数などと 同程度の速度になるように計画しました.しかし, サイズとデバッグの手間を考慮したので,実際には組み込みの 三角関数などよりも平均で 1.5 倍程度遅くなってしまいました. Chebyshev 近似の次数を下げて,係数のハッシュテーブルを 大きくすれば,もう少し速くなるかもしれません.

パッケージ

このパッケージ内のファイル
    bessel01.f    : J_0(x),J_1(x),Y_0(x),Y_1(x),
                    I_0(x),I_1(x),K_0(x),K_1(x) 
                    functions in Fortran (多倍長精度用)
    dbesj0.c      : J_0(x) function in C (倍精度)
    dbesj0.f      : J_0(x) function in Fortran (倍精度)
    dbesj1.c      : J_1(x) function in C (倍精度)
    dbesj1.f      : J_1(x) function in Fortran (倍精度)
    dbesy0.c      : Y_0(x) function in C (倍精度)
    dbesy0.f      : Y_0(x) function in Fortran (倍精度)
    dbesy1.c      : Y_1(x) function in C (倍精度)
    dbesy1.f      : Y_1(x) function in Fortran (倍精度)
    dbesi0.c      : I_0(x) function in C (倍精度)
    dbesi0.f      : I_0(x) function in Fortran (倍精度)
    dbesi1.c      : I_1(x) function in C (倍精度)
    dbesi1.f      : I_1(x) function in Fortran (倍精度)
    dbesk0.c      : K_0(x) function in C (倍精度)
    dbesk0.f      : K_0(x) function in Fortran (倍精度)
    dbesk1.c      : K_1(x) function in C (倍精度)
    dbesk1.f      : K_1(x) function in Fortran (倍精度)
    readme.txt    : readme file
    

メインページ