[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
特殊函数表記は以下の通りです:
bessel_j (index, expr) 第一種ベッセル函数 bessel_y (index, expr) 第二種ベッセル函数 bessel_i (index, expr) 第一種変形ベッセル函数 bessel_k (index, expr) 第二種変形ベッセル函数 hankel_1 (v,z) 第一種ハンケル函数 hankel_2 (v,z) 第二種ハンケル函数 struve_h (v,z) シュトルーベH函数 struve_l (v,z) シュトルーベL函数 assoc_legendre_p[v,u] (z) 位数v、次数uのルジャンドル函数 assoc_legendre_q[v,u] (z) 第二種ルジャンドル函数 %f[p,q] ([], [], expr) 一般化超幾何函数 gamma (z) ガンマ函数 gamma_greek (a,z) 第一種不完全ガンマ函数 gammaincomplete (a,z) 第二種不完全ガンマ函数 hypergeometric (l1, l2, z) 超幾何函数 slommel %m[u,k] (z) 第一種Whittaker函数 %w[u,k] (z) 第二種Whittaker函数 erfc (z) 相補誤差函数 ei (z) 指数積分 (?) kelliptic (z) 第一種完全楕円積分 (K) parabolic_cylinder_d (v,z) 放物円筒D函数 |
Categories: Bessel functions · Airy functions · Special functions
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
次数 vと独立変数 zの第一種ベッセル函数。
bessel_j
は以下のように定義されます。
inf ==== k - v - 2 k v + 2 k \ (- 1) 2 z > -------------------------- / k! gamma(v + k + 1) ==== k = 0 |
計算のために無限級数は使われませんが。
Categories: Bessel functions · Special functions
次数 vと独立変数 zの第二種ベッセル函数
vが整数でない時、
bessel_y
は以下のように定義されます。
cos(%pi v) bessel_j(v, z) - bessel_j(-v, z) ------------------------------------------- sin(%pi v) |
vが整数 nの時、 vが nに近づく極限が取られます。
Categories: Bessel functions · Special functions
次数 v、独立変数 zの第一種変形ベッセル函数
bessel_i
は以下のように定義されます。
inf ==== - v - 2 k v + 2 k \ 2 z > ------------------- / k! gamma(v + k + 1) ==== k = 0 |
無限級数は計算には使われませんが。
Categories: Bessel functions · Special functions
次数 v、独立変数 zの第二種変形ベッセル函数
vが整数の時
bessel_k
は以下のように定義されます。
%pi csc(%pi v) (bessel_i(-v, z) - bessel_i(v, z)) ------------------------------------------------- 2 |
もし vが整数 nでないなら、 vが nに近づく極限が取られます。
Categories: Bessel functions · Special functions
次数 v、独立変数 zの第一種ハンケル函数 (A&S 9.1.3)。
hankel_1
は以下のように定義されます。
bessel_j(v,z) + %i * bessel_y(v,z) |
Maximaは浮動小数点精度の複素次数 vと複素独立変数 zに対して
hankel_1
を数値的に評価します。
多倍長浮動小数点精度の数値評価はサポートされていません。
besselexpand
が true
の時、
次数 vが奇数の1/2の時 hankel_1
は初等函数の項に展開されます。
besselexpand
を参照してください。
Maximaは hankel_1
の独立変数 zに関する導函数を知っています。
例:
数値評価:
(%i1) hankel_1(1,0.5); (%o1) 0.24226845767487 - 1.471472392670243 %i (%i2) hankel_1(1,0.5+%i); (%o2) - 0.25582879948621 %i - 0.23957560188301 |
besselexpand
が true
の時の hankel_1
の展開:
(%i1) hankel_1(1/2,z),besselexpand:true; sqrt(2) sin(z) - sqrt(2) %i cos(z) (%o1) ---------------------------------- sqrt(%pi) sqrt(z) |
hankel_1
の独立変数 zに関する導函数。
次数 vに関する導函数はサポートされていません。
Maximaは名詞形を返します:
(%i1) diff(hankel_1(v,z),z); hankel_1(v - 1, z) - hankel_1(v + 1, z) (%o1) --------------------------------------- 2 (%i2) diff(hankel_1(v,z),v); d (%o2) -- (hankel_1(v, z)) dv |
Categories: Bessel functions · Special functions
次数 v、独立変数 zの第二種ハンケル函数 (A&S 9.1.4)。
hankel_2
は以下のように定義されます。
bessel_j(v,z) - %i * bessel_y(v,z) |
Maximaは浮動小数点精度の複素次数 vと複素独立変数 zに対して
hankel_2
を数値的に評価します。
多倍長浮動小数点精度の数値評価はサポートされていません。
besselexpand
が true
の時、
次数 vが奇数の1/2の時 hankel_2
は初等函数の項に展開されます。
besselexpand
を参照してください。
Maximaは hankel_2
の独立変数 zに関する導函数を知っています。
例は hankel_1
を参照してください。
Categories: Bessel functions · Special functions
デフォルト値: false
次数が半奇数の時のベッセル函数の展開を制御します。
この場合、ベッセル函数は他の初等函数で展開することができます。
besselexpand
が true
の時、ベッセル函数は展開されます。
(%i1) besselexpand: false$ (%i2) bessel_j (3/2, z); 3 (%o2) bessel_j(-, z) 2 (%i3) besselexpand: true$ (%i4) bessel_j (3/2, z); sin(z) cos(z) sqrt(2) sqrt(z) (------ - ------) 2 z z (%o4) --------------------------------- sqrt(%pi) |
次数 v、独立変数 zの、スケールされた第一種変形ベッセル函数。
すなわち scaled_bessel_i(v,z) = exp(-abs(z))*bessel_i(v, z)。
この関数は大きな zに関する
bessel_i―これはおおきくなりますーの計算に特に役に立ちます。
しかしながら、そうでないなら Maximaはこの関数についてあまり知りません。
数式処理のためには式
exp(-abs(z))*bessel_i(v, z)
を使って取り組むのが多分望ましいです。
Categories: Bessel functions
scaled_bessel_i(0,z)
と同一です。
Categories: Bessel functions · Special functions
scaled_bessel_i(1,z)
と同一です。
Lommelの小s[u,v](z)函数。 多分 Gradshteyn & Ryzhik 8.570.1.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
エアリー函数Ai(x)とBi(x)は、Abramowitz and Stegun, Handbook of Mathematical Functions, Section 10.4の中で定義されています。
y = Ai(x)
とy = Bi(x)
はエアリー微分方程式
diff (y(x), x, 2) - x y(x) = 0
の2つの線形独立な解です。
もし引数 x
が実数か複素数の浮動小数点数なら関数の数値が返されます。
エアリー函数Ai(x)。 (A&S 10.4.2)
導函数 diff (airy_ai(x), x)
は airy_dai(x)
です。
airy_bi
, airy_dai
, airy_dbi
も参照してください。
Categories: Airy functions · Special functions
エアリー函数Ai airy_ai(x)
の導函数。
airy_ai
を参照してください。
Categories: Airy functions · Special functions
エアリー函数Bi(x)。 (A&S 10.4.3)
導函数 diff (airy_bi(x), x)
は airy_dbi(x)
です。
airy_ai
, airy_dbi
を参照してください。
Categories: Airy functions · Special functions
エアリーBi函数 airy_bi(x)
の導函数。
airy_ai
と airy_bi
を参照してください。
Categories: Airy functions · Special functions
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ガンマ函数と、関連したベータ、プサイ、不完全ガンマ函数は Abramowitz and Stegun, Handbook of Mathematical Functions, Chapter 6の中で定義されています。
階乗(シフトガンマ)函数の多倍長浮動小数点バージョン。 2番目の引数は、保持し返す桁数です。 少しの余分を要請するのはいい考えです。
Categories: Gamma and factorial functions · Numerical evaluation
bfpsi
は実引数 zと整数次数 nの多ガンマ函数です。
bfpsi0
はディガンマ函数です。
bfpsi0 (z, fpprec)
は
bfpsi (0, z, fpprec)
と同値です。
これらの関数は多倍長浮動小数点値を返します。 fpprecは戻り値の多倍長浮動小数点精度です。
Categories: Gamma and factorial functions · Numerical evaluation
複素多倍長浮動小数点の階乗です。
load ("bffac")
はこの関数をロードします。
Categories: Gamma and factorial functions · Complex variables · Numerical evaluation
ガンマ函数の基本的な定義 (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
です。
Categories: Gamma and factorial functions · Special functions
ガンマ函数の自然対数。
Categories: Gamma and factorial functions · Special functions
第一種不完全ガンマ函数 (A&S 6.5.2):
z / [ a - 1 - t gamma_greek(a, z) = I t %e dt ] / 0 |
gamma_incomplete
(上側不完全ガンマ函数)も参照してください。
Categories: Gamma and factorial functions · Special functions
第二種不完全ガンマ函数 (A&S 6.5.3):
inf / [ a - 1 - t gamma_incomplete(a, z) = I t %e dt ] / z |
初等函数と erfc
の項でいかに gamma_incomplete
を表すかを制御するには、
gamma_expand
も参照してください。
関連の関数 gamma_incomplete_regularized
や gamma_incomplete_generalized
も参照してください。
Categories: Gamma and factorial functions · Special functions
正則第二種不完全ガンマ函数 (A&S 6.5.1):
gamma_incomplete_regularized(a, z) = gamma_incomplete(a, z) ---------------------- gamma(a) |
初等函数と erfc
の項でいかに gamma_incomplete
を表すかを制御するには、
gamma_expand
も参照してください。
gamma_incomplete
も参照してください。
Categories: Gamma and factorial functions · Special functions
一般化不完全ガンマ函数
gamma_incomplete_generalized(a, z1, z2) = z2 / [ a - 1 - t I t %e dt ] / z1 |
gamma_incomplete
や gamma_incomplete_regularized
も参照してください。
Categories: Gamma and factorial functions · Special functions
デフォルト値: false
gamma_expand
は gamma_incomplete
の展開を制御します。
gamma_expand
が true
の時、
gamma_incomplete(v,z)
は、可能なら、
z
, exp(z)
, erfc(z)
の項で展開されます。
(%i1) gamma_incomplete(2,z); (%o1) gamma_incomplete(2, z) (%i2) gamma_expand:true; (%o2) true (%i3) gamma_incomplete(2,z); - z (%o3) (z + 1) %e (%i4) gamma_incomplete(3/2,z); - z sqrt(%pi) erfc(sqrt(z)) (%o4) sqrt(z) %e + ----------------------- 2 |
デフォルト値: 10000
gammalim
は整数と有理数引数に関してガンマ函数の整理を制御します。
もし引数の絶対値が gammalim
よりも大きくないなら整理が行われます。
factlim
スイッチは整数引数の gamma
の結果の整理を制御します。
factlim
スイッチは整数引数の
gamma
の結果の整理も制御することに注意してください。
exprの中の2項、階乗、ベータ函数のインスタンスをガンマ函数に変換します。
makefact
も参照してください。
Categories: Gamma and factorial functions
ベータ函数は 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
を参照してください。
例:
引数の1つが整数の時の整理:
(%i1) [beta(2,3),beta(2,1/3),beta(2,a)]; 1 9 1 (%o1) [--, -, ---------] 12 4 a (a + 1) |
2つの有理数引数の和が整数になる時の整理:
(%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)) |
引数の1つが負の整数の時、可能な結果:
(%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 |
引数の1つがゼロの時、ベータは未定義です:
(%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 |
Categories: Gamma and factorial functions
不完全ベータ函数の基本定義(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) |
Categories: Gamma and factorial functions
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 |
Categories: Gamma and factorial functions
一般化不完全ベータ函数の基本的な定義は以下の通りです。
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) |
Categories: Gamma and factorial functions
デフォルト値: false
beta_expand
が true
の時、
a+nや a-nのような引数に対して
beta(a,b)
と関連した関数は展開されます。
ここで nは整数です。
デフォルト値: false
beta_args_sum_to_integer
が true
の時、
引数 aと bの和が整数の時、
Maximaは beta(a,b)
を整理します。
log (gamma (x))
の次数 n+1
の導函数。
例えば、
psi[0](x)
は1階微分、
psi[1](x)
は2階微分など。
Maximaは一般に psi
の数値を計算する方法を知りませんが、
有理数の引数に関してはいくつかの厳密な値を計算することができます。
いくつの変数は psi
が可能なら厳密な値を返す有理数の引数の範囲を制御します。
maxpsiposint
,
maxpsinegint
, maxpsifracnum
, maxpsifracdenom
を参照してください。
つまり、 xは
maxpsinegint
と maxpsiposint
の間になければいけません。
もし xの小数部分の絶対値が有理数でかつ分子が maxpsifracnum
より小さく、
分母が maxpsifracdenom
より小さいなら、
psi
は厳密な値を返します。
bffac
パッケージの中の関数 bfpsi
は数値を計算できます。
Categories: Gamma and factorial functions
デフォルト値: 20
maxpsiposint
は
psi[n](x)
が厳密な値を計算しようとする最も大きな正の値です。
Categories: Gamma and factorial functions
デフォルト値: -10
maxpsinegint
は
psi[n](x)
が厳密な値を計算しようとする最も大きな負の値です。
従って、もしxが maxnegint
よりも小さいなら、
たとえ可能でも psi[n](x)
は整理された答えを返しません。
Categories: Gamma and factorial functions
デフォルト値: 6
xを1より小さい形式p/q
の有理数とします。
もし p
が maxpsifracnum
より大きいなら
psi[n](x)
は整理された値を返そうとしません。
Categories: Gamma and factorial functions
デフォルト値: 6
xを1より小さい形式p/q
の有理数とします。
もし q
が maxpsifracdenom
より大きいなら
psi[n](x)
は整理された値を返そうとしません。
Categories: Gamma and factorial functions
exprの中の二項、ガンマ、ベータ函数のインスタンスを階乗に変換します。
makegamma
も参照してください。
Categories: Gamma and factorial functions
式 exprを掛ける数値因子を返します。 式 exprは単一項でなければいけません。
content
は輪の中のすべての項の最大公約数を返します。
(%i1) gamma (7/2); 15 sqrt(%pi) (%o1) ------------ 8 (%i2) numfactor (%); 15 (%o2) -- 8 |
Categories: Expressions
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
指数積分と関連した函数は Abramowitz and Stegun, Handbook of Mathematical Functions, 5章の中で定義されています。
以下のように定義される指数積分E1(z) (A&S 5.1.1)
Categories: Exponential Integrals · Special functions
指数積分Ei(z) (A&S 5.1.2)
Categories: Exponential Integrals · Special functions
指数積分Li(z) (A&S 5.1.3)
Categories: Exponential Integrals · Special functions
以下のように定義される指数積分 En(z) (A&S 5.1.4)
Categories: Exponential Integrals · Special functions
以下のように定義される指数積分 Si(z) (A&S 5.2.1)
Categories: Exponential Integrals · Special functions
以下のように定義される指数積分 Ci(z) (A&S 5.2.2)
Categories: Exponential Integrals · Special functions
以下のように定義される指数積分 Shi(z) (A&S 5.2.3)
Categories: Exponential Integrals · Special functions
以下のように定義される指数積分 Chi(z) (A&S 5.2.4)
Categories: Exponential Integrals · Special functions
デフォルト値: false
可能なら指数積分 expintegral_e(m, z), expintegral_e1, expintegral_ei の1つの表現を、等価形式にに変えます。
expintrepの取りうる値は false, gamma_incomplete, expintegral_e1, expintegral_ei, expintegral_li, expintegral_trig, expintegral_hypです。
falseは表現を変えないことを意味します。 他の値は指定された関数を使って表現を変えることを示します。 ここで、expintegral_trigは expintegral_siか expintegral_ciを意味し、 expintegral_hypは expintegral_shiか expintegral_chiを意味します。
Categories: Exponential Integrals
デフォルト値: false
半整数値の指数積分E[n](z)をErfcもしくはErfの項で展開し、 整数値のそれをEiの項で展開します。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
誤差函数と、関連した函数は Abramowitz and Stegun, Handbook of Mathematical Functions, 7章で定義されています。
誤差函数erf(z) (A&S 7.1.1)
グラグ erfflag
も参照してください。
相補誤差函数erfc(z) (A&S 7.1.2)
erfc(z) = 1-erf(z)
虚数誤差函数
erfi(z) = -%i*erf(%i*z)
一般化誤差函数Erf(z1,z2)
フレネル積分C(z) = integrate(cos((%pi/2)*t^2),t,0,z) (A&S 7.3.1)
フラグ trigsign
が true
の時、
整理 fresnel_c(-x) = -fresnel_c(x)
が適用されます。
フラグ %iargs
が true
の時、
整理 fresnel_c(%i*x) = %i*fresnel_c(x)
が適用されます。
フラグ erf_representation
と
hypergeometric_representation
を参照してください。
フレネル積分S(z) = integrate(sin((%pi/2)*t^2),t,0,z). (A&S 7.3.2)
フラグ trigsign
が true
の時、
整理fresnel_s(-x) = -fresnel_s(x)
が適用されます。
フラグ %iargs
が true
の時、
整理 fresnel_s(%i*x) = -%i*fresnel_s(x)
が適用されます。
フラグ erf_representation
と
hypergeometric_representation
を参照してください。
デフォルト値: false
true
の時、 erfc, erfi, erf_generalized, fresnel_s, fresnel_c
は、erfに変換されます。
デフォルト値: false
fresnel_sとfresnel_cに関して超幾何表現への変換を可能にします。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
シュトルーベ函数は Abramowitz and Stegun, Handbook of Mathematical Functions, 12章で定義されています。
次数v, 独立変数zのシュトルーベ函数H (A&S 12.1.1)
Categories: Special functions
次数v、独立変数zの変形シュトルーベ函数L (A&S 12.2.1)
Categories: Special functions
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
超幾何函数は Abramowitz and Stegun, Handbook of Mathematical Functions, 13章15章で定義されています。
Maximaはこれらの函数について非常に限られた知識を持っています。
それらは関数 hgfred
からもたらされることがあります。
Whittaker M函数
M[k,u](z) = exp(-z/2)*z^(1/2+u)*M(1/2+u-k,1+2*u,z)
.
(A&S 13.1.32)
Whittaker W函数 (A&S 13.1.33)
pFq(a1,a2,..ap;b1,b2,..bq;z)超幾何函数。
ここで a
は長さ p
のリストで、
b
は長さ q
のリストです。
超幾何函数。
Maximaの%f
超幾何函数と違って,
関数 hypergeometric
は整理関数です;
hypergeometric
は複素倍精度と多倍長浮動小数点評価もサポートします。
p = 2かつ q = 1のガウスの超幾何函数に関しては、
単位円の外側の浮動小数点評価はサポートされていますが、
一般にはサポートされていません。
オプション変数expand_hypergeometric
が true(デフォルトはfalse)で、
独立変数 a1
から ap
の1つが負の整数の時(多項式の場合)、
hypergeometric
は展開された多項式を返します。
例:
(%i1) hypergeometric([],[],x); (%o1) %e^x |
expand_hypergeometric
が trueの時、多項式の場合は自動的に展開されます:
(%i2) hypergeometric([-3],[7],x); (%o2) hypergeometric([-3],[7],x) (%i3) hypergeometric([-3],[7],x), expand_hypergeometric : true; (%o3) -x^3/504+3*x^2/56-3*x/7+1 |
倍精度と多倍長浮動小数点評価の両方がサポートされています:
(%i4) hypergeometric([5.1],[7.1 + %i],0.42); (%o4) 1.346250786375334 - 0.0559061414208204 %i (%i5) hypergeometric([5,6],[8], 5.7 - %i); (%o5) .00737582400977495 - 0.001049813688578674 %i (%i6) hypergeometric([5,6],[8], 5.7b0 - %i), fpprec : 30; (%o6) 7.37582400977494674506442010824b-3 - 1.04981368857867315858055393376b-3 %i |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
放物円筒函数はAbramowitz and Stegun, Handbook of Mathematical Functions, 19章で定義されています。
Maximaはこれらの函数の非常に限られた知識を持っています。
それらは関数 hgfred
からもたらされることがあります。
放物円筒函数parabolic_cylinder_d(v,z)
. (A&S 19.3.1)
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [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 |
Categories: Laplace transform
hypergeometric_simp
は、
式 eの中の任意の超幾何函数の引数に
hgfred
を適用して超幾何函数を整理します。
hypergeometric
のインスタンスだけが影響を受けます;
式 eの中の %f
, %w
, %m
のいずれも影響を受けません。
任意の未整理の超幾何函数は
(hgfred
がするように %f
に変えることなく)
変更されずに返されます。
load(hypergeometric);
はこの関数をロードします。
hgfred
も参照しくてください。
例:
(%i1) load (hypergeometric) $ (%i2) foo : [hypergeometric([1,1], [2], z), hypergeometric([1/2], [1], z)]; (%o2) [hypergeometric([1, 1], [2], z), 1 hypergeometric([-], [1], z)] 2 (%i3) hypergeometric_simp (foo); log(1 - z) z z/2 (%o3) [- ----------, bessel_i(0, -) %e ] z 2 (%i4) bar : hypergeometric([n], [m], z + 1); (%o4) hypergeometric([n], [m], z + 1) (%i5) hypergeometric_simp (bar); (%o5) hypergeometric([n], [m], z + 1) |
Categories: Hypergeometric functions · Simplification functions · Special functions
一般化超幾何函数を他のより簡単な形式に整理します。 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函数W(z)の主枝、
z = W(z) * exp(W(z))
の解。 (DLMF 4.13)
LambertのW函数W(z)の k番目の枝、
z = W(z) * exp(W(z))
の解。 (DLMF 4.13)
DLMFでWp(z)と表記される主枝は lambert_w(z) = generalized_lambert_w(0,z)
ですl
DLMFでWm(z)と表記される実値を持つ他の枝は generalized_lambert_w(-1,z)
です。
プラズマ分散函数
nzeta(z) = %i*sqrt(%pi)*exp(-z^2)*(1-erf(-%i*z))
realpart(nzeta(z))
を返します。
imagpart(nzeta(z))
を返します。
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by 市川雄二 on June, 21 2016 using texi2html 1.76.