
@menu
* Introduction to Elliptic Functions and Integrals::
* Functions and Variables for Elliptic Functions::
* Functions and Variables for Elliptic Integrals::
@end menu



@node Introduction to Elliptic Functions and Integrals, Functions and Variables for Elliptic Functions, , Top
@comment  node-name,  next,  previous,  up

@section Introduction to Elliptic Functions and Integrals

Maximaは、Jacobiの楕円関数と不完全楕円積分のサポートを含みます。
これは、数値評価はもちろんこれらの関数のシンボル操作を含みます。
これらの関数の定義と、プロパティの多くは
Abramowitz and Stegun, 16--17章にあります。
可能な限り、そこれで与えられた定義と関係を使います。

特に、すべての楕円関数と積分は、
法@math{k}や率角@math{\alpha}の代わりにパラメータ@math{m}を使います。

これは、
楕円関数のために率角を使うAbramowitz and Stegunと違っているところです。
以下の関係は真です:
@ifinfo
@math{m = k^2} and @math{k = \sin(\alpha)}
@end ifinfo
@tex
$$m = k^2$$ and $$k = \sin\alpha $$
@end tex

楕円関数と積分は、主としてシンボル計算をサポートするように意図されています。
それ故に、関数と積分の導関数のほとんどが知られています。
しかしながら、もし浮動小数点値が与えられたなら、
浮動小数点の結果が返されます。

楕円関数と積分の他の性質のほとんどのサポートはまだ書かれていません。

楕円関数のいくつかの例:
@c ===beg===
@c jacobi_sn (u, m);
@c jacobi_sn (u, 1);
@c jacobi_sn (u, 0);
@c diff (jacobi_sn (u, m), u);
@c diff (jacobi_sn (u, m), m);
@c ===end===
@example
(%i1) jacobi_sn (u, m);
(%o1)                    jacobi_sn(u, m)
(%i2) jacobi_sn (u, 1);
(%o2)                        tanh(u)
(%i3) jacobi_sn (u, 0);
(%o3)                        sin(u)
(%i4) diff (jacobi_sn (u, m), u);
(%o4)            jacobi_cn(u, m) jacobi_dn(u, m)
(%i5) diff (jacobi_sn (u, m), m);
(%o5) jacobi_cn(u, m) jacobi_dn(u, m)

      elliptic_e(asin(jacobi_sn(u, m)), m)
 (u - ------------------------------------)/(2 m)
                     1 - m

            2
   jacobi_cn (u, m) jacobi_sn(u, m)
 + --------------------------------
              2 (1 - m)
@end example

楕円積分のいくつかの例:
@c ===beg===
@c elliptic_f (phi, m);
@c elliptic_f (phi, 0);
@c elliptic_f (phi, 1);
@c elliptic_e (phi, 1);
@c elliptic_e (phi, 0);
@c elliptic_kc (1/2);
@c makegamma (%);
@c diff (elliptic_f (phi, m), phi);
@c diff (elliptic_f (phi, m), m);
@c ===end===
@example
(%i1) elliptic_f (phi, m);
(%o1)                  elliptic_f(phi, m)
(%i2) elliptic_f (phi, 0);
(%o2)                          phi
(%i3) elliptic_f (phi, 1);
                               phi   %pi
(%o3)                  log(tan(--- + ---))
                                2     4
(%i4) elliptic_e (phi, 1);
(%o4)                       sin(phi)
(%i5) elliptic_e (phi, 0);
(%o5)                          phi
(%i6) elliptic_kc (1/2);
                                     1
(%o6)                    elliptic_kc(-)
                                     2
(%i7) makegamma (%);
                                 2 1
                            gamma (-)
                                   4
(%o7)                      -----------
                           4 sqrt(%pi)
(%i8) diff (elliptic_f (phi, m), phi);
                                1
(%o8)                 ---------------------
                                    2
                      sqrt(1 - m sin (phi))
(%i9) diff (elliptic_f (phi, m), m);
       elliptic_e(phi, m) - (1 - m) elliptic_f(phi, m)
(%o9) (-----------------------------------------------
                              m

                                 cos(phi) sin(phi)
                             - ---------------------)/(2 (1 - m))
                                             2
                               sqrt(1 - m sin (phi))
@end example

楕円関数と積分のサポートは、Raymond Toyによって書かれました。
Maximaの配布を管理するGeneral Public License (GPL)の条件のもと置かれています。

