specfunc-mathieu.texi
来自「math library from gnu」· TEXI 代码 · 共 258 行
TEXI
258 行
@cindex Mathieu functionsThe routines described in this section compute the angular and radialMathieu functions, and their characteristic values. Mathieufunctions are the solutions of the following two differentialequations:@tex\beforedisplay$$\eqalign{{{d^2 y}\over{d v^2}}& + (a - 2q\cos 2v)y = 0, \cr{{d^2 f}\over{d u^2}}& - (a - 2q\cosh 2u)f = 0.}$$\afterdisplay@end tex@ifinfo@exampled^2y/dv^2 + (a - 2q\cos 2v)y = 0d^2f/du^2 - (a - 2q\cosh 2u)f = 0@end example@end ifinfo@noindentThe angular Mathieu functions @math{ce_r(x,q)}, @math{se_r(x,q)} arethe even and odd periodic solutions of the first equation, which is known as Mathieu's equation. These existonly for the discrete sequence of characteristic values @math{a=a_r(q)}(even-periodic) and @math{a=b_r(q)} (odd-periodic).The radial Mathieu functions @c{$Mc^{(j)}_{r}(z,q)$}@math{Mc^@{(j)@}_@{r@}(z,q)}, @c{$Ms^{(j)}_@{r@}(z,q)$}@math{Ms^@{(j)@}_@{r@}(z,q)} are the solutions of the second equation,which is referred to as Mathieu's modified equation. Theradial Mathieu functions of the first, second, third and fourth kindare denoted by the parameter @math{j}, which takes the value 1, 2, 3or 4.@comment The angular Mathieu functions can be divided into four types as@comment @tex@comment \beforedisplay@comment $$@comment \eqalign{@comment x & = \sum_{m=0}^\infty A_{2m+p} \cos(2m+p)\phi, \quad p = 0, 1, \cr@comment x & = \sum_{m=0}^\infty B_{2m+p} \sin(2m+p)\phi, \quad p = 0, 1.@comment }@comment $$@comment \afterdisplay@comment @end tex@comment @ifinfo@comment @example@comment x = \sum_(m=0)^\infty A_(2m+p) \cos(2m+p)\phi, p = 0, 1,@comment x = \sum_(m=0)^\infty B_(2m+p) \sin(2m+p)\phi, p = 0, 1.@comment @end example@comment @end ifinfo@comment @noindent@comment The nomenclature used for the angular Mathieu functions is @math{ce_n}@comment for the first solution and @math{se_n} for the second.@comment Similar solutions exist for the radial Mathieu functions by replacing@comment the trigonometric functions with their corresponding hyperbolic@comment functions as shown below.@comment @tex@comment \beforedisplay@comment $$@comment \eqalign{@comment x & = \sum_{m=0}^\infty A_{2m+p} \cosh(2m+p)u, \quad p = 0, 1, \cr@comment x & = \sum_{m=0}^\infty B_{2m+p} \sinh(2m+p)u, \quad p = 0, 1.@comment }@comment $$@comment \afterdisplay@comment @end tex@comment @ifinfo@comment @example@comment x = \sum_(m=0)^\infty A_(2m+p) \cosh(2m+p)u, p = 0, 1,@comment x = \sum_(m=0)^\infty B_(2m+p) \sinh(2m+p)u, p = 0, 1.@comment @end example@comment @end ifinfo@comment @noindent@comment The nomenclature used for the radial Mathieu functions is @math{Mc_n}@comment for the first solution and @math{Ms_n} for the second. The hyperbolic@comment series do not always converge at an acceptable rate. Therefore most@comment texts on the subject suggest using the following equivalent equations@comment that are expanded in series of Bessel and Hankel functions.@comment @tex@comment \beforedisplay@comment $$@comment \eqalign{@comment Mc_{2n}^{(j)}(x,q) & = \sum_{m=0}^\infty (-1)^{r+k}@comment A_{2m}^{2n}(q)\left[J_m(u_1)Z_m^{(j)}(u_2) +@comment J_m(u_1)Z_m^{(j)}(u_2)\right]/A_2^{2n} \cr@comment Mc_{2n+1}^{(j)}(x,q) & = \sum_{m=0}^\infty (-1)^{r+k}@comment A_{2m+1}^{2n+1}(q)\left[J_m(u_1)Z_{m+1}^{(j)}(u_2) +@comment J_{m+1}(u_1)Z_m^{(j)}(u_2)\right]/A_1^{2n+1} \cr@comment Ms_{2n}^{(j)}(x,q) & = \sum_{m=1}^\infty (-1)^{r+k}@comment B_{2m}^{2n}(q)\left[J_{m-1}(u_1)Z_{m+1}^{(j)}(u_2) +@comment J_{m+1}(u_1)Z_{m-1}^{(j)}(u_2)\right]/B_2^{2n} \cr@comment Ms_{2n+1}^{(j)}(x,q) & = \sum_{m=0}^\infty (-1)^{r+k}@comment B_{2m+1}^{2n+1}(q)\left[J_m(u_1)Z_{m+1}^{(j)}(u_2) +@comment J_{m+1}(u_1)Z_m^{(j)}(u_2)\right]/B_1^{2n+1}@comment }@comment $$@comment \afterdisplay@comment @end tex@comment @ifinfo@comment @example@comment Mc_(2n)^(j)(x,q) = \sum_(m=0)^\infty (-1)^(r+k) A_(2m)^(2n)(q)@comment [J_m(u_1)Z_m^(j)(u_2) + J_m(u_1)Z_m^(j)(u_2)]/A_2^(2n)@comment Mc_(2n+1)^(j)(x,q) = \sum_(m=0)^\infty (-1)^(r+k) A_(2m+1)^(2n+1)(q)@comment [J_m(u_1)Z_(m+1)^(j)(u_2) + J_(m+1)(u_1)Z_m^(j)(u_2)]/A_1^(2n+1)@comment Ms_(2n)^(j)(x,q) = \sum_(m=1)^\infty (-1)^(r+k) B_(2m)^(2n)(q)@comment [J_(m-1)(u_1)Z_(m+1)^(j)(u_2) + J_(m+1)(u_1)Z_(m-1)^(j)(u_2)]/B_2^(2n)@comment Ms_(2n+1)^(j)(x,q) = \sum_(m=0)^\infty (-1)^(r+k) B_(2m+1)^(2n+1)(q)@comment [J_m(u_1)Z_(m+1)^(j)(u_2) + J_(m+1)(u_1)Z_m^(j)(u_2)]/B_1^(2n+1)@comment @end example@comment @end ifinfo@comment @noindent@comment where @c{$u_1 = \sqrt{q} \exp(-x)$} @comment @math{u_1 = \sqrt@{q@} \exp(-x)} and @c{$u_2 = \sqrt@{q@} \exp(x)$}@comment @math{u_2 = \sqrt@{q@} \exp(x)} and@comment @tex@comment \beforedisplay@comment $$@comment \eqalign{@comment Z_m^{(1)}(u) & = J_m(u) \cr@comment Z_m^{(2)}(u) & = Y_m(u) \cr@comment Z_m^{(3)}(u) & = H_m^{(1)}(u) \cr@comment Z_m^{(4)}(u) & = H_m^{(2)}(u)@comment }@comment $$@comment \afterdisplay@comment @end tex@comment @ifinfo@comment @example@comment Z_m^(1)(u) = J_m(u)@comment Z_m^(2)(u) = Y_m(u)@comment Z_m^(3)(u) = H_m^(1)(u)@comment Z_m^(4)(u) = H_m^(2)(u)@comment @end example@comment @end ifinfo@comment @noindent@comment where @math{J_m(u)}, @math{Y_m(u)}, @math{H_m^{(1)}(u)}, and@comment @math{H_m^{(2)}(u)} are the regular and irregular Bessel functions and@comment the Hankel functions, respectively.For more information on the Mathieu functions, see Abramowitz andStegun, Chapter 20. These functions are defined in the header file@file{gsl_sf_mathieu.h}.@menu* Mathieu Function Workspace:: * Mathieu Function Characteristic Values:: * Angular Mathieu Functions:: * Radial Mathieu Functions:: @end menu@node Mathieu Function Workspace@subsection Mathieu Function WorkspaceThe Mathieu functions can be computed for a single order orfor multiple orders, using array-based routines. The array-basedroutines require a preallocated workspace.@deftypefun {gsl_sf_mathieu_workspace *} gsl_sf_mathieu_alloc (size_t @var{n}, double @var{qmax})This function returns a workspace for the array versions of theMathieu routines. The arguments @var{n} and @var{qmax} specify themaximum order and @math{q}-value of Mathieu functions which can becomputed with this workspace. @comment This is required in order to properly@comment terminate the infinite eigenvalue matrix for high precision solutions.@comment The characteristic values for all orders @math{0 \to n} are stored in@comment the work structure array element @kbd{work->char_value}.@end deftypefun@deftypefun void gsl_sf_mathieu_free (gsl_sf_mathieu_workspace @var{*work})This function frees the workspace @var{work}.@end deftypefun@node Mathieu Function Characteristic Values@subsection Mathieu Function Characteristic Values@cindex Mathieu Function Characteristic Values@deftypefun int gsl_sf_mathieu_a (int @var{n}, double @var{q}, gsl_sf_result @var{*result})@deftypefunx int gsl_sf_mathieu_b (int @var{n}, double @var{q}, gsl_sf_result @var{*result})These routines compute the characteristic values @math{a_n(q)},@math{b_n(q)} of the Mathieu functions @math{ce_n(q,x)} and@math{se_n(q,x)}, respectively.@end deftypefun@deftypefun int gsl_sf_mathieu_a_array (int @var{order_min}, int @var{order_max}, double @var{q}, gsl_sf_mathieu_workspace @var{*work}, double @var{result_array}[])@deftypefunx int gsl_sf_mathieu_b_array (int @var{order_min}, int @var{order_max}, double @var{q}, gsl_sf_mathieu_workspace @var{*work}, double @var{result_array}[])These routines compute a series of Mathieu characteristic values@math{a_n(q)}, @math{b_n(q)} for @math{n} from @var{order_min} to@var{order_max} inclusive, storing the results in the array @var{result_array}.@end deftypefun@node Angular Mathieu Functions@subsection Angular Mathieu Functions@cindex Angular Mathieu Functions@cindex @math{ce(q,x)}, Mathieu function@cindex @math{se(q,x)}, Mathieu function@deftypefun int gsl_sf_mathieu_ce (int @var{n}, double @var{q}, double @var{x}, gsl_sf_result @var{*result})@deftypefunx int gsl_sf_mathieu_se (int @var{n}, double @var{q}, double @var{x}, gsl_sf_result @var{*result})These routines compute the angular Mathieu functions @math{ce_n(q,x)}and @math{se_n(q,x)}, respectively.@end deftypefun@deftypefun int gsl_sf_mathieu_ce_array (int @var{nmin}, int @var{nmax}, double @var{q}, double @var{x}, gsl_sf_mathieu_workspace @var{*work}, double @var{result_array}[])@deftypefunx int gsl_sf_mathieu_se_array (int @var{nmin}, int @var{nmax}, double @var{q}, double @var{x}, gsl_sf_mathieu_workspace @var{*work}, double @var{result_array}[])These routines compute a series of the angular Mathieu functions@math{ce_n(q,x)} and @math{se_n(q,x)} of order @math{n} from@var{nmin} to @var{nmax} inclusive, storing the results in the array@var{result_array}.@end deftypefun@node Radial Mathieu Functions@subsection Radial Mathieu Functions@cindex Radial Mathieu Functions@deftypefun int gsl_sf_mathieu_Mc (int @var{j}, int @var{n}, double @var{q}, double @var{x}, gsl_sf_result @var{*result})@deftypefunx int gsl_sf_mathieu_Ms (int @var{j}, int @var{n}, double @var{q}, double @var{x}, gsl_sf_result @var{*result})These routines compute the radial @var{j}-th kind Mathieu functions@c{$Mc_n^{(j)}(q,x)$}@math{Mc_n^@{(j)@}(q,x)} and @c{$Ms_n^{(j)}(q,x)$}@math{Ms_n^@{(j)@}(q,x)} of order @var{n}.The allowed values of @var{j} are 1 and 2.The functions for @math{j = 3,4} can be computed as @c{$M_n^{(3)} = M_n^{(1)} + iM_n^{(2)}$}@math{M_n^@{(3)@} = M_n^@{(1)@} + iM_n^@{(2)@}} and @c{$M_n^{(4)} = M_n^{(1)} - iM_n^{(2)}$}@math{M_n^@{(4)@} = M_n^@{(1)@} - iM_n^@{(2)@}},where @c{$M_n^{(j)} = Mc_n^{(j)}$}@math{M_n^@{(j)@} = Mc_n^@{(j)@}} or @c{$Ms_n^{(j)}$}@math{Ms_n^@{(j)@}}.@end deftypefun@deftypefun int gsl_sf_mathieu_Mc_array (int @var{j}, int @var{nmin}, int @var{nmax}, double @var{q}, double @var{x}, gsl_sf_mathieu_workspace @var{*work}, double @var{result_array}[])@deftypefunx int gsl_sf_mathieu_Ms_array (int @var{j}, int @var{nmin}, int @var{nmax}, double @var{q}, double @var{x}, gsl_sf_mathieu_workspace @var{*work}, double @var{result_array}[])These routines compute a series of the radial Mathieu functions ofkind @var{j}, with order from @var{nmin} to @var{nmax} inclusive, storing theresults in the array @var{result_array}.@end deftypefun
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?