Maxima 5.46.0 Manual: Functions and Variables for Special Functions

Previous: Parabolic Cylinder Functions, Up: Special Functions [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

  Laplace transform ·

関数: 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)

  ランバートW関数W(z)の主枝、 `z = W(z) * exp(W(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 ·

Previous: Parabolic Cylinder Functions, Up: Special Functions [Contents][Index]