Previous: Parabolic Cylinder Functions, Up: Special Functions [Contents][Index]
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
一般化超幾何関数を他のより簡単な形式に整理します。 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
ランバートW関数W(z)の主枝、
z = W(z) * exp(W(z))の解。
プラズマ分散関数
nzeta(z) = %i*sqrt(%pi)*exp(-z^2)*(1-erf(-%i*z))
realpart(nzeta(z))を返します。
imagpart(nzeta(z))を返します。
Previous: Parabolic Cylinder Functions, Up: Special Functions [Contents][Index]