summaryrefslogtreecommitdiff
path: root/gsl-1.9/doc/specfunc-mathieu.texi
diff options
context:
space:
mode:
Diffstat (limited to 'gsl-1.9/doc/specfunc-mathieu.texi')
-rw-r--r--gsl-1.9/doc/specfunc-mathieu.texi257
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
+