[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

# 15. Special Functions

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 15.1 Introduction to Special Functions

特殊函数表記は以下の通りです:

    bessel_j (index, expr)         第一種ベッセル函数
    bessel_y (index, expr)         第二種ベッセル函数
    bessel_i (index, expr)         第一種変形ベッセル函数
    bessel_k (index, expr)         第二種変形ベッセル函数

    hankel_1 (v,z)                 第一種ハンケル函数
    hankel_2 (v,z)                 第二種ハンケル函数
    struve_h (v,z)                 シュトルーベH函数
    struve_l (v,z)                 シュトルーベL函数

    assoc_legendre_p[v,u] (z)      位数v、次数uのルジャンドル函数
    assoc_legendre_q[v,u] (z)      第二種ルジャンドル函数

    %f[p,q] ([], [], expr)         一般化超幾何函数
    gamma (z)                      ガンマ函数
    gamma_incomplete_lower (a,z)   第一種不完全ガンマ函数
    gammaincomplete (a,z)          第二種不完全ガンマ函数
    hypergeometric (l1, l2, z)     超幾何函数
    slommel
    %m[u,k] (z)                    第一種Whittaker函数
    %w[u,k] (z)                    第二種Whittaker函数
    erfc (z)                       相補誤差函数
    ei (z)                         指数積分 (?)
    kelliptic (z)                  第一種完全楕円積分 (K)
    parabolic_cylinder_d (v,z)     放物円筒D函数

Categories: Bessel functions · Airy functions · Special functions

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 15.2 Bessel Functions

関数: bessel_j (v, z)

  次数 vと独立変数 zの第一種ベッセル函数。

  `bessel_j`は以下のように定義されます。

                      inf
                      ====       k  - v - 2 k  v + 2 k
                      \     (- 1)  2          z
                       >    --------------------------
                      /        k! gamma(v + k + 1)
                      ====
                      k = 0

  計算のために無限級数は使われませんが。

  Categories: Bessel functions · Special functions

関数: bessel_y (v, z)

  次数 vと独立変数 zの第二種ベッセル函数

  vが整数でない時、 `bessel_y`は以下のように定義されます。

                    cos(%pi v) bessel_j(v, z) - bessel_j(-v, z)
                    -------------------------------------------
                                   sin(%pi v)

  vが整数 nの時、 vが nに近づく極限が取られます。

  Categories: Bessel functions · Special functions

関数: bessel_i (v, z)

  次数 v、独立変数 zの第一種変形ベッセル函数

  `bessel_i`は以下のように定義されます。

                          inf
                          ====   - v - 2 k  v + 2 k
                          \     2          z
                           >    -------------------
                          /     k! gamma(v + k + 1)
                          ====
                          k = 0

  無限級数は計算には使われませんが。

  Categories: Bessel functions · Special functions

関数: bessel_k (v, z)

  次数 v、独立変数 zの第二種変形ベッセル函数

  vが整数の時 `bessel_k`は以下のように定義されます。

                 %pi csc(%pi v) (bessel_i(-v, z) - bessel_i(v, z))
                 -------------------------------------------------
                                        2

  もし vが整数 nでないなら、 vが nに近づく極限が取られます。

  Categories: Bessel functions · Special functions

関数: hankel_1 (v, z)

  次数 v、独立変数 zの第一種ハンケル函数 (A&S 9.1.3)。 `hankel_1`は以下のように定義されます。

         bessel_j(v,z) + %i * bessel_y(v,z)

  Maximaは浮動小数点精度の複素次数 vと複素独立変数 zに対して `hankel_1`を数値的に評価します。 多倍長浮動小数点精度の数値評価はサポートされていません。

  `besselexpand`が `true`の時、 次数 vが奇数の1/2の時 `hankel_1`は初等函数の項に展開されます。 `besselexpand`を参照してください。

  Maximaは `hankel_1`の独立変数 zに関する導函数を知っています。

  例:

  数値評価:

      (%i1) hankel_1(1,0.5);
      (%o1)        0.24226845767487 - 1.471472392670243 %i
      (%i2) hankel_1(1,0.5+%i);
      (%o2)       - 0.25582879948621 %i - 0.23957560188301

  `besselexpand`が `true`の時の `hankel_1`の展開:

      (%i1) hankel_1(1/2,z),besselexpand:true;
                     sqrt(2) sin(z) - sqrt(2) %i cos(z)
      (%o1)          ----------------------------------
                             sqrt(%pi) sqrt(z)

  `hankel_1`の独立変数 zに関する導函数。 次数 vに関する導函数はサポートされていません。 Maximaは名詞形を返します:

      (%i1) diff(hankel_1(v,z),z);
                   hankel_1(v - 1, z) - hankel_1(v + 1, z)
      (%o1)        ---------------------------------------
                                      2
      (%i2) diff(hankel_1(v,z),v);
                             d
      (%o2)                  -- (hankel_1(v, z))
                             dv

  Categories: Bessel functions · Special functions

関数: hankel_2 (v, z)

  次数 v、独立変数 zの第二種ハンケル函数 (A&S 9.1.4)。 `hankel_2`は以下のように定義されます。

         bessel_j(v,z) - %i * bessel_y(v,z)

  Maximaは浮動小数点精度の複素次数 vと複素独立変数 zに対して `hankel_2`を数値的に評価します。 多倍長浮動小数点精度の数値評価はサポートされていません。

  `besselexpand`が `true`の時、 次数 vが奇数の1/2の時 `hankel_2`は初等函数の項に展開されます。 `besselexpand`を参照してください。

  Maximaは `hankel_2`の独立変数 zに関する導函数を知っています。

  例は `hankel_1`を参照してください。

  Categories: Bessel functions · Special functions

オプション変数: besselexpand

  デフォルト値: `false`

  次数が半奇数の時のベッセル函数の展開を制御します。 この場合、ベッセル函数は他の初等函数で展開することができます。 `besselexpand`が `true`の時、ベッセル函数は展開されます。

      (%i1) besselexpand: false$
      (%i2) bessel_j (3/2, z);
                                          3
      (%o2)                      bessel_j(-, z)
                                          2
      (%i3) besselexpand: true$
      (%i4) bessel_j (3/2, z);
                                              sin(z)   cos(z)
                             sqrt(2) sqrt(z) (------ - ------)
                                                 2       z
                                                z
      (%o4)                  ---------------------------------
                                         sqrt(%pi)

  Categories: Bessel functions · Simplification flags and variables Special functions

関数: scaled_bessel_i (v, z)

  次数 v、独立変数 zの、スケールされた第一種変形ベッセル函数。 すなわち scaled_bessel_i(v,z) = exp(-abs(z))*bessel_i(v, z)。 この関数は大きな zに関する bessel_i―これはおおきくなりますーの計算に特に役に立ちます。 しかしながら、そうでないなら Maximaはこの関数についてあまり知りません。 数式処理のためには式 `exp(-abs(z))*bessel_i(v, z)`を使って取り組むのが多分望ましいです。

  Categories: Bessel functions

関数: scaled_bessel_i0 (z)

  `scaled_bessel_i(0,z)`と同一です。

  Categories: Bessel functions · Special functions

関数: scaled_bessel_i1 (z)

  `scaled_bessel_i(1,z)`と同一です。

  Bessel functions · Special functions

関数: %s [u,v] (z)

  Lommelの小s[u,v](z)函数。 多分 Gradshteyn & Ryzhik 8.570.1.

  Bessel functions · Special functions

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 15.3 Airy Functions

エアリー函数Ai(x)とBi(x)は、Abramowitz and Stegun, Handbook of Mathematical Functions, Section 10.4の中で定義されています。

`y = Ai(x)`と`y = Bi(x)`はエアリー微分方程式 `diff (y(x), x, 2) - x y(x) = 0`の２つの線形独立な解です。

もし引数 `x`が実数か複素数の浮動小数点数なら関数の数値が返されます。

関数: airy_ai (x)

  エアリー函数Ai(x)。 (A&S 10.4.2)

  導函数 `diff (airy_ai(x), x)`は `airy_dai(x)`です。

  `airy_bi`, `airy_dai`, `airy_dbi`も参照してください。

  Categories: Airy functions · Special functions

関数: airy_dai (x)

  エアリー函数Ai `airy_ai(x)`の導函数。

  `airy_ai`を参照してください。

  Categories: Airy functions · Special functions

関数: airy_bi (x)

  エアリー函数Bi(x)。 (A&S 10.4.3)

  導函数 `diff (airy_bi(x), x)`は `airy_dbi(x)`です。

  `airy_ai`, `airy_dbi`を参照してください。

  Categories: Airy functions · Special functions

関数: airy_dbi (x)

  エアリーBi函数 `airy_bi(x)`の導函数。

  `airy_ai`と `airy_bi`を参照してください。

  Categories: Airy functions · Special functions

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 15.4 Gamma and factorial Functions

ガンマ函数と、関連したベータ、プサイ、不完全ガンマ函数は Abramowitz and Stegun, Handbook of Mathematical Functions, Chapter 6の中で定義されています。

関数: bffac (expr, n)

  階乗（シフトガンマ）函数の多倍長浮動小数点バージョン。 ２番目の引数は、保持し返す桁数です。 少しの余分を要請するのはいい考えです。

  Categories: Gamma and factorial functions · Numerical evaluation

関数: bfpsi (n, z, fpprec)
関数: bfpsi0 (z, fpprec)

  `bfpsi`は実引数 zと整数次数 nの多ガンマ函数です。 `bfpsi0`はディガンマ函数です。 `bfpsi0 (z, fpprec)`は `bfpsi (0, z, fpprec)`と同値です。

  これらの関数は多倍長浮動小数点値を返します。 fpprecは戻り値の多倍長浮動小数点精度です。

  Categories: Gamma and factorial functions · Numerical evaluation

関数: cbffac (z, fpprec)

  複素多倍長浮動小数点の階乗です。

  `load ("bffac")`はこの関数をロードします。

  Categories: Gamma and factorial functions · Complex variables · Numerical evaluation

関数: gamma (z)

  ガンマ函数の基本的な定義 (A&S 6.1.1) は、

                               inf
                              /
                              [     z - 1   - t
                   gamma(z) = I    t      %e    dt
                              ]
                              /
                               0

  です。

  Maximaは正の整数と正負の有理数に関して `gamma`を整理します。 半整数値に関して結果は有理数掛ける `sqrt(%pi)`です。 整数値に関する整理は `factlim`によって制御されます。

  `factlim`より大きな整数に関して 階乗函数ー`gamma`を計算するのに使われますーの数値的な結果はオーバーフローします。 有理数に関する整理は、内部オーバーフローを避けるために `gammalim`によって制御されます。 `factlim`と `gammalim`も参照してください。

  負の整数に関して `gamma`は未定義です。

  Maximaは浮動小数点および多倍長浮動小数点の実数値および複素数値に関して `gamma`を数値的に評価できます。

  `gamma`は鏡像対称性を持ちます。

  `gamma_expand`が `true`の時、 Maximaは引数 `z+n`と `z-n`―`n`は整数―の `gamma`を展開します。

  Maximaは `gamma`の導函数を知っています。

  例:

  整数、半整数、有理数に関する整理:

      (%i1) map('gamma,[1,2,3,4,5,6,7,8,9]);
      (%o1)        [1, 1, 2, 6, 24, 120, 720, 5040, 40320]
      (%i2) map('gamma,[1/2,3/2,5/2,7/2]);
                          sqrt(%pi)  3 sqrt(%pi)  15 sqrt(%pi)
      (%o2)   [sqrt(%pi), ---------, -----------, ------------]
                              2           4            8
      (%i3) map('gamma,[2/3,5/3,7/3]);
                                        2           1
                                2 gamma(-)  4 gamma(-)
                            2           3           3
      (%o3)          [gamma(-), ----------, ----------]
                            3       3           9

  実数と複素数の数値評価:

      (%i4) map('gamma,[2.5,2.5b0]);
      (%o4)     [1.329340388179137, 1.329340388179137b0]
      (%i5) map('gamma,[1.0+%i,1.0b0+%i]);
      (%o5) [.4980156681183558 - .1549498283018108 %i,
               4.980156681183561b-1 - 1.549498283018107b-1 %i]

  `gamma`は鏡像対称性を持ちます:

      (%i6) declare(z,complex)$
      (%i7) conjugate(gamma(z));
      (%o7)                  gamma(conjugate(z))

  `gamma_expand`が `true`の時 Maximaは `gamma(z+n)`と `gamma(z-n)`を展開します:

      (%i8) gamma_expand:true$

      (%i9) [gamma(z+1),gamma(z-1),gamma(z+2)/gamma(z+1)];
                                     gamma(z)
      (%o9)             [z gamma(z), --------, z + 1]
                                      z - 1

  `gamma`の導函数:

      (%i10) diff(gamma(z),z);
      (%o10)                  psi (z) gamma(z)
                                 0

  `makegamma`も参照してください。

  オイラー-マスケローニ定数は `%gamma`です。

  Categories: Gamma and factorial functions · Special functions

関数: log_gamma (z)

  ガンマ函数の自然対数。

  Categories: Gamma and factorial functions · Special functions

関数: gamma_incomplete_lower (a, z)

  第一種不完全ガンマ函数 (A&S 6.5.2):

                                          z
                                         /
                                         [  a - 1   - t
          gamma_incomplete_lower(a, z) = I t      %e    dt
                                         ]
                                         /
                                          0

  `gamma_incomplete` (上側不完全ガンマ函数)も参照してください。

  Categories: Gamma and factorial functions · Special functions

関数: gamma_incomplete (a,z)

  第二種不完全ガンマ函数 (A&S 6.5.3):

                                    inf
                                   /
                                   [     a - 1   - t
          gamma_incomplete(a, z) = I    t      %e    dt
                                   ]
                                   /
                                    z

  初等函数と `erfc`の項でいかに `gamma_incomplete`を表すかを制御するには、 `gamma_expand`も参照してください。

  関連の関数 `gamma_incomplete_regularized`や `gamma_incomplete_generalized`も参照してください。

  Categories: Gamma and factorial functions · Special functions

関数: gamma_incomplete_regularized (a, z)

  正則第二種不完全ガンマ函数 (A&S 6.5.1):

      gamma_incomplete_regularized(a, z) =
                                              gamma_incomplete(a, z)
                                              ----------------------
                                                     gamma(a)

  初等函数と `erfc`の項でいかに `gamma_incomplete`を表すかを制御するには、 `gamma_expand`も参照してください。

  `gamma_incomplete`も参照してください。

  Categories: Gamma and factorial functions · Special functions

関数: gamma_incomplete_generalized (a,z1,z1 )

  一般化不完全ガンマ函数

      gamma_incomplete_generalized(a, z1, z2) =
                                                     z2
                                                    /
                                                    [    a - 1   - t
                                                    I   t      %e    dt
                                                    ]
                                                    /
                                                     z1

  `gamma_incomplete`や `gamma_incomplete_regularized`も参照してください。

  Categories: Gamma and factorial functions · Special functions

オプション変数: gamma_expand

  デフォルト値: `false`

  `gamma_expand`は `gamma_incomplete`の展開を制御します。 `gamma_expand`が `true`の時、 `gamma_incomplete(v,z)`は、可能なら、 `z`, `exp(z)`, `erfc(z)`の項で展開されます。

      (%i1) gamma_incomplete(2,z);
      (%o1)                       gamma_incomplete(2, z)
      (%i2) gamma_expand:true;
      (%o2)                                true
      (%i3) gamma_incomplete(2,z);
                                                 - z
      (%o3)                            (z + 1) %e
      (%i4) gamma_incomplete(3/2,z);
                                    - z   sqrt(%pi) erfc(sqrt(z))
      (%o4)               sqrt(z) %e    + -----------------------
                                                     2

  Categories: Gamma and factorial functions · Simplification flags and variables

オプション変数: gammalim

  デフォルト値: 10000

  `gammalim`は整数と有理数引数に関してガンマ函数の整理を制御します。 もし引数の絶対値が `gammalim`よりも大きくないなら整理が行われます。 `factlim`スイッチは整数引数の `gamma`の結果の整理を制御します。 `factlim`スイッチは整数引数の `gamma`の結果の整理も制御することに注意してください。

  Categories: Gamma and factorial functions · Simplification flags and variables

関数: makegamma (expr)

  exprの中の２項、階乗、ベータ函数のインスタンスをガンマ函数に変換します。

  `makefact`も参照してください。

  Categories: Gamma and factorial functions

関数: beta (a, b)

  ベータ函数は `gamma(a) gamma(b)/gamma(a+b)` (A&S 6.2.1)として定義されます。

  Maximaは、正の整数と、合計すると整数になる有理数についてベータ函数を整理します。 `beta_args_sum_to_integer`が `true`の時、 Maximaは和が整数になる一般式も整理します。

  aか bがゼロに等しい時にはベータ函数は未定義です。

  一般にベータ函数は負の整数の引数で未定義です。 例外は a=-n―nは正の整数―かつ bが b<=nの正の整数で、 解析接続を定義することが可能です。 Maximaはこの場合結果を与えます。

  `beta_expand`が `true`の時、 `n`を整数とする `beta(a+n,b)`と `beta(a-n,b)`、 もしくは `beta(a,b+n)`と `beta(a,b-n)` のような式は整理されます。

  Maximaは、実数値と複素数値のベータ函数を浮動小数点と多倍長浮動小数点精度で評価できます。 数値評価のために Maximaは `log_gamma`を使います:

                 - log_gamma(b + a) + log_gamma(b) + log_gamma(a)
               %e

  Maximaはベータ函数が対称で、鏡像対称性を持つことを知っています。

  Maximaは aか bに関するベータ函数の導函数を知っています。

  ベータ函数をガンマ函数の比として表現するには `makegamma`を参照してください。

  例:

  引数の１つが整数の時の整理:

      (%i1) [beta(2,3),beta(2,1/3),beta(2,a)];
                                     1   9      1
      (%o1)                         [--, -, ---------]
                                     12  4  a (a + 1)

  ２つの有理数引数の和が整数になる時の整理:

      (%i2) [beta(1/2,5/2),beta(1/3,2/3),beta(1/4,3/4)];
                                3 %pi   2 %pi
      (%o2)                    [-----, -------, sqrt(2) %pi]
                                  8    sqrt(3)

  `beta_args_sum_to_integer`を `true`に設定した場合、 引数の和が整数の時より一般的な式を整理します:

      (%i3) beta_args_sum_to_integer:true$
      (%i4) beta(a+1,-a+2);
                                      %pi (a - 1) a
      (%o4)                         ------------------
                                    2 sin(%pi (2 - a))

  引数の１つが負の整数の時、可能な結果:

      (%i5) [beta(-3,1),beta(-3,2),beta(-3,3)];
                                          1  1    1
      (%o5)                            [- -, -, - -]
                                          3  6    3

  `beta_expand`が `true`の時、 `n`が整数として `beta(a+n,b)`や `beta(a-n)`は整理されます:

      (%i6) beta_expand:true$
      (%i7) [beta(a+1,b),beta(a-1,b),beta(a+1,b)/beta(a,b+1)];
                          a beta(a, b)  beta(a, b) (b + a - 1)  a
      (%o7)              [------------, ----------------------, -]
                             b + a              a - 1           b

  引数の１つがゼロの時、ベータは未定義です:

      (%i7) beta(0,b);
      beta: expected nonzero arguments; found 0, b
       -- an error.  To debug this try debugmode(true);

  実数値と複素数値の浮動小数点または多倍長浮動小数点精度での数値評価:

      (%i8) beta(2.5,2.3);
      (%o8) .08694748611299981

      (%i9) beta(2.5,1.4+%i);
      (%o9) 0.0640144950796695 - .1502078053286415 %i

      (%i10) beta(2.5b0,2.3b0);
      (%o10) 8.694748611299969b-2

      (%i11) beta(2.5b0,1.4b0+%i);
      (%o11) 6.401449507966944b-2 - 1.502078053286415b-1 %i

  ベータは対称で、鏡像対称性を持ちます:

      (%i14) beta(a,b)-beta(b,a);
      (%o14)                                 0
      (%i15) declare(a,complex,b,complex)$
      (%i16) conjugate(beta(a,b));
      (%o16)                 beta(conjugate(a), conjugate(b))

  `a`に関するベータ函数の導函数:

      (%i17) diff(beta(a,b),a);
      (%o17)               - beta(a, b) (psi (b + a) - psi (a))
                                            0             0

  Categories: Gamma and factorial functions

関数: beta_incomplete (a, b, z)

  不完全ベータ函数の基本定義(A&S 6.6.1)は以下の通りです。

              z
             /
             [         b - 1  a - 1
             I  (1 - t)      t      dt
             ]
             /
              0

  この定義はrealpart(a)>0かつ realpart(b)>0かつ abs(z)<1で可能です。 他の値では不完全ベータ函数は一般化超幾何函数を通じて定義することができます。

         gamma(a) hypergeometric_generalized([a, 1 - b], [a + 1], z) z

  (不完全ベータ函数の完全な定義については、functions.wolfram.comを参照してください。)

  負の整数 a = -nと正の整数 b=mで m<=nの場合、 不完全ベータ函数は以下を通して定義されます。

                                  m - 1           k
                                  ====  (1 - m)  z
                            n - 1 \            k
                           z       >    -----------
                                  /     k! (n - k)
                                  ====
                                  k = 0

  Maximaは、 負の整数 aに関する `beta_incomplete`を整理するためにこの定義を使います。

  aが正の整数の時 任意の引数 b, zに関して、 bが正の整数の時 非負の整数a, 任意のzに関して、 `beta_incomplete`は整理されます。

  z=0かつ realpart(a)>0の時、 `beta_incomplete`は特別な値ゼロを取ります。 z=1かつ realpart(b)>0の時、 `beta_incomplete`はベータ函数 `beta(a,b)`に整理されます。

  Maximaは、浮動小数点か多倍長浮動小数点精度の実数値と複素数値に対して、 `beta_incomplete`を数値的に評価します。 数値評価に関して不完全ベータ函数の連分数展開を使います。

  オプション変数 `beta_expand`が `true`の時、 Maximaは `beta_incomplete(a+n,b,z)`や `beta_incomplete(a-n,b,z)`のような式を展開します。ここでnは正の整数です。

  Maximaは `beta_incomplete`の変数 a, b, zについての導函数と変数 zについての積分を知っています。

  例:

  正の整数 aに関する整理:

      (%i1) beta_incomplete(2,b,z);
                                             b
                                  1 - (1 - z)  (b z + 1)
      (%o1)                       ----------------------
                                        b (b + 1)

  正の整数 bに関する整理:

      (%i2) beta_incomplete(a,2,z);
                                                     a
                                    (a (1 - z) + 1) z
      (%o2)                         ------------------
                                        a (a + 1)

  正の整数 a, bに関する整理:

      (%i3) beta_incomplete(3,2,z);
                                                     3
                                    (3 (1 - z) + 1) z
      (%o3)                         ------------------
                                            12

  aが負の整数でかつ b<=(-a)の時、Maximaは整理します:

      (%i4) beta_incomplete(-3,1,z);
                                             1
      (%o4)                              - ----
                                              3
                                           3 z

  特定の値 z=0と z=1に関して, Maximaは整理します:

      (%i5) assume(a>0,b>0)$
      (%i6) beta_incomplete(a,b,0);
      (%o6)                                 0
      (%i7) beta_incomplete(a,b,1);
      (%o7)                            beta(a, b)

  浮動小数点または多倍長浮動小数点精度の数値評価:

      (%i8) beta_incomplete(0.25,0.50,0.9);
      (%o8)                          4.594959440269333
      (%i9)  fpprec:25$
      (%i10) beta_incomplete(0.25,0.50,0.9b0);
      (%o10)                    4.594959440269324086971203b0

  abs(z)>1の時 `beta_incomplete`は複素数を返します:

      (%i11) beta_incomplete(0.25,0.50,1.7);
      (%o11)              5.244115108584249 - 1.45518047787844 %i

  より一般的な複素引数に関する結果:

      (%i14) beta_incomplete(0.25+%i,1.0+%i,1.7+%i);
      (%o14)             2.726960675662536 - .3831175704269199 %i
      (%i15) beta_incomplete(1/2,5/4*%i,2.8+%i);
      (%o15)             13.04649635168716 %i - 5.802067956270001
      (%i16)

  `beta_expand`が `true`の時の展開:

      (%i23) beta_incomplete(a+1,b,z),beta_expand:true;
                                                             b  a
                         a beta_incomplete(a, b, z)   (1 - z)  z
      (%o23)             -------------------------- - -----------
                                   b + a                 b + a

      (%i24) beta_incomplete(a-1,b,z),beta_expand:true;
                                                                 b  a - 1
                 beta_incomplete(a, b, z) (- b - a + 1)   (1 - z)  z
      (%o24)     -------------------------------------- - ---------------
                                 1 - a                         1 - a

  `beta_incomplete`の微分と積分:

      (%i34) diff(beta_incomplete(a, b, z), z);
                                    b - 1  a - 1
      (%o34)                 (1 - z)      z
      (%i35) integrate(beta_incomplete(a, b, z), z);
                    b  a
             (1 - z)  z
      (%o35) ----------- + beta_incomplete(a, b, z) z
                b + a
                                             a beta_incomplete(a, b, z)
                                           - --------------------------
                                                       b + a
      (%i36) factor(diff(%, z));
      (%o36)              beta_incomplete(a, b, z)

  Categories: Gamma and factorial functions

関数: beta_incomplete_regularized (a, b, z)

      beta_incomplete_regularized(a, b, z) =
                                            beta_incomplete(a, b, z)
                                            ------------------------
                                                   beta(a, b)

  として定義された正則不完全ベータ函数 (A&S 6.6.2)。

  `beta_incomplete`同様、この定義は完全ではありません。 `beta_incomplete_regularized`の完全な定義については functions.wolfram.comを参照してください。

  `beta_incomplete_regularized`は aか bが正の整数の時 整理されます。

  z=0かつ realpart(a)>0の時、 `beta_incomplete_regularized`は具体的な値0を持ちます。 z=1かつ realpart(b)>0の時、 `beta_incomplete_regularized`は1に整理されます。

  Maximaは実数と複素数の引数について 浮動小数点と多倍長浮動小数点精度で `beta_incomplete_regularized`を評価します。

  `beta_expand`が `true`の時、 Maximaは、 nは整数として引数 a+nまたは a-nに関して `beta_incomplete_regularized`を展開します。

  Maximaは、変数a, b, zに関する `beta_incomplete_regularized`の導函数と変数 zに関する積分を知っています。

  例:

  aか bが正の整数の時の整理:

      (%i1) beta_incomplete_regularized(2,b,z);
                                             b
      (%o1)                       1 - (1 - z)  (b z + 1)

      (%i2) beta_incomplete_regularized(a,2,z);
                                                     a
      (%o2)                         (a (1 - z) + 1) z

      (%i3) beta_incomplete_regularized(3,2,z);
                                                     3
      (%o3)                         (3 (1 - z) + 1) z

  特定の値z=0, z=1について、Maximaは整理します:

      (%i4) assume(a>0,b>0)$
      (%i5) beta_incomplete_regularized(a,b,0);
      (%o5)                                 0
      (%i6) beta_incomplete_regularized(a,b,1);
      (%o6)                                 1

  実数と複素数引数に関する浮動小数点または多倍長浮動小数点精度の数値評価:

      (%i7) beta_incomplete_regularized(0.12,0.43,0.9);
      (%o7)                         .9114011367359802
      (%i8) fpprec:32$
      (%i9) beta_incomplete_regularized(0.12,0.43,0.9b0);
      (%o9)               9.1140113673598075519946998779975b-1
      (%i10) beta_incomplete_regularized(1+%i,3/3,1.5*%i);
      (%o10)             .2865367499935403 %i - 0.122995963334684
      (%i11) fpprec:20$
      (%i12) beta_incomplete_regularized(1+%i,3/3,1.5b0*%i);
      (%o12)      2.8653674999354036142b-1 %i - 1.2299596333468400163b-1

  `beta_expand`が `true`の時の展開:

      (%i13) beta_incomplete_regularized(a+1,b,z);
                                                           b  a
                                                    (1 - z)  z
      (%o13) beta_incomplete_regularized(a, b, z) - ------------
                                                    a beta(a, b)
      (%i14) beta_incomplete_regularized(a-1,b,z);
      (%o14) beta_incomplete_regularized(a, b, z)
                                                           b  a - 1
                                                    (1 - z)  z
                                               - ----------------------
                                                 beta(a, b) (b + a - 1)

  zに関する微分と積分:

      (%i15) diff(beta_incomplete_regularized(a,b,z),z);
                                    b - 1  a - 1
                             (1 - z)      z
      (%o15)                 -------------------
                                 beta(a, b)
      (%i16) integrate(beta_incomplete_regularized(a,b,z),z);
      (%o16) beta_incomplete_regularized(a, b, z) z
                                                                 b  a
                                                          (1 - z)  z
                a (beta_incomplete_regularized(a, b, z) - ------------)
                                                          a beta(a, b)
              - -------------------------------------------------------
                                         b + a

  Categories: Gamma and factorial functions

関数: beta_incomplete_generalized (a, b, z1, z2)

  一般化不完全ベータ函数の基本的な定義は以下の通りです。

                   z2
                 /
                 [          b - 1  a - 1
                 I   (1 - t)      t      dt
                 ]
                 /
                  z1

  Maximaは、 aと bが正の整数の時、 `beta_incomplete_regularized`を整理します。

  realpart(a)>0かつ z1=0または z2=0の時、 Maximaは `beta_incomplete_generalized`を `beta_incomplete`に整理します。 realpart(b)>0かつ z1=1または z2=1の時、 Maximaは `beta`と `beta_incomplete`を含む式に整理します。

  Maximaは、実数値と複素数値に関して浮動小数点と多倍長浮動小数点精度で `beta_incomplete_regularized`を評価します。

  `beta_expand`が `true`の時、 nを正の整数とすると、 Maximaは、a+nや a-nに関して `beta_incomplete_generalized`を整理します。

  Maximaは、 変数 a, b, z1, z2に関する `beta_incomplete_generalized`の微分を知っており、 変数 z1や z2に関する積分を知っています。

  例:

  Maximaは、aと bが正の整数の時、 `beta_incomplete_generalized`を整理します:

      (%i1) beta_incomplete_generalized(2,b,z1,z2);
                         b                      b
                 (1 - z1)  (b z1 + 1) - (1 - z2)  (b z2 + 1)
      (%o1)      -------------------------------------------
                                  b (b + 1)
      (%i2) beta_incomplete_generalized(a,2,z1,z2);
                                    a                      a
                 (a (1 - z2) + 1) z2  - (a (1 - z1) + 1) z1
      (%o2)      -------------------------------------------
                                  a (a + 1)
      (%i3) beta_incomplete_generalized(3,2,z1,z2);
                    2      2                       2      2
            (1 - z1)  (3 z1  + 2 z1 + 1) - (1 - z2)  (3 z2  + 2 z2 + 1)
      (%o3) -----------------------------------------------------------
                                        12

  特定の値 z1=0, z2=0, z1=1または z2=1に関する整理:

      (%i4) assume(a > 0, b > 0)$
      (%i5) beta_incomplete_generalized(a,b,z1,0);
      (%o5)                    - beta_incomplete(a, b, z1)

      (%i6) beta_incomplete_generalized(a,b,0,z2);
      (%o6)                    - beta_incomplete(a, b, z2)

      (%i7) beta_incomplete_generalized(a,b,z1,1);
      (%o7)              beta(a, b) - beta_incomplete(a, b, z1)

      (%i8) beta_incomplete_generalized(a,b,1,z2);
      (%o8)              beta_incomplete(a, b, z2) - beta(a, b)

  浮動小数点もしくは多倍長浮動小数点精度での実数値引数に関する数値評価:

      (%i9) beta_incomplete_generalized(1/2,3/2,0.25,0.31);
      (%o9)                        .09638178086368676

      (%i10) fpprec:32$
      (%i10) beta_incomplete_generalized(1/2,3/2,0.25,0.31b0);
      (%o10)               9.6381780863686935309170054689964b-2

  浮動小数点もしくは多倍長浮動小数点精度での複素数値引数に関する数値評価:

      (%i11) beta_incomplete_generalized(1/2+%i,3/2+%i,0.25,0.31);
      (%o11)           - .09625463003205376 %i - .003323847735353769
      (%i12) fpprec:20$
      (%i13) beta_incomplete_generalized(1/2+%i,3/2+%i,0.25,0.31b0);
      (%o13)     - 9.6254630032054178691b-2 %i - 3.3238477353543591914b-3

  `beta_expand`が `true`の時、 nを正の整数として a+nか a-nに関する整理:

      (%i14) beta_expand:true$

      (%i15) beta_incomplete_generalized(a+1,b,z1,z2);

                     b   a           b   a
             (1 - z1)  z1  - (1 - z2)  z2
      (%o15) -----------------------------
                         b + a
                            a beta_incomplete_generalized(a, b, z1, z2)
                          + -------------------------------------------
                                               b + a
      (%i16) beta_incomplete_generalized(a-1,b,z1,z2);

             beta_incomplete_generalized(a, b, z1, z2) (- b - a + 1)
      (%o16) -------------------------------------------------------
                                      1 - a
                                          b   a - 1           b   a - 1
                                  (1 - z2)  z2      - (1 - z1)  z1
                                - -------------------------------------
                                                  1 - a

  変数 z1に関する微分と z1や z2に関する積分:

      (%i17) diff(beta_incomplete_generalized(a,b,z1,z2),z1);
                                     b - 1   a - 1
      (%o17)               - (1 - z1)      z1
      (%i18) integrate(beta_incomplete_generalized(a,b,z1,z2),z1);
      (%o18) beta_incomplete_generalized(a, b, z1, z2) z1
                                        + beta_incomplete(a + 1, b, z1)
      (%i19) integrate(beta_incomplete_generalized(a,b,z1,z2),z2);
      (%o19) beta_incomplete_generalized(a, b, z1, z2) z2
                                        - beta_incomplete(a + 1, b, z2)

  Categories: Gamma and factorial functions

オプション変数: beta_expand

  デフォルト値: false

  `beta_expand`が `true`の時、 a+nや a-nのような引数に対して `beta(a,b)`と関連した関数は展開されます。 ここで nは整数です。

  Categories: Gamma and factorial functions · Simplification flags and variables

オプション変数: beta_args_sum_to_integer

  デフォルト値: false

  `beta_args_sum_to_integer`が `true`の時、 引数 aと bの和が整数の時、 Maximaは `beta(a,b)`を整理します。

  Categories: Gamma and factorial functions · Simplification flags and variables

関数: psi [n](x)

  `log (gamma (x))`の次数 `n+1`の導函数。 例えば、 `psi[0](x)`は１階微分、 `psi[1](x)`は２階微分など。

  Maximaは一般に `psi`の数値を計算する方法を知りませんが、 有理数の引数に関してはいくつかの厳密な値を計算することができます。 いくつの変数は `psi`が可能なら厳密な値を返す有理数の引数の範囲を制御します。 `maxpsiposint`, `maxpsinegint`, `maxpsifracnum`, `maxpsifracdenom`を参照してください。 つまり、 xは `maxpsinegint`と `maxpsiposint`の間になければいけません。 もし xの小数部分の絶対値が有理数でかつ分子が `maxpsifracnum`より小さく、 分母が `maxpsifracdenom`より小さいなら、 `psi`は厳密な値を返します。

  `bffac`パッケージの中の関数 `bfpsi`は数値を計算できます。

  Categories: Gamma and factorial functions

オプション変数: maxpsiposint

  デフォルト値: 20

  `maxpsiposint`は `psi[n](x)`が厳密な値を計算しようとする最も大きな正の値です。

  Categories: Gamma and factorial functions

オプション変数: maxpsinegint

  デフォルト値: -10

  `maxpsinegint`は `psi[n](x)`が厳密な値を計算しようとする最も大きな負の値です。 従って、もしxが `maxnegint`よりも小さいなら、 たとえ可能でも `psi[n](x)`は整理された答えを返しません。

  Categories: Gamma and factorial functions

オプション変数: maxpsifracnum

  デフォルト値: 6

  xを１より小さい形式`p/q`の有理数とします。 もし `p`が `maxpsifracnum`より大きいなら `psi[n](x)`は整理された値を返そうとしません。

  Categories: Gamma and factorial functions

オプション変数: maxpsifracdenom

  デフォルト値: 6

  xを１より小さい形式`p/q`の有理数とします。 もし `q`が `maxpsifracdenom`より大きいなら `psi[n](x)`は整理された値を返そうとしません。

  Categories: Gamma and factorial functions

関数: makefact (expr)

  exprの中の二項、ガンマ、ベータ函数のインスタンスを階乗に変換します。

  `makegamma`も参照してください。

  Categories: Gamma and factorial functions

関数: numfactor (expr)

  式 exprを掛ける数値因子を返します。 式 exprは単一項でなければいけません。

  `content`は輪の中のすべての項の最大公約数を返します。

      (%i1) gamma (7/2);
                                15 sqrt(%pi)
      (%o1)                     ------------
                                     8
      (%i2) numfactor (%);
                                     15
      (%o2)                          --
                                     8

  Categories: Expressions

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 15.5 Exponential Integrals

指数積分と関連した函数は Abramowitz and Stegun, Handbook of Mathematical Functions, 5章の中で定義されています。

関数: expintegral_e1 (z)

  以下のように定義される指数積分E1(z) (A&S 5.1.1)

  Categories: Exponential Integrals · Special functions

関数: expintegral_ei (z)

  指数積分Ei(z) (A&S 5.1.2)

  Categories: Exponential Integrals · Special functions

関数: expintegral_li (z)

  指数積分Li(z) (A&S 5.1.3)

  Categories: Exponential Integrals · Special functions

関数: expintegral_e (n,z)

  以下のように定義される指数積分 En(z) (A&S 5.1.4)

  Categories: Exponential Integrals · Special functions

関数: expintegral_si (z)

  以下のように定義される指数積分 Si(z) (A&S 5.2.1)

  Categories: Exponential Integrals · Special functions

関数: expintegral_ci (z)

  以下のように定義される指数積分 Ci(z) (A&S 5.2.2)

  Categories: Exponential Integrals · Special functions

関数: expintegral_shi (z)

  以下のように定義される指数積分 Shi(z) (A&S 5.2.3)

  Categories: Exponential Integrals · Special functions

関数: expintegral_chi (z)

  以下のように定義される指数積分 Chi(z) (A&S 5.2.4)

  Categories: Exponential Integrals · Special functions

オプション変数: expintrep

  デフォルト値: false

  可能なら指数積分 expintegral_e(m, z), expintegral_e1, expintegral_ei の1つの表現を、等価形式にに変えます。

  expintrepの取りうる値は false, gamma_incomplete, expintegral_e1, expintegral_ei, expintegral_li, expintegral_trig, expintegral_hypです。

  falseは表現を変えないことを意味します。 他の値は指定された関数を使って表現を変えることを示します。 ここで、expintegral_trigは expintegral_siか expintegral_ciを意味し、 expintegral_hypは expintegral_shiか expintegral_chiを意味します。

  Categories: Exponential Integrals

オプション変数: expintexpand

  デフォルト値: false

  半整数値の指数積分E[n](z)をErfcもしくはErfの項で展開し、 整数値のそれをEiの項で展開します。

  Exponential Integrals

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 15.6 Error Function

誤差函数と、関連した函数は Abramowitz and Stegun, Handbook of Mathematical Functions, 7章で定義されています。

関数: erf (z)

  誤差函数erf(z) (A&S 7.1.1)

  グラグ `erfflag`も参照してください。

  Special functions

関数: erfc (z)

  相補誤差函数erfc(z) (A&S 7.1.2)

  `erfc(z) = 1-erf(z)`

  Special functions

関数: erfi (z)

  虚数誤差函数

  `erfi(z) = -%i*erf(%i*z)`

  Special functions

関数: erf_generalized (z1,z2)

  一般化誤差函数Erf(z1,z2)

  Special functions

関数: fresnel_c (z)

  フレネル積分C(z) = integrate(cos((%pi/2)*t^2),t,0,z) (A&S 7.3.1)

  フラグ `trigsign`が `true`の時、 整理 fresnel_c(-x) = -fresnel_c(x) が適用されます。

  フラグ `%iargs`が `true`の時、 整理 fresnel_c(%i*x) = %i*fresnel_c(x) が適用されます。

  フラグ `erf_representation`と `hypergeometric_representation`を参照してください。

  Special functions

関数: fresnel_s (z)

  フレネル積分S(z) = integrate(sin((%pi/2)*t^2),t,0,z). (A&S 7.3.2)

  フラグ `trigsign`が `true`の時、 整理fresnel_s(-x) = -fresnel_s(x) が適用されます。

  フラグ `%iargs`が `true`の時、 整理 fresnel_s(%i*x) = -%i*fresnel_s(x) が適用されます。

  フラグ `erf_representation`と `hypergeometric_representation`を参照してください。

  Special functions

オプション変数: erf_representation

  デフォルト値: false

  `true`の時、 erfc, erfi, erf_generalized, fresnel_s, fresnel_c は、erfに変換されます。

オプション変数: hypergeometric_representation

  デフォルト値: false

  fresnel_sとfresnel_cに関して超幾何表現への変換を可能にします。

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 15.7 Struve Functions

シュトルーベ函数は Abramowitz and Stegun, Handbook of Mathematical Functions, 12章で定義されています。

関数: struve_h (v, z)

  次数v, 独立変数zのシュトルーベ函数H (A&S 12.1.1)

  Categories: Special functions

関数: struve_l (v, z)

  次数v、独立変数zの変形シュトルーベ函数L (A&S 12.2.1)

  Categories: Special functions

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 15.8 Hypergeometric Functions

超幾何函数は Abramowitz and Stegun, Handbook of Mathematical Functions, 13章15章で定義されています。

Maximaはこれらの函数について非常に限られた知識を持っています。 それらは関数 `hgfred`からもたらされることがあります。

関数: %m [k,u] (z)

  Whittaker M函数 `M[k,u](z) = exp(-z/2)*z^(1/2+u)*M(1/2+u-k,1+2*u,z)`. (A&S 13.1.32)

  Special functions

関数: %w [k,u] (z)

  Whittaker W函数 (A&S 13.1.33)

  Special functions

関数: %f [p,q] ([a],[b],z)

  pFq(a1,a2,..ap;b1,b2,..bq;z)超幾何函数。 ここで `a`は長さ `p`のリストで、 `b`は長さ `q`のリストです。

  Bessel functions · Special functions

関数: hypergeometric ([a1, ..., ap],[b1, ... ,bq], x)

  超幾何函数。 Maximaの`%f`超幾何函数と違って， 関数 `hypergeometric`は整理関数です; `hypergeometric`は複素倍精度と多倍長浮動小数点評価もサポートします。 p = 2かつ q = 1のガウスの超幾何函数に関しては、 単位円の外側の浮動小数点評価はサポートされていますが、 一般にはサポートされていません。

  オプション変数`expand_hypergeometric`が true(デフォルトはfalse)で、 独立変数 `a1`から `ap`の１つが負の整数の時(多項式の場合)、 `hypergeometric`は展開された多項式を返します。

  例:

      (%i1)  hypergeometric([],[],x);
      (%o1) %e^x

  `expand_hypergeometric`が trueの時、多項式の場合は自動的に展開されます:

      (%i2) hypergeometric([-3],[7],x);
      (%o2) hypergeometric([-3],[7],x)

      (%i3) hypergeometric([-3],[7],x), expand_hypergeometric : true;
      (%o3) -x^3/504+3*x^2/56-3*x/7+1

  倍精度と多倍長浮動小数点評価の両方がサポートされています:

      (%i4) hypergeometric([5.1],[7.1 + %i],0.42);
      (%o4)       1.346250786375334 - 0.0559061414208204 %i
      (%i5) hypergeometric([5,6],[8], 5.7 - %i);
      (%o5)     .00737582400977495 - 0.001049813688578674 %i
      (%i6) hypergeometric([5,6],[8], 5.7b0 - %i), fpprec : 30;
      (%o6) 7.37582400977494674506442010824b-3
                                - 1.04981368857867315858055393376b-3 %i

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 15.9 Parabolic Cylinder Functions

放物円筒函数はAbramowitz and Stegun, Handbook of Mathematical Functions, 19章で定義されています。

Maximaはこれらの函数の非常に限られた知識を持っています。 それらは関数 `hgfred`からもたらされることがあります。

関数: parabolic_cylinder_d (v, z)

  放物円筒函数`parabolic_cylinder_d(v,z)`. (A&S 19.3.1)

  Special functions

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 15.10 Functions and Variables for Special Functions

関数: specint (exp(- s*t) * expr, t)

  exprの変数 tに関するラプラス変換を計算します。 以下の特殊函数は `specint`で扱われます: 不完全ベータ函数、誤差函数 （誤差函数`erfi`は除きます。 `erfi`は例えば `erf`に変換することは簡単です。）、 指数積分、（ベッセル函数の積を含む）ベッセル函数、ハンケル函数、エルミートおよびラーゲル多項式。

  更に、 `specint`は超幾何函数 `%f[p,q]([],[],z)`、 第一種Whittaker函数 `%m[u,k](z)`, 第二種Whittaker函数 `%w[u,k](z)`を 扱うことができます。

  結果は特殊函数の項になるかもしれませんし、未整理の超幾何函数を含むかもしれません。

  `laplace`がラプラス変換を見つけることに失敗した時、 `specint`がコールされます。 `laplace`はラプラス変換に関するもっと一般的な規則を知っているので、 `specint`ではなく `laplace`を使うのが望ましいです。

  `demo(hypgeo)`は `specint`によって計算されたラプラス変換のいくつかの例を表示します。

  例:

      (%i1) assume (p > 0, a > 0)$
      (%i2) specint (t^(1/2) * exp(-a*t/4) * exp(-p*t), t);
                                 sqrt(%pi)
      (%o2)                     ------------
                                       a 3/2
                                2 (p + -)
                                       4
      (%i3) specint (t^(1/2) * bessel_j(1, 2 * a^(1/2) * t^(1/2))
                    * exp(-p*t), t);
                                         - a/p
                               sqrt(a) %e
      (%o3)                    ---------------
                                      2
                                     p

  指数積分の例:

      (%i4) assume(s>0,a>0,s-a>0)$
      (%i5) ratsimp(specint(%e^(a*t)
                            *(log(a)+expintegral_e1(a*t))*%e^(-s*t),t));
                                   log(s)
      (%o5)                        ------
                                   s - a
      (%i6) logarc:true$

      (%i7) gamma_expand:true$

      (%i8) radcan(specint((cos(t)*expintegral_si(t)
                           -sin(t)*expintegral_ci(t))*%e^(-s*t),t));
                                   log(s)
      (%o8)                        ------
                                    2
                                   s  + 1
      (%i9) ratsimp(specint((2*t*log(a)+2/a*sin(a*t)
                            -2*t*expintegral_ci(a*t))*%e^(-s*t),t));
                                     2    2
                                log(s  + a )
      (%o9)                     ------------
                                      2
                                     s

  `gamma_incomplete`の展開を使った時と、 `expintegral_e1`への表現の変形を使った時の結果:

      (%i10) assume(s>0)$
      (%i11) specint(1/sqrt(%pi*t)*unit_step(t-k)*%e^(-s*t),t);
                                                  1
                                  gamma_incomplete(-, k s)
                                                  2
      (%o11)                      ------------------------
                                     sqrt(%pi) sqrt(s)

      (%i12) gamma_expand:true$
      (%i13) specint(1/sqrt(%pi*t)*unit_step(t-k)*%e^(-s*t),t);
                                    erfc(sqrt(k) sqrt(s))
      (%o13)                        ---------------------
                                           sqrt(s)

      (%i14) expintrep:expintegral_e1$
      (%i15) ratsimp(specint(1/(t+a)^2*%e^(-s*t),t));
                                    a s
                              a s %e    expintegral_e1(a s) - 1
      (%o15)                - ---------------------------------
                                              a

  Categories: Laplace transform

関数: hypergeometric_simp (e)

  `hypergeometric_simp`は、 式 eの中の任意の超幾何函数の引数に `hgfred`を適用して超幾何函数を整理します。

  `hypergeometric`のインスタンスだけが影響を受けます; 式 eの中の `%f`, `%w`, `%m`のいずれも影響を受けません。 任意の未整理の超幾何函数は (`hgfred`がするように `%f`に変えることなく) 変更されずに返されます。

  `load(hypergeometric);`はこの関数をロードします。

  `hgfred`も参照しくてください。

  例:

      (%i1) load ("hypergeometric") $
      (%i2) foo : [hypergeometric([1,1], [2], z), hypergeometric([1/2], [1], z)];
      (%o2) [hypergeometric([1, 1], [2], z),
                                                           1
                                           hypergeometric([-], [1], z)]
                                                           2
      (%i3) hypergeometric_simp (foo);
                       log(1 - z)              z    z/2
      (%o3)         [- ----------, bessel_i(0, -) %e   ]
                           z                   2
      (%i4) bar : hypergeometric([n], [m], z + 1);
      (%o4)            hypergeometric([n], [m], z + 1)
      (%i5) hypergeometric_simp (bar);
      (%o5)            hypergeometric([n], [m], z + 1)

  Categories: Hypergeometric functions · Simplification functions · Special functions

関数: hgfred (a, b, t)

  一般化超幾何函数を他のより簡単な形式に整理します。 aは分子パラメータのリストで、 bは分母パラメータのリストです。

  もし `hgfred`が超幾何函数を整理できなければ、 形式 `%f[p,q]([a], [b], x)`の式を返します。 ここで pは aの中の要素の数で、 qは bの中の要素の数です。 これは通常の `pFq`一般化超幾何函数です。

      (%i1) assume(not(equal(z,0)));
      (%o1)                          [notequal(z, 0)]
      (%i2) hgfred([v+1/2],[2*v+1],2*%i*z);

                           v/2                               %i z
                          4    bessel_j(v, z) gamma(v + 1) %e
      (%o2)               ---------------------------------------
                                             v
                                            z
      (%i3) hgfred([1,1],[2],z);

                                         log(1 - z)
      (%o3)                            - ----------
                                             z
      (%i4) hgfred([a,a+1/2],[3/2],z^2);

                                     1 - 2 a          1 - 2 a
                              (z + 1)        - (1 - z)
      (%o4)                   -------------------------------
                                       2 (1 - 2 a) z

  以下の例が示すように、 orthopolyもロードすることは有益なことがあります。 Lは一般化ラーゲル多項式であることに注意してください。

      (%i5) load(orthopoly)$
      (%i6) hgfred([-2],[a],z);

                                          (a - 1)
                                       2 L       (z)
                                          2
      (%o6)                            -------------
                                         a (a + 1)
      (%i7) ev(%);

                                        2
                                       z        2 z
      (%o7)                         --------- - --- + 1
                                    a (a + 1)    a

関数: lambert_w (z)

  LambertのW函数W(z)の主枝、 `z = W(z) * exp(W(z))`の解。 (DLMF 4.13)

  Special functions

関数: generalized_lambert_w (k, z)

  LambertのW函数W(z)の k番目の枝、 `z = W(z) * exp(W(z))`の解。 (DLMF 4.13)

  DLMFでWp(z)と表記される主枝は `lambert_w(z) = generalized_lambert_w(0,z)`ですl

  DLMFでWm(z)と表記される実値を持つ他の枝は `generalized_lambert_w(-1,z)`です。

  Special functions

関数: nzeta (z)

  プラズマ分散函数 `nzeta(z) = %i*sqrt(%pi)*exp(-z^2)*(1-erf(-%i*z))`

  Special functions

関数: nzetar (z)

  `realpart(nzeta(z))`を返します。

  Special functions

関数: nzetai (z)

  `imagpart(nzeta(z))`を返します。

  Special functions

[ << ] | [ >> ] |  |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

This document was generated by 市川雄二 on October, 5 2017 using texi2html 1.76.