| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
特殊函数表記は以下の通りです:
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
| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
次数 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)
|
Categories: Bessel functions ·Simplification flags and variables ·Special functions
次数 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.
| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
エアリー函数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
| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
ガンマ函数と、関連したベータ、プサイ、不完全ガンマ函数は 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
|
See also gamma_incomplete (upper incomplete gamma function).
Categories: Gamma and factorial functions ·Special functions
第二種不完全ガンマ函数 A&S 6.5.2:
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
| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
指数積分と関連した函数は Abramowitz and Stegun, Handbook of Mathematical Functions, 5章の中で定義されています。
指数積分E1(z) (A&S 5.1.1)
指数積分Ei(z) (A&S 5.1.2)
指数積分Li(z) (A&S 5.1.3)
指数積分 En(z) (A&S 5.1.4)
指数積分 Si(z) (A&S 5.2.1)
指数積分 Ci(z) (A&S 5.2.2)
指数積分 Shi(z) (A&S 5.2.3)
指数積分 Chi(z) (A&S 5.2.4)
デフォルト値: false
指数積分の表現を、 gamma_incomplete, expintegral_e1, expintegral_ei, expintegral_li, expintegral_trig, expintegral_hyp に変えます。
Categories: Exponential Integrals
デフォルト値: false
半整数値の指数積分E[n](z)をErfcもしくはErfの項で展開し、 整数値のそれをEiの項で展開します。
| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
誤差函数と、関連した函数は Abramowitz and Stegun, Handbook of Mathematical Functions, 7章で定義されています。
誤差函数erf(z) (A&S 7.1.1)
See also flag 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に関して超幾何表現への変換を可能にします。
| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
シュトルーベ函数は 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
| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
超幾何函数は 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
|
| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
放物円筒函数はAbramowitz and Stegun, Handbook of Mathematical Functions, 19章で定義されています。
Maximaはこれらの函数の非常に限られた知識を持っています。
それらは関数 hgfredからもたらされることがあります。
放物円筒函数parabolic_cylinder_d(v,z). (A&S 19.3.1)
| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
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
一般化超幾何函数を他のより簡単な形式に整理します。 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))を返します。
| [ << ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
この文書は市川 雄二によって2014年4月月20日にtexi2html 1.82を用いて生成されました。