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
関数: hgfred (a, b, t)

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

もしhgfredが超幾何関数を整理できなければ、 形式%f[p,q]([a], [b], x)の式を返します。 ここでpaの中の要素の数で、 qbの中の要素の数です。 これは、通常の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))の解。

関数: nzeta (z)

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

関数: nzetar (z)

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

関数: nzetai (z)

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


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