@opencatbox
@category{Elliptic functions}
@closecatbox

@node Functions and Variables for Elliptic Functions, Functions and Variables for Elliptic Integrals, Introduction to Elliptic Functions and Integrals, Top
@comment  node-name,  next,  previous,  up

@section Functions and Variables for Elliptic Functions

@deffn {関数} jacobi_sn (@var{u}, @var{m})
Jacobiの楕円関数@math{sn(u,m)}

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} jacobi_cn (@var{u}, @var{m})
Jacobiの楕円関数@math{cn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} jacobi_dn (@var{u}, @var{m})
Jacobiの楕円関数@math{dn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} jacobi_ns (@var{u}, @var{m})
Jacobiの楕円関数@math{ns(u,m) = 1/sn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} jacobi_sc (@var{u}, @var{m})
Jacobiの楕円関数@math{sc(u,m) = sn(u,m)/cn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} jacobi_sd (@var{u}, @var{m})
Jacobiの楕円関数@math{sd(u,m) = sn(u,m)/dn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} jacobi_nc (@var{u}, @var{m})
Jacobiの楕円関数@math{nc(u,m) = 1/cn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} jacobi_cs (@var{u}, @var{m})
Jacobiの楕円関数@math{cs(u,m) = cn(u,m)/sn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} jacobi_cd (@var{u}, @var{m})
Jacobiの楕円関数@math{cd(u,m) = cn(u,m)/dn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} jacobi_nd (@var{u}, @var{m})
Jacobiの楕円関数@math{nc(u,m) = 1/cn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} jacobi_ds (@var{u}, @var{m})
Jacobiの楕円関数@math{ds(u,m) = dn(u,m)/sn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} jacobi_dc (@var{u}, @var{m})
Jacobiの楕円関数@math{dc(u,m) = dn(u,m)/cn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} inverse_jacobi_sn (@var{u}, @var{m})
Jacobiの楕円関数の逆関数@math{sn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} inverse_jacobi_cn (@var{u}, @var{m})
Jacobiの楕円関数の逆関数@math{cn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} inverse_jacobi_dn (@var{u}, @var{m})
Jacobiの楕円関数の逆関数@math{dn(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} inverse_jacobi_ns (@var{u}, @var{m})
Jacobiの楕円関数の逆関数@math{ns(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} inverse_jacobi_sc (@var{u}, @var{m})
Jacobiの楕円関数の逆関数@math{sc(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} inverse_jacobi_sd (@var{u}, @var{m})
Jacobiの楕円関数の逆関数@math{sd(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} inverse_jacobi_nc (@var{u}, @var{m})
Jacobiの楕円関数の逆関数@math{nc(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} inverse_jacobi_cs (@var{u}, @var{m})
Jacobiの楕円関数の逆関数@math{cs(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} inverse_jacobi_cd (@var{u}, @var{m})
Jacobiの楕円関数の逆関数@math{cd(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} inverse_jacobi_nd (@var{u}, @var{m})
Jacobiの楕円関数の逆関数@math{nc(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} inverse_jacobi_ds (@var{u}, @var{m})
Jacobiの楕円関数の逆関数@math{ds(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn

@deffn {関数} inverse_jacobi_dc (@var{u}, @var{m})
Jacobiの楕円関数の逆関数@math{dc(u,m)}.

@opencatbox
@category{Elliptic functions}
@closecatbox
@end deffn


@node Functions and Variables for Elliptic Integrals, , Functions and Variables for Elliptic Functions, Top
@comment  node-name,  next,  previous,  up

@section Functions and Variables for Elliptic Integrals

@anchor{elliptic_f}
@deffn {関数} elliptic_f (@var{phi}, @var{m})
以下のように定義された第一種不完全楕円積分

@ifhtml
@math{integrate(1/sqrt(1 - m*sin(x)^2), x, 0, phi)}
@end ifhtml
@ifinfo
@math{integrate(1/sqrt(1 - m*sin(x)^2), x, 0, phi)}
@end ifinfo

@tex
$$\int_0^\phi {{d\theta}\over{\sqrt{1 - m\sin^2\theta}}}$$
@end tex

@ref{elliptic_e}と@ref{elliptic_kc}も参照してください。

@opencatbox
@category{Elliptic integrals}
@closecatbox
@end deffn

@anchor{elliptic_e}
@deffn {関数} elliptic_e (@var{phi}, @var{m})
以下のように定義された第二種不完全楕円積分

@ifhtml
@math{elliptic_e(phi, m) = integrate(sqrt(1 - m*sin(x)^2), x, 0, phi)}
@end ifhtml
@ifinfo
@math{elliptic_e(phi, m) = integrate(sqrt(1 - m*sin(x)^2), x, 0, phi)}
@end ifinfo
@tex
$$\int_0^\phi \sqrt{1 - m\sin^2\theta} d\theta$$
@end tex

@ref{elliptic_e}と@ref{elliptic_ec}も参照してください。

@opencatbox
@category{Elliptic integrals}
@closecatbox
@end deffn

@anchor{elliptic_eu}
@deffn {関数} elliptic_eu (@var{u}, @var{m})
以下のように定義された第二種不完全楕円積分

@ifhtml
@math{integrate(dn(v,m)^2,v,0,u) = integrate(sqrt(1-m*t^2)/sqrt(1-t^2), t, 0, tau)}

ここで、@math{tau = sn(u,m)}.
@end ifhtml
@ifinfo
@math{integrate(dn(v,m)^2,v,0,u) = integrate(sqrt(1-m*t^2)/sqrt(1-t^2), t, 0, tau)}

ここで、@math{tau = sn(u,m)}.
@end ifinfo
@tex
$$\int_0^u {\rm dn}(v, m) dv  = \int_0^\tau \sqrt{{1-m t^2}\over{1-t^2}} dt$$

where $\tau = {\rm sn}(u, m)$.
@end tex

これは、

@ifhtml
@math{elliptic_eu(u, m) = elliptic_e(asin(sn(u,m)),m)}
@end ifhtml
@ifinfo
@math{elliptic_eu(u, m) = elliptic_e(asin(sn(u,m)),m)}
@end ifinfo
@tex
$$E(u,m) = E(\phi, m)$$

where $\phi = \sin^{-1} {\rm sn}(u, m)$.
@end tex
によって@math{elliptic_e}と関連付けられます。

@ref{elliptic_e}も参照してください。
@opencatbox
@category{Elliptic integrals}
@closecatbox
@end deffn

@deffn {関数} elliptic_pi (@var{n}, @var{phi}, @var{m})
以下のように定義された第三種不完全楕円積分

@ifhtml
@math{integrate(1/(1-n*sin(x)^2)/sqrt(1 - m*sin(x)^2), x, 0, phi)}
@end ifhtml
@ifinfo
@math{integrate(1/(1-n*sin(x)^2)/sqrt(1 - m*sin(x)^2), x, 0, phi)}
@end ifinfo
@tex
$$\int_0^\phi {{d\theta}\over{(1-n\sin^2 \theta)\sqrt{1 - m\sin^2\theta}}}$$
@end tex

Maximaが知っている@math{phi}に関する唯一の導関数

@opencatbox
@category{Elliptic integrals}
@closecatbox
@end deffn

@anchor{elliptic_kc}
@deffn {関数} elliptic_kc (@var{m})
以下のように定義された第一種完全楕円積分

@ifhtml
@math{integrate(1/sqrt(1 - m*sin(x)^2), x, 0, %pi/2)}
@end ifhtml
@ifinfo
@math{integrate(1/sqrt(1 - m*sin(x)^2), x, 0, %pi/2)}
@end ifinfo

@tex
$$\int_0^{{\pi}\over{2}} {{d\theta}\over{\sqrt{1 - m\sin^2\theta}}}$$
@end tex
@math{m}のある値に関して
積分の値は@math{Gamma}関数で表されることが知られています。
それらを評価するには@code{makegamma}を使ってください。

@opencatbox
@category{Elliptic integrals}
@closecatbox
@end deffn

@anchor{elliptic_ec}
@deffn {関数} elliptic_ec (@var{m})
以下のように定義された第二種完全楕円積分

@ifhtml
@math{integrate(sqrt(1 - m*sin(x)^2), x, 0, %pi/2)}
@end ifhtml
@ifinfo
@math{integrate(sqrt(1 - m*sin(x)^2), x, 0, %pi/2)}
@end ifinfo

@tex
$$\int_0^{{\pi}\over{2}} \sqrt{1 - m\sin^2\theta} d\theta$$
@end tex
@math{m}のある値に関して
積分の値は@math{Gamma}関数で表されることが知られています。
それらを評価するには@code{makegamma}を使ってください。

@opencatbox
@category{Elliptic integrals}
@closecatbox
@end deffn

