Maxima 5.46.0 Manual: Gamma and factorial Functions

Next: Exponential Integrals, Previous: Airy Functions, Up: Special Functions [Contents][Index]

### 15.4 Gamma and factorial Functions

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

関数: bffac (expr, n)

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

  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は戻り値の多倍長浮動小数点精度です。

  Gamma and factorial functions ·Numerical evaluation ·

関数: cbffac (z, fpprec)

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

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

  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`です。

  Gamma and factorial functions ·Special functions ·

関数: log_gamma (z)

  ガンマ関数の自然対数。

  Gamma and factorial functions ·Special functions ·

関数: gamma_incomplete (a,z)

  第二種不完全ガンマ関数 A&S 6.5.2:

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

  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)

  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 and factorial functions ·Special functions ·

オプション変数: gammalim

  デフォルト値: 1000000

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

  Gamma and factorial functions ·Simplification flags and variables ·

関数: makegamma (expr)

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

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

  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

  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)

  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

  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)

  Gamma and factorial functions ·

オプション変数: beta_expand

  デフォルト値: false

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

  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)`を整理します。

  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`は数値を計算できます。

  Gamma and factorial functions ·

オプション変数: maxpsiposint

  デフォルト値: 20

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

  Gamma and factorial functions ·

オプション変数: maxpsinegint

  デフォルト値: -10

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

  Gamma and factorial functions ·

オプション変数: maxpsifracnum

  デフォルト値: 6

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

  Gamma and factorial functions ·

オプション変数: maxpsifracdenom

  デフォルト値: 6

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

  Gamma and factorial functions ·

関数: makefact (expr)

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

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

  Gamma and factorial functions ·

関数: numfactor (expr)

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

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

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

  Expressions ·

Next: Exponential Integrals, Previous: Airy Functions, Up: Special Functions [Contents][Index]