diff options
Diffstat (limited to 'gsl-1.9/doc/specfunc-mathieu.texi')
-rw-r--r-- | gsl-1.9/doc/specfunc-mathieu.texi | 257 |
1 files changed, 257 insertions, 0 deletions
diff --git a/gsl-1.9/doc/specfunc-mathieu.texi b/gsl-1.9/doc/specfunc-mathieu.texi new file mode 100644 index 0000000..dddec1d --- /dev/null +++ b/gsl-1.9/doc/specfunc-mathieu.texi @@ -0,0 +1,257 @@ +@cindex Mathieu functions + +The routines described in this section compute the angular and radial +Mathieu functions, and their characteristic values. Mathieu +functions are the solutions of the following two differential +equations: +@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 + +@example +d^2y/dv^2 + (a - 2q\cos 2v)y = 0 +d^2f/du^2 - (a - 2q\cosh 2u)f = 0 +@end example + +@end ifinfo +@noindent +The angular Mathieu functions @math{ce_r(x,q)}, @math{se_r(x,q)} are +the even and odd periodic solutions of the first equation, which is known as Mathieu's equation. These exist +only 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. The +radial Mathieu functions of the first, second, third and fourth kind +are denoted by the parameter @math{j}, which takes the value 1, 2, 3 +or 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 and +Stegun, 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 Workspace + +The Mathieu functions can be computed for a single order or +for multiple orders, using array-based routines. The array-based +routines 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 the +Mathieu routines. The arguments @var{n} and @var{qmax} specify the +maximum order and @math{q}-value of Mathieu functions which can be +computed 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 of +kind @var{j}, with order from @var{nmin} to @var{nmax} inclusive, storing the +results in the array @var{result_array}. +@end deftypefun + |