B.7 も参照せよ。
以前は、次のようにしていた (これ自体は不要になったが、 参考になるところが残っていると思うので、削除せずに残す)。
これは不要になった | |
以下のようにして零点を必要な精度だけ計算することもできる。
たくさんの桁数が必要なときは、 AccuracyGoal->桁数 のような指定が必要かもしれない (通常は ``Automatic'')。 また が大きくなると、 MaxIterations->200 のような指定が必要かもしれない (通常は ``100'')。 |
Version 6 以降の Mathematica では、 Bessel関数の零点を計算するために BesselJZero[n,k] ( の 番目の零点), BesselJZero[n,k, ] ( の より大きい 番目の零点), BesselYZero[n,k] ( の 番目の零点), BesselYZero[n,k, ] ( の より大きい 番目の零点) が用意されている。
数値計算するには、
bjz[n_,m_]:=bjz[n,m]=N[BesselJZero[n,m],30] |
Version 5.2 まで、 NumericalMath`BesselZeros` というパッケージがあった (http://documents.wolfram.com/mathematica/Add-onsLinks/StandardPackages/NumericalMath/BesselZeros.html)。 この中には、 例えば BesselJZeros[], BesselJPrimeZeros[] が入っていて、 前者は今でこそ BesselJZero[] があるので不要になったが (N[BesselJZero[1,2],30] のようなことが出来るから)、 後者は今でも必要になる。 ( ) の正の零点を小さい方から 個集めた表が 欲しければ、
<<NumericalMath`BesselZeros` For[n=0,n<=10,n++,bjpz[n]=BesselJPrimeZeros[n,20,WorkingPrecision->30]] |
桂田 祐史