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]