関数cneumanmulti マニュアル

(The documentation of function cneumanmulti)

Last Update: 2023/11/14


◆機能・用途(Purpose)

複素変数に対するノイマン関数を複数の次数についてまとめて計算する。
Compute the Neuman function for a complex variable; computations for multiple orders are conducted by a single function call.


◆形式(Format)

#include <mathfunc.h>
inline double complex ∗cneumanmulti (const int nmax,const double complex z)


◆引数(Arguments)

n 計算するノイマン関数\(N_n(z)\)の次数\(n\)の最大値。 非負でなければならない。
The maximum value of the order \(n\) of the Neuman function \(N_n(z)\) to compute, which must be non-negative.
z ノイマン関数\(N_n(z)\)の引数\(z\)の値。
The value of the argument \(z\) for the Neuman function \(N_n(z)\).


◆戻り値(Return value)

引数で指定した\(z\)に対する \(N_0(z), N_1(z), \cdots, N_{nmax}(z)\) の値を並べた配列。
An array composed of the values of \(N_0(z), N_1(z), \cdots, N_{nmax}(z)\) for \(z\) specified by the argument.


◆使用例(Example)

double complex ∗N=cneumanmulti(3,0.5);

この例では N[0]\(=N_0(0.5)\), N[1]\(=N_1(0.5)\), N[2]\(=N_2(0.5)\), N[3]\(=N_3(0.5)\) となる。
This example gives N[0]\(=N_0(0.5)\), N[1]\(=N_1(0.5)\), N[2]\(=N_2(0.5)\), and N[3]\(=N_3(0.5)\).


◆使用上の注意(Note)

大きな\(z\)についてこの関数を用いると計算が不安定になる可能性が高い。 詳細は関数cneumanのマニュアル参照。
This function may give unstable results for large \(z\). For detail, see the documentation of function cneuman.


◆補足(Additional remarks)

ノイマン関数の計算にはベッセル関数\(J_0(z)\), \(J_1(z)\)が必要になり、 \(n\)が小さい場合にはこれが計算時間の大部分を占める。 複数の\(n\)についてまとめてノイマン関数を求めれば ベッセル関数の計算が一度で済むので計算が速くなる。
The computation of the Neuman function requires Bessel functions \(J_0(z)\) and \(J_1(z)\). Computation for them occupies most of the computation time for the Neuman function when \(n\) is small. Computation of the Neuman function for multiple \(n\) avoids duplicated computations of the Bessel functions, thereby realizing a faster computation.