Windows installer: Update texinfo.
[maxima.git] / doc / info / ja / Special.texi
blob9e256c4eb6eb98182aff0ab23b92be3cbbc6be01
1 @menu
2 * Introduction to Special Functions::
3 * Bessel Functions::
4 * Airy Functions::
5 * Gamma and factorial Functions::
6 * Exponential Integrals::
7 * Error Function::
8 * Struve Functions::
9 * Hypergeometric Functions::
10 * Parabolic Cylinder Functions::
11 * Functions and Variables for Special Functions::  
12 @end menu
14 @c -----------------------------------------------------------------------------
15 @node Introduction to Special Functions, Bessel Functions, Special Functions, Special Functions
16 @section Introduction to Special Functions
17 @c -----------------------------------------------------------------------------
19 特殊関数表記は以下の通りです:
21 @example
22 bessel_j (index, expr)         第一種ベッセル関数
23 bessel_y (index, expr)         第二種ベッセル関数
24 bessel_i (index, expr)         第一種変形ベッセル関数
25 bessel_k (index, expr)         第二種変形ベッセル関数
27 hankel_1 (v,z)                 第一種ハンケル関数
28 hankel_2 (v,z)                 第二種ハンケル関数
29 struve_h (v,z)                 シュトルーベH関数
30 struve_l (v,z)                 シュトルーベL関数
32 assoc_legendre_p[v,u] (z)      位数v、次数uのルジャンドル関数
33 assoc_legendre_q[v,u] (z)      第二種ルジャンドル関数
35 %f[p,q] ([], [], expr)         一般化超幾何関数
36 gamma()                        ガンマ関数
37 gamma_incomplete_lower(a,z)    第一種不完全ガンマ関数
38 gammaincomplete(a,z)           第二種不完全ガンマ関数
39 hypergeometric(l1, l2, z)      超幾何関数
40 @c IS slommel THE "LOMMEL" FUNCTION ?? NOT OTHERWISE MENTIONED IN TEXINFO FILES
41 slommel
42 %m[u,k] (z)                    第一種Whittaker関数
43 %w[u,k] (z)                    第二種Whittaker関数
44 erfc (z)                       相補誤差関数
45 ei (z)                         指数積分 (?)
46 kelliptic (z)                  第一種完全楕円積分 (K)
47 parabolic_cylinder_d (v,z)     放物円筒D関数
48 @end example
50 @opencatbox
51 @category{Bessel functions}
52 @category{Airy functions}
53 @category{Special functions}
54 @closecatbox
56 @c -----------------------------------------------------------------------------
57 @node Bessel Functions, Airy Functions, Introduction to Special Functions, Special Functions
58 @section Bessel Functions
59 @c -----------------------------------------------------------------------------
61 @c -----------------------------------------------------------------------------
62 @anchor{bessel_j}
63 @deffn {関数} bessel_j (@var{v}, @var{z})
65 次数@math{v}と独立変数@math{z}の第一種ベッセル関数。
67 @code{bessel_j}は以下のように定義されます。
69 @ifnottex
70 @example
71                 inf
72                 ====       k  - v - 2 k  v + 2 k
73                 \     (- 1)  2          z
74                  >    --------------------------
75                 /        k! gamma(v + k + 1)
76                 ====
77                 k = 0
78 @end example
79 @end ifnottex
81 @tex
82 $$\sum_{k=0}^{\infty }{{{\left(-1\right)^{k}\,\left(z\over 2\right)^{v+2\,k}
83  }\over{k!\,\Gamma\left(v+k+1\right)}}}$$
84 @end tex
86 計算のために無限級数は使われませんが。
88 @opencatbox
89 @category{Bessel functions}
90 @category{Special functions}
91 @closecatbox
92 @end deffn
94 @c -----------------------------------------------------------------------------
95 @anchor{bessel_y}
96 @deffn {関数} bessel_y (@var{v}, @var{z})
98 次数@math{v}と独立変数@math{z}の第二種ベッセル関数
100 @math{v}が整数でない時、
101 @code{bessel_y}は以下のように定義されます。
102 @ifnottex
103 @example
104               cos(%pi v) bessel_j(v, z) - bessel_j(-v, z)
105               -------------------------------------------
106                              sin(%pi v)
107 @end example
108 @end ifnottex
110 @tex
111 $${{\cos \left(\pi\,v\right)\,J_{v}(z)-J_{-v}(z)}\over{
112  \sin \left(\pi\,v\right)}}$$
113 @end tex
115 @math{v}が整数@math{n}の時、
116 @math{v}が@math{n}に近づく極限が取られます。
118 @opencatbox
119 @category{Bessel functions}
120 @category{Special functions}
121 @closecatbox
122 @end deffn
124 @c -----------------------------------------------------------------------------
125 @anchor{bessel_i}
126 @deffn {関数} bessel_i (@var{v}, @var{z})
128 次数@math{v}、独立変数@math{z}の第一種変形ベッセル関数
130 @code{bessel_i}は以下のように定義されます。
131 @ifnottex
132 @example
133                     inf
134                     ====   - v - 2 k  v + 2 k
135                     \     2          z
136                      >    -------------------
137                     /     k! gamma(v + k + 1)
138                     ====
139                     k = 0
140 @end example
141 @end ifnottex
143 @tex
144 $$\sum_{k=0}^{\infty } {{1\over{k!\,\Gamma
145  \left(v+k+1\right)}} {\left(z\over 2\right)^{v+2\,k}}}$$
146 @end tex
148 無限級数は計算には使われませんが。
150 @opencatbox
151 @category{Bessel functions}
152 @category{Special functions}
153 @closecatbox
154 @end deffn
156 @c -----------------------------------------------------------------------------
157 @anchor{bessel_k}
158 @deffn {関数} bessel_k (@var{v}, @var{z})
160 次数@math{v}、独立変数@math{z}の第二種変形ベッセル関数
162 @math{v}が整数の時
163 @code{bessel_k}は以下のように定義されます。
164 @ifnottex
165 @example
166            %pi csc(%pi v) (bessel_i(-v, z) - bessel_i(v, z))
167            -------------------------------------------------
168                                   2
169 @end example
170 @end ifnottex
171 @tex
172 $${{\pi\,\csc \left(\pi\,v\right)\,\left(I_{-v}(z)-I_{v}(z)\right)}\over{2}}$$
173 @end tex
175 もし@math{v}が整数@math{n}でないなら、
176 @math{v}が@math{n}に近づく極限が取られます。
178 @opencatbox
179 @category{Bessel functions}
180 @category{Special functions}
181 @closecatbox
182 @end deffn
184 @c -----------------------------------------------------------------------------
185 @anchor{hankel_1}
186 @deffn {関数} hankel_1 (@var{v}, @var{z})
188 次数@math{v}、独立変数@math{z}の第一種ハンケル関数 (A&S 9.1.3)。
189 @code{hankel_1}は以下のように定義されます。
191 @example
192    bessel_j(v,z) + %i * bessel_y(v,z)
193 @end example
195 Maximaは、
196 浮動小数点精度の実数次数@math{v}と複素独立変数@math{z}に対して
197 @code{hankel_1}を数値的に評価します。
198 多倍長浮動小数点精度の数値評価と複素次数@math{v}はサポートされていません。
200 @code{besselexpand}が@code{true}の時、
201 次数@math{v}が奇数の1/2の時@code{hankel_1}は初等関数の項に展開されます。
202 @code{besselexpand}を参照してください。
204 Maximaは@code{hankel_1}の独立変数@math{z}に関する導関数を知っています。
206 例:
208 数値評価:
210 @c ===beg===
211 @c hankel_1(1,0.5);
212 @c hankel_1(1,0.5+%i);
213 @c ===end===
214 @example
215 (%i1) hankel_1(1,0.5);
216 (%o1)              .2422684576748738 - 1.471472392670243 %i
217 (%i2) hankel_1(1,0.5+%i);
218 (%o2)             - .2558287994862166 %i - 0.239575601883016
219 @end example
221 複素次数@math{v}はサポートされていません。
222 Maximaは名詞形を返します:
224 @c ===beg===
225 @c hankel_1(%i,0.5+%i);
226 @c ===end===
227 @example
228 (%i3) hankel_1(%i,0.5+%i);
229 (%o3)                       hankel_1(%i, %i + 0.5)
230 @end example
232 @code{besselexpand}が@code{true}の時の@code{hankel_1}の展開:
234 @c ===beg===
235 @c hankel_1(1/2,z),besselexpand:true;
236 @c ===end===
237 @example
238 (%i4) hankel_1(1/2,z),besselexpand:true;
239                       sqrt(2) sin(z) - sqrt(2) %i cos(z)
240 (%o4)                 ----------------------------------
241                               sqrt(%pi) sqrt(z)
242 @end example
244 @code{hankel_1}の独立変数@math{z}に関する導関数。
245 次数@math{v}に関する導関数はサポートされていません。
246 Maximaは名詞形を返します:
248 @c ===beg===
249 @c diff(hankel_1(v,z),z);
250 @c diff(hankel_1(v,z),v);
251 @c ===end===
252 @example
253 (%i5) diff(hankel_1(v,z),z);
254                     hankel_1(v - 1, z) - hankel_1(v + 1, z)
255 (%o5)               ---------------------------------------
256                                        2
257 (%i6) diff(hankel_1(v,z),v);
258                              d
259 (%o6)                        -- (hankel_1(v, z))
260                              dv
261 @end example
263 @opencatbox
264 @category{Bessel functions}
265 @category{Special functions}
266 @closecatbox
267 @end deffn
269 @c -----------------------------------------------------------------------------
270 @anchor{hankel_2}
271 @deffn {関数} hankel_2 (@var{v}, @var{z})
273 次数@math{v}、独立変数@math{z}の第二種ハンケル関数 (A&S 9.1.4)。
274 @code{hankel_2}は以下のように定義されます。
276 @example
277    bessel_j(v,z) - %i * bessel_y(v,z)
278 @end example
280 Maximaは、
281 浮動小数点精度の実数次数@math{v}と複素独立変数@math{z}に対して
282 @code{hankel_2}を数値的に評価します。
283 多倍長浮動小数点精度の数値評価と複素次数@math{v}はサポートされていません。
285 @code{besselexpand}が@code{true}の時、
286 次数@math{v}が奇数の1/2の時@code{hankel_2}は初等関数の項に展開されます。
287 @code{besselexpand}を参照してください。
289 Maximaは@code{hankel_2}の独立変数@math{z}に関する導関数を知っています。
291 例は@code{hankel_1}を参照してください。
293 @opencatbox
294 @category{Bessel functions}
295 @category{Special functions}
296 @closecatbox
297 @end deffn
299 @c -----------------------------------------------------------------------------
300 @anchor{besselexpand}
301 @defvr {オプション変数} besselexpand
302 デフォルト値: @code{false}
304 @c REPHRASE
305 次数が半奇数の時のベッセル関数の展開を制御します。
306 この場合、ベッセル関数は他の初等関数で展開することができます。
307 @code{besselexpand}が@code{true}の時、
308 ベッセル関数は展開されます。
310 @example
311 (%i1) besselexpand: false$
312 (%i2) bessel_j (3/2, z);
313                                     3
314 (%o2)                      bessel_j(-, z)
315                                     2
316 (%i3) besselexpand: true$
317 (%i4) bessel_j (3/2, z);
318                                         sin(z)   cos(z)
319                        sqrt(2) sqrt(z) (------ - ------)
320                                            2       z
321                                           z
322 (%o4)                  ---------------------------------
323                                    sqrt(%pi)
324 @end example
326 @opencatbox
327 @category{Bessel functions}
328 @category{Simplification flags and variables} 
329 @category{Special functions}
330 @closecatbox
331 @end defvr
333 @c -----------------------------------------------------------------------------
334 @deffn {関数} scaled_bessel_i (@var{v}, @var{z}) 
336 次数@math{v}、独立変数@math{z}のスケールされた第一種変形ベッセル関数。
337 すなわち、@math{scaled_bessel_i(v,z) = exp(-abs(z))*bessel_i(v, z)}。
338 この関数は、大きな@math{z}に関する@math{bessel_i}―これはおおきくなりますーの計算に
339 特に役に立ちます。
340 しかしながら、そうでなければ、Maximaはこの関数についてあまり知りません。
341 数式処理のためには、式@code{exp(-abs(z))*bessel_i(v, z)}を使って取り組むのが多分望ましいです。
343 @opencatbox
344 @category{Bessel functions}
345 @closecatbox
346 @end deffn
348 @deffn {関数} scaled_bessel_i0 (@var{z}) 
350 @code{scaled_bessel_i(0,z)}と同一です。
352 @opencatbox
353 @category{Bessel functions}
354 @category{Special functions}
355 @closecatbox
356 @end deffn
358 @c -----------------------------------------------------------------------------
359 @deffn {関数} scaled_bessel_i1 (@var{z}) 
361 @code{scaled_bessel_i(1,z)}と同一です。
362 @opencatbox
363 @category{Bessel functions}
364 @category{Special functions}
365 @closecatbox
366 @end deffn
368 @c -----------------------------------------------------------------------------
369 @deffn {関数} %s [@var{u},@var{v}] (@var{z}) 
370 Lommelの小s[u,v](z)関数。
371 多分Gradshteyn & Ryzhik 8.570.1.
372 @opencatbox
373 @category{Bessel functions}
374 @category{Special functions}
375 @closecatbox
376 @end deffn
378 @c -----------------------------------------------------------------------------
379 @node Airy Functions, Gamma and factorial Functions, Bessel Functions, Special Functions
380 @section Airy Functions
381 @c -----------------------------------------------------------------------------
383 エアリー関数Ai(x)とBi(x)は、Abramowitz and Stegun,
384 @i{Handbook of Mathematical Functions}, Section 10.4の中で定義されています。
386 @code{y = Ai(x)}と@code{y = Bi(x)}は、
387 エアリー微分方程式@code{diff (y(x), x, 2) - x y(x) = 0}の
388 2つの線形独立な解です。
390 もし引数@code{x}が実数もしくは複素数の浮動小数点数なら、
391 関数の数値が返されます。
393 @deffn {関数} airy_ai (@var{x})
394 エアリー関数Ai(x)。  (A&S 10.4.2)
396 導関数@code{diff (airy_ai(x), x)}は、@code{airy_dai(x)}です。
398 @code{airy_bi}, @code{airy_dai}, @code{airy_dbi}も参照してください。
400 @opencatbox
401 @category{Airy functions}
402 @category{Special functions}
403 @closecatbox
404 @end deffn
406 @c -----------------------------------------------------------------------------
407 @deffn {関数} airy_dai (@var{x})
408 エアリー関数Ai @code{airy_ai(x)}の導関数。
410 @code{airy_ai}を参照してください。
412 @opencatbox
413 @category{Airy functions}
414 @category{Special functions}
415 @closecatbox
416 @end deffn
418 @c -----------------------------------------------------------------------------
419 @deffn {関数} airy_bi (@var{x})
420 エアリー関数Bi(x)。 (A&S 10.4.3)
422 導関数@code{diff (airy_bi(x), x)}は@code{airy_dbi(x)}です。
424 @code{airy_ai}, @code{airy_dbi}を参照してください。
426 @opencatbox
427 @category{Airy functions}
428 @category{Special functions}
429 @closecatbox
430 @end deffn
433 @c -----------------------------------------------------------------------------
434 @deffn {関数} airy_dbi (@var{x})
435 エアリーBi関数@code{airy_bi(x)}の導関数。
437 @code{airy_ai}と@code{airy_bi}を参照してください。
439 @opencatbox
440 @category{Airy functions}
441 @category{Special functions}
442 @closecatbox
443 @end deffn
445 @c -----------------------------------------------------------------------------
446 @node Gamma and factorial Functions, Exponential Integrals, Airy Functions, Special Functions
447 @section Gamma and factorial Functions
448 @c -----------------------------------------------------------------------------
450 ガンマ関数と、関連したベータ、プサイ、不完全ガンマ関数は
451 Abramowitz and Stegun,
452 @i{Handbook of Mathematical Functions}, Chapter 6の中で定義されています。
454 @c FOLLOWING FUNCTIONS IN bffac.mac ARE NOT DESCRIBED IN .texi FILES: !!!
455 @c obfac, azetb, vonschtoonk, divrlst, obzeta, bfhzeta, bfpsi0 !!!
456 @c DON'T KNOW WHICH ONES ARE INTENDED FOR GENERAL USE !!!
458 @c FOLLOWING FUNCTIONS IN bffac.mac ARE DESCRIBED IN Number.texi: !!!
459 @c burn, bzeta, bfzeta !!!
461 @c FOLLOWING FUNCTIONS IN bffac.mac ARE DESCRIBED HERE: !!!
462 @c bfpsi, bffac, cbffac !!!
464 @c -----------------------------------------------------------------------------
465 @anchor{bffac}
466 @deffn {関数} bffac (@var{expr}, @var{n})
467 階乗(シフトガンマ)関数の多倍長浮動小数点バージョン。
468 2番目の引数は、保持し返すディジットの数です。
469 少しの余分を要請するのはいい考えです。
471 @opencatbox
472 @category{Gamma and factorial functions}
473 @category{Numerical evaluation}
474 @closecatbox
475 @end deffn
477 @c -----------------------------------------------------------------------------
478 @anchor{bfpsi}
479 @deffn  {関数} bfpsi (@var{n}, @var{z}, @var{fpprec})
480 @deffnx {関数} bfpsi0 (@var{z}, @var{fpprec})
481 @code{bfpsi}は、実引数@var{z}と整数次数@var{n}の多ガンマ関数です。
482 @code{bfpsi0}はディガンマ関数です。
483 @code{bfpsi0 (@var{z}, @var{fpprec})}は@code{bfpsi (0, @var{z}, @var{fpprec})}と同値です。
485 これらの関数は多倍長浮動小数点値を返します。
486 @var{fpprec}は戻り値の多倍長浮動小数点精度です。
488 @c psi0(1) = -%gamma IS AN INTERESTING PROPERTY BUT IN THE ABSENCE OF ANY OTHER
489 @c DISCUSSION OF THE PROPERTIES OF THIS FUNCTION, THIS STATEMENT SEEMS OUT OF PLACE.
490 @c Note @code{-bfpsi0 (1, fpprec)} provides @code{%gamma} (Euler's constant) as a bigfloat.
492 @opencatbox
493 @category{Gamma and factorial functions}
494 @category{Numerical evaluation}
495 @closecatbox
496 @end deffn
498 @c -----------------------------------------------------------------------------
499 @anchor{cbffac}
500 @deffn {関数} cbffac (@var{z}, @var{fpprec})
501 複素多倍長浮動小数点の階乗です。
503 @code{load ("bffac")}はこの関数をロードします。
505 @opencatbox
506 @category{Gamma and factorial functions}
507 @category{Complex variables}
508 @category{Numerical evaluation}
509 @closecatbox
510 @end deffn
512 @c -----------------------------------------------------------------------------
513 @anchor{gamma}
514 @deffn {関数} gamma (@var{z})
516 ガンマ関数の基本的な定義 (A&S 6.1.1) は、
518 @ifnottex
519 @example
520                          inf
521                         /
522                         [     z - 1   - t
523              gamma(z) = I    t      %e    dt
524                         ]
525                         /
526                          0
527 @end example
528 @end ifnottex
529 @tex
530 $$¥Gamma¥left(z¥right)=¥int_{0}^{¥infty }{t^{z-1}¥,e^ {- t }¥;dt}$$
531 @end tex
532 です。
534 Maximaは、正の整数と正負の有理数に関して、@code{gamma}を整理します。
535 半整数値に関して、結果は有理数掛ける@code{sqrt(%pi)}です。
536 整数値に関する整理は、@code{factlim}によって制御されます。
538 @code{factlim}より大きな整数に関して、
539 階乗関数ー@code{gamma}を計算するのに使われますーの数値的な結果はオーバーフローします。
540 有理数に関する整理は、内部オーバーフローを避けるために、
541 @code{gammalim}によって制御されます。
542 @code{factlim}と@code{gammalim}も参照してください。
544 負の整数に関して、@code{gamma}は未定義です。
546 Maximaは、浮動小数点および多倍長浮動小数点の実数値および複素数値に関して、
547 @code{gamma}を数値的に評価できます。
549 @code{gamma}は鏡像対称性を持ちます。
551 @code{gamma_expand}が@code{true}の時、
552 Maximaは、
553 引数@code{z+n}と@code{z-n}―@code{n}は整数―の@code{gamma}を
554 展開します。
556 Maximaは、@code{gamma}の導関数を知っています。
558 例:
560 整数、半整数、有理数に関する整理:
562 @example
563 (%i1) map('gamma,[1,2,3,4,5,6,7,8,9]);
564 (%o1)        [1, 1, 2, 6, 24, 120, 720, 5040, 40320]
565 (%i2) map('gamma,[1/2,3/2,5/2,7/2]);
566                     sqrt(%pi)  3 sqrt(%pi)  15 sqrt(%pi)
567 (%o2)   [sqrt(%pi), ---------, -----------, ------------]
568                         2           4            8
569 (%i3) map('gamma,[2/3,5/3,7/3]);
570                                   2           1
571                           2 gamma(-)  4 gamma(-)
572                       2           3           3
573 (%o3)          [gamma(-), ----------, ----------]
574                       3       3           9
575 @end example
577 実数と複素数の数値評価:
579 @example
580 (%i4) map('gamma,[2.5,2.5b0]);
581 (%o4)     [1.329340388179137, 1.329340388179137b0]
582 (%i5) map('gamma,[1.0+%i,1.0b0+%i]);
583 (%o5) [.4980156681183558 - .1549498283018108 %i, 
584          4.980156681183561b-1 - 1.549498283018107b-1 %i]
585 @end example
587 @code{gamma}は鏡像対称性を持ちます:
589 @example
590 (%i6) declare(z,complex)$
591 (%i7) conjugate(gamma(z));
592 (%o7)                  gamma(conjugate(z))
593 @end example
595 @code{gamma_expand}が@code{true}の時
596 Maximaは、@code{gamma(z+n)}と@code{gamma(z-n)}を展開します:
598 @example
599 (%i8) gamma_expand:true$
601 (%i9) [gamma(z+1),gamma(z-1),gamma(z+2)/gamma(z+1)];
602                                gamma(z)
603 (%o9)             [z gamma(z), --------, z + 1]
604                                 z - 1
605 @end example
607 @code{gamma}の導関数:
609 @example
610 (%i10) diff(gamma(z),z);
611 (%o10)                  psi (z) gamma(z)
612                            0
613 @end example
615 @code{makegamma}も参照してください。
617 オイラー-マスケローニ定数は@code{%gamma}です。
619 @opencatbox
620 @category{Gamma and factorial functions}
621 @category{Special functions}
622 @closecatbox
623 @end deffn
625 @c -----------------------------------------------------------------------------
626 @deffn {関数} log_gamma (@var{z})
628 ガンマ関数の自然対数。
630 @opencatbox
631 @category{Gamma and factorial functions}
632 @category{Special functions}
633 @closecatbox
634 @end deffn
636 @c -----------------------------------------------------------------------------
637 @deffn {関数} gamma_incomplete (@var{a},@var{z})
639 第二種不完全ガンマ関数 A&S 6.5.2:
641 @ifnottex
642 @example
643                               inf
644                              /
645                              [     a - 1   - t
646     gamma_incomplete(a, z) = I    t      %e    dt
647                              ]
648                              /
649                               z
650 @end example
651 @end ifnottex
652 @tex
653 $$¥Gamma¥left(a , z¥right)=¥int_{z}^{¥infty }{t^{a-1}¥,e^ {- t }¥;dt}$$
654 @end tex
656 @opencatbox
657 @category{Gamma and factorial functions}
658 @category{Special functions}
659 @closecatbox
660 @end deffn
662 @c -----------------------------------------------------------------------------
663 @deffn {関数} gamma_incomplete_regularized (@var{a}, @var{z})
665 正則第二種不完全ガンマ関数 A&S 6.5.1:
667 @ifnottex
668 @example
669 gamma_incomplete_regularized(a, z) = 
670                                         gamma_incomplete(a, z)
671                                         ----------------------
672                                                gamma(a)
673 @end example
674 @end ifnottex
675 @tex
676 $${¥it Q}¥left(a , z¥right)={{¥Gamma¥left(a , z¥right)}¥over{¥Gamma¥left(a¥right)}}$$
677 @end tex
679 @opencatbox
680 @category{Gamma and factorial functions}
681 @category{Special functions}
682 @closecatbox
683 @end deffn
685 @c -----------------------------------------------------------------------------
686 @deffn {関数} gamma_incomplete_generalized (@var{a},@var{z1},@var{z1} )
687 一般化不完全ガンマ関数
689 @ifnottex
690 @example
691 gamma_incomplete_generalized(a, z1, z2) = 
692                                                z2
693                                               /
694                                               [    a - 1   - t
695                                               I   t      %e    dt
696                                               ]
697                                               /
698                                                z1
699 @end example
700 @end ifnottex
701 @tex
702 $$¥Gamma¥left(a , z_{1}, z_{2}¥right)=¥int_{z_{1}}^{z_{2}}{t^{a-1}¥,e^ {- t }¥;dt}$$
703 @end tex
705 @opencatbox
706 @category{Gamma and factorial functions}
707 @category{Special functions}
708 @closecatbox
709 @end deffn
711 @c -----------------------------------------------------------------------------
712 @anchor{gammalim}
713 @defvr {オプション変数} gammalim
714 デフォルト値: 1000000
716 @c REPHRASE
717 @code{gammalim}は、整数と有理数引数に関してガンマ関数の整理を制御します。
718 もし引数の絶対値が@code{gammalim}よりも大きくないなら、
719 整理が行われます。
720 @code{factlim}スイッチは、
721 整数引数の@code{gamma}の結果の整理を制御します。
722 @code{factlim}スイッチは、
723 整数引数の@code{gamma}の結果の整理も制御することに注意してください。
725 @opencatbox
726 @category{Gamma and factorial functions}
727 @category{Simplification flags and variables}
728 @closecatbox
730 @end defvr
732 @c NEED CROSS REFS HERE
733 @c NEED EXAMPLES HERE
735 @c -----------------------------------------------------------------------------
736 @anchor{makegamma}
737 @deffn {関数} makegamma (@var{expr})
738 @var{expr}の中の2項、階乗、ベータ関数のインスタンスをガンマ関数に変換します。
740 @code{makefact}も参照してください。
742 @opencatbox
743 @category{Gamma and factorial functions}
744 @closecatbox
745 @end deffn
747 @c -----------------------------------------------------------------------------
748 @deffn {関数} beta (@var{a}, @var{b})
749 ベータ関数は、@code{gamma(a) gamma(b)/gamma(a+b)} 
750 (A&S 6.2.1)として定義されます。
752 Maximaは、正の整数と、合計すると整数になる有理数についてベータ関数を整理します。
753 @code{beta_args_sum_to_integer}が@code{true}の時、
754 Maximaは、和が整数になる一般式も整理します。
756 @var{a}もしくは@var{b}がゼロに等しい時には、ベータ関数は未定義です。
758 一般にベータ関数は、負の整数の引数で未定義です。
759 例外は、@var{a=-n}―@var{n}は正の整数―かつ@var{b}が@var{b<=n}の正の整数で、
760 解析接続を定義することが可能です。
761 Maximaはこの場合結果を与えます。
763 @code{beta_expand}が@code{true}の時、
764 @code{n}を整数とする@code{beta(a+n,b)}と@code{beta(a-n,b)}、
765 もしくは@code{beta(a,b+n)}と@code{beta(a,b-n)}
766 のような式は整理されます。
768 Maximaは、実数値と複素数値のベータ関数を浮動小数点と多倍長浮動小数点精度で評価できます。
769 数値評価のために、Maximaは@code{log_gamma}を使います:
771 @example
772            - log_gamma(b + a) + log_gamma(b) + log_gamma(a)
773          %e
774 @end example
776 Maximaは、ベータ関数が対称で、鏡像対称性を持つことを知っています。
778 Maximaは、@var{a}または@var{b}に関するベータ関数の導関数を知っています。
780 ベータ関数をガンマ関数の比として表現するには、@code{makegamma}を参照してください。
782 例:
784 引数の1つが整数の時の整理:
786 @example
787 (%i1) [beta(2,3),beta(2,1/3),beta(2,a)];
788                                1   9      1
789 (%o1)                         [--, -, ---------]
790                                12  4  a (a + 1)
791 @end example
793 2つの有理数引数の和が整数になる時の整理:
795 @example
796 (%i2) [beta(1/2,5/2),beta(1/3,2/3),beta(1/4,3/4)];
797                           3 %pi   2 %pi
798 (%o2)                    [-----, -------, sqrt(2) %pi]
799                             8    sqrt(3)
800 @end example
802 @code{beta_args_sum_to_integer}を@code{true}に設定した時、
803 引数の和が整数の時、さらに一般的な式が整理されます:
805 @example
806 (%i3) beta_args_sum_to_integer:true$
807 (%i4) beta(a+1,-a+2);
808                                 %pi (a - 1) a
809 (%o4)                         ------------------
810                               2 sin(%pi (2 - a))
811 @end example
813 引数の1つが負の整数の時、可能な結果: 
815 @example
816 (%i5) [beta(-3,1),beta(-3,2),beta(-3,3)];
817                                     1  1    1
818 (%o5)                            [- -, -, - -]
819                                     3  6    3
820 @end example
822 @code{beta_expand}が@code{true}の時、
823 @code{n}が整数の@code{beta(a+n,b)}または@code{beta(a-n)}は整理されます:
825 @example
826 (%i6) beta_expand:true$
827 (%i7) [beta(a+1,b),beta(a-1,b),beta(a+1,b)/beta(a,b+1)];
828                     a beta(a, b)  beta(a, b) (b + a - 1)  a
829 (%o7)              [------------, ----------------------, -]
830                        b + a              a - 1           b
832 @end example
834 引数の1つがゼロの時、ベータは未定義です:
836 @example
837 (%i7) beta(0,b);
838 beta: expected nonzero arguments; found 0, b
839  -- an error.  To debug this try debugmode(true);
840 @end example
842 実数値と複素数値の浮動小数点または多倍長浮動小数点精度での数値評価:
844 @example
845 (%i8) beta(2.5,2.3);
846 (%o8) .08694748611299981
848 (%i9) beta(2.5,1.4+%i);
849 (%o9) 0.0640144950796695 - .1502078053286415 %i
851 (%i10) beta(2.5b0,2.3b0);
852 (%o10) 8.694748611299969b-2
854 (%i11) beta(2.5b0,1.4b0+%i);
855 (%o11) 6.401449507966944b-2 - 1.502078053286415b-1 %i
856 @end example
858 ベータは対称で、鏡像対称性を持ちます:
860 @example
861 (%i14) beta(a,b)-beta(b,a);
862 (%o14)                                 0
863 (%i15) declare(a,complex,b,complex)$
864 (%i16) conjugate(beta(a,b));
865 (%o16)                 beta(conjugate(a), conjugate(b))
866 @end example
868 @code{a}に関するベータ関数の導関数:
869 @example
870 (%i17) diff(beta(a,b),a);
871 (%o17)               - beta(a, b) (psi (b + a) - psi (a))
872                                       0             0
873 @end example
875 @opencatbox
876 @category{Gamma and factorial functions}
877 @closecatbox
878 @end deffn
880 @c -----------------------------------------------------------------------------
881 @deffn {関数} beta_incomplete (@var{a}, @var{b}, @var{z})
883 不完全ベータ関数の基本定義(A&S 6.6.1)は、以下の通りです。
885 @example
886 @group
887         z
888        /
889        [         b - 1  a - 1
890        I  (1 - t)      t      dt
891        ]
892        /
893         0
894 @end group
895 @end example
897 この定義は、@math{realpart(a)>0}かつ@math{realpart(b)>0}かつ@math{abs(z)<1}で可能です。
898 他の値では不完全ベータ関数は一般化超幾何関数を通じて定義することができます。
900 @example
901    gamma(a) hypergeometric_generalized([a, 1 - b], [a + 1], z) z
902 @end example
904 (不完全ベータ関数の完全な定義については、functions.wolfram.comを参照してください。
907 負の整数@math{a = -n}と正の整数@math{b=m}で、@math{m<=n}の場合、
908 不完全ベータ関数は以下を通して定義されます。
910 @example
911                             m - 1           k
912                             ====  (1 - m)  z
913                       n - 1 \            k
914                      z       >    -----------
915                             /     k! (n - k)
916                             ====
917                             k = 0
918 @end example
920 Maximaは、
921 負の整数@var{a}に関する@code{beta_incomplete}を整理するために、この定義を使います。
923 @var{a}が正の整数の時、
924 任意の引数@var{b}, @var{z}に関して、
925 @var{b}が正の整数の時、
926 非負の整数@var{a}, 任意の@var{z}に関して、
927 @code{beta_incomplete}は整理されます。
929 @math{z=0}かつ@math{realpart(a)>0}の時、@code{beta_incomplete}は特別な値ゼロを取ります。
930 @var{z=1}かつ@math{realpart(b)>0}の時、
931 @code{beta_incomplete}はベータ関数@code{beta(a,b)}に整理されます。
933 Maximaは、浮動小数点か多倍長浮動小数点精度の実数値と複素数値に対して、
934 @code{beta_incomplete}を数値的に評価します。
935 数値評価に関して、
936 不完全ベータ函数の連分数展開を使います。
938 オプション変数@code{beta_expand}が@code{true}の時、
939 Maximaは@code{beta_incomplete(a+n,b,z)}や@code{beta_incomplete(a-n,b,z)}のような式を展開します。ここでnは正の整数です。
941 Maximaは@code{beta_incomplete}の変数@var{a}, @var{b}, @var{z}についての導関数と
942 変数@var{z}についての積分を知っています。
944 例:
946 正の整数@var{a}に関する整理:
948 @example
949 (%i1) beta_incomplete(2,b,z);
950                                        b
951                             1 - (1 - z)  (b z + 1)
952 (%o1)                       ----------------------
953                                   b (b + 1)
954 @end example
956 正の整数@var{b}に関する整理:
958 @example
959 (%i2) beta_incomplete(a,2,z);
960                                                a
961                               (a (1 - z) + 1) z
962 (%o2)                         ------------------
963                                   a (a + 1)
964 @end example
966 正の整数@var{a}, @var{b}に関する整理:
968 @example
969 (%i3) beta_incomplete(3,2,z);
970 @group
971                                                3
972                               (3 (1 - z) + 1) z
973 (%o3)                         ------------------
974                                       12
975 @end group
976 @end example
978 @var{a}が負の整数かつ@math{b<=(-a)}の時、Maximaは整理します:
980 @example
981 (%i4) beta_incomplete(-3,1,z);
982                                        1
983 (%o4)                              - ----
984                                         3
985                                      3 z
986 @end example
988 特定の値@math{z=0}と@math{z=1}に関して, Maximaは整理します:
990 @example
991 (%i5) assume(a>0,b>0)$
992 (%i6) beta_incomplete(a,b,0);
993 (%o6)                                 0
994 (%i7) beta_incomplete(a,b,1);
995 (%o7)                            beta(a, b)
996 @end example
998 浮動小数点または多倍長浮動小数点精度の数値評価:
1000 @example
1001 (%i8) beta_incomplete(0.25,0.50,0.9);
1002 (%o8)                          4.594959440269333
1003 (%i9)  fpprec:25$
1004 (%i10) beta_incomplete(0.25,0.50,0.9b0);
1005 (%o10)                    4.594959440269324086971203b0
1006 @end example
1008 @math{abs(z)>1}の時、@code{beta_incomplete}は複素数を返します:
1010 @example
1011 (%i11) beta_incomplete(0.25,0.50,1.7);
1012 (%o11)              5.244115108584249 - 1.45518047787844 %i
1013 @end example
1015 もっと一般的な複素引数に関する結果:
1017 @example
1018 (%i14) beta_incomplete(0.25+%i,1.0+%i,1.7+%i);
1019 (%o14)             2.726960675662536 - .3831175704269199 %i
1020 (%i15) beta_incomplete(1/2,5/4*%i,2.8+%i);
1021 (%o15)             13.04649635168716 %i - 5.802067956270001
1022 (%i16) 
1023 @end example
1025 @code{beta_expand}が@code{true}の時の展開:
1027 @example
1028 (%i23) beta_incomplete(a+1,b,z),beta_expand:true;
1029                                                        b  a
1030                    a beta_incomplete(a, b, z)   (1 - z)  z
1031 (%o23)             -------------------------- - -----------
1032                              b + a                 b + a
1034 (%i24) beta_incomplete(a-1,b,z),beta_expand:true;
1035                                                            b  a - 1
1036            beta_incomplete(a, b, z) (- b - a + 1)   (1 - z)  z
1037 (%o24)     -------------------------------------- - ---------------
1038                            1 - a                         1 - a
1039 @end example
1041 @code{beta_incomplete}の微分と積分:
1043 @example
1044 (%i34) diff(beta_incomplete(a, b, z), z);
1045 @group
1046                               b - 1  a - 1
1047 (%o34)                 (1 - z)      z
1048 @end group
1049 (%i35) integrate(beta_incomplete(a, b, z), z);
1050               b  a
1051        (1 - z)  z
1052 (%o35) ----------- + beta_incomplete(a, b, z) z
1053           b + a
1054                                        a beta_incomplete(a, b, z)
1055                                      - --------------------------
1056                                                  b + a
1057 (%i36) factor(diff(%, z));
1058 (%o36)              beta_incomplete(a, b, z)
1059 @end example
1061 @opencatbox
1062 @category{Gamma and factorial functions}
1063 @closecatbox
1064 @end deffn
1066 @c -----------------------------------------------------------------------------
1067 @deffn {関数} beta_incomplete_regularized (@var{a}, @var{b}, @var{z})
1069 @example
1070 beta_incomplete_regularized(a, b, z) = 
1071                                       beta_incomplete(a, b, z)
1072                                       ------------------------
1073                                              beta(a, b)
1074 @end example
1075 として定義された正則不完全ベータ関数 A&S 6.6.2。
1077 @code{beta_incomplete}同様、この定義は完全ではありません。
1078 @code{beta_incomplete_regularized}の完全な定義については、functions.wolfram.comを参照してください。
1080 @code{beta_incomplete_regularized}は、@var{a}または@var{b}が正の整数の時
1081 整理されます。
1083 @math{z=0}かつ@math{realpart(a)>0}の時、
1084 @code{beta_incomplete_regularized}は、具体的な値0を持ちます。
1085 @var{z=1}かつ@math{realpart(b)>0}の時、
1086 @code{beta_incomplete_regularized}は、1に整理されます。
1088 Maximaは、実数と複素数の引数について、
1089 浮動小数点と多倍長浮動小数点精度で@code{beta_incomplete_regularized}を評価します。
1091 @code{beta_expand}が@code{true}の時、
1092 Maximaは、
1093 nは整数として、引数@math{a+n}または@math{a-n}に関して
1094 @code{beta_incomplete_regularized}を展開します。
1096 Maximaは、変数@var{a}, @var{b}, @var{z}に関する
1097 @code{beta_incomplete_regularized}の導関数と、
1098 変数@var{z}に関する積分を知っています。
1100 例:
1102 @var{a}または@var{b}が正の整数の時の整理:
1104 @example
1105 (%i1) beta_incomplete_regularized(2,b,z);
1106                                        b
1107 (%o1)                       1 - (1 - z)  (b z + 1)
1109 (%i2) beta_incomplete_regularized(a,2,z);
1110                                                a
1111 (%o2)                         (a (1 - z) + 1) z
1113 (%i3) beta_incomplete_regularized(3,2,z);
1114                                                3
1115 (%o3)                         (3 (1 - z) + 1) z
1116 @end example
1118 特定の値@math{z=0}, @math{z=1}について、Maximaは整理します:
1120 @example
1121 (%i4) assume(a>0,b>0)$
1122 (%i5) beta_incomplete_regularized(a,b,0);
1123 (%o5)                                 0
1124 (%i6) beta_incomplete_regularized(a,b,1);
1125 (%o6)                                 1
1126 @end example
1128 実数と複素数引数に関する浮動小数点または多倍長浮動小数点精度の数値評価:
1130 @example
1131 (%i7) beta_incomplete_regularized(0.12,0.43,0.9);
1132 (%o7)                         .9114011367359802
1133 (%i8) fpprec:32$
1134 (%i9) beta_incomplete_regularized(0.12,0.43,0.9b0);
1135 (%o9)               9.1140113673598075519946998779975b-1
1136 (%i10) beta_incomplete_regularized(1+%i,3/3,1.5*%i);
1137 (%o10)             .2865367499935403 %i - 0.122995963334684
1138 (%i11) fpprec:20$
1139 (%i12) beta_incomplete_regularized(1+%i,3/3,1.5b0*%i);
1140 (%o12)      2.8653674999354036142b-1 %i - 1.2299596333468400163b-1
1141 @end example
1143 @code{beta_expand}が@code{true}の時の展開:
1145 @example
1146 (%i13) beta_incomplete_regularized(a+1,b,z);
1147                                                      b  a
1148                                               (1 - z)  z
1149 (%o13) beta_incomplete_regularized(a, b, z) - ------------
1150                                               a beta(a, b)
1151 (%i14) beta_incomplete_regularized(a-1,b,z);
1152 (%o14) beta_incomplete_regularized(a, b, z)
1153                                                      b  a - 1
1154                                               (1 - z)  z
1155                                          - ----------------------
1156                                            beta(a, b) (b + a - 1)
1157 @end example
1159 @var{z}に関する微分と積分:
1161 @example
1162 (%i15) diff(beta_incomplete_regularized(a,b,z),z);
1163                               b - 1  a - 1
1164                        (1 - z)      z
1165 (%o15)                 -------------------
1166                            beta(a, b)
1167 (%i16) integrate(beta_incomplete_regularized(a,b,z),z);
1168 (%o16) beta_incomplete_regularized(a, b, z) z
1169                                                            b  a
1170                                                     (1 - z)  z
1171           a (beta_incomplete_regularized(a, b, z) - ------------)
1172                                                     a beta(a, b)
1173         - -------------------------------------------------------
1174                                    b + a
1175 @end example
1177 @opencatbox
1178 @category{Gamma and factorial functions}
1179 @closecatbox
1180 @end deffn
1182 @c -----------------------------------------------------------------------------
1183 @deffn {関数} beta_incomplete_generalized (@var{a}, @var{b}, @var{z1}, @var{z2})
1185 一般化不完全ベータ関数の基本的な定義は、以下の通りです。
1187 @example
1188 @group
1189              z2
1190            /
1191            [          b - 1  a - 1
1192            I   (1 - t)      t      dt
1193            ]
1194            /
1195             z1
1196 @end group
1197 @end example
1199 Maximaは、
1200 @var{a}と@var{b}が正の整数の時、
1201 @code{beta_incomplete_regularized}を整理します。
1203 @math{realpart(a)>0}かつ@math{z1=0}または@math{z2=0}の時、
1204 Maximaは、
1205 @code{beta_incomplete_generalized}を@code{beta_incomplete}に整理します。
1206 @math{realpart(b)>0}かつ@math{z1=1}または@var{z2=1}の時、
1207 Maximaは、@code{beta}と@code{beta_incomplete}を含む式に整理します。
1209 Maximaは、実数値と複素数値に関して、浮動小数点と多倍長浮動小数点精度で
1210 @code{beta_incomplete_regularized}を評価します。
1212 @code{beta_expand}が@code{true}の時、
1213 @var{n}を正の整数とすると、
1214 Maximaは、@math{a+n}や@math{a-n}に関して@code{beta_incomplete_generalized}
1215 を整理します。
1217 Maximaは、
1218 変数@var{a}, @var{b}, @var{z1}, @var{z2}に関する
1219 @code{beta_incomplete_generalized}の微分を知っており、
1220 変数@var{z1}や@var{z2}に関する積分を知っています。
1222 例:
1224 Maximaは、@var{a}と@var{b}が正の整数の時、
1225 @code{beta_incomplete_generalized}を整理します:
1227 @example
1228 (%i1) beta_incomplete_generalized(2,b,z1,z2);
1229                    b                      b
1230            (1 - z1)  (b z1 + 1) - (1 - z2)  (b z2 + 1)
1231 (%o1)      -------------------------------------------
1232                             b (b + 1)
1233 (%i2) beta_incomplete_generalized(a,2,z1,z2);
1234 @group
1235                               a                      a
1236            (a (1 - z2) + 1) z2  - (a (1 - z1) + 1) z1
1237 (%o2)      -------------------------------------------
1238                             a (a + 1)
1239 @end group
1240 (%i3) beta_incomplete_generalized(3,2,z1,z2);
1241               2      2                       2      2
1242       (1 - z1)  (3 z1  + 2 z1 + 1) - (1 - z2)  (3 z2  + 2 z2 + 1)
1243 (%o3) -----------------------------------------------------------
1244                                   12
1245 @end example
1247 特定の値@math{z1=0}, @math{z2=0}, @math{z1=1}または@math{z2=1}に関する整理:
1249 @example
1250 (%i4) assume(a > 0, b > 0)$
1251 (%i5) beta_incomplete_generalized(a,b,z1,0);
1252 (%o5)                    - beta_incomplete(a, b, z1)
1254 (%i6) beta_incomplete_generalized(a,b,0,z2);
1255 (%o6)                    - beta_incomplete(a, b, z2)
1257 (%i7) beta_incomplete_generalized(a,b,z1,1);
1258 (%o7)              beta(a, b) - beta_incomplete(a, b, z1)
1260 (%i8) beta_incomplete_generalized(a,b,1,z2);
1261 (%o8)              beta_incomplete(a, b, z2) - beta(a, b)
1262 @end example
1264 浮動小数点もしくは多倍長浮動小数点精度での実数値引数に関する数値評価:
1266 @example
1267 (%i9) beta_incomplete_generalized(1/2,3/2,0.25,0.31);
1268 (%o9)                        .09638178086368676
1270 (%i10) fpprec:32$
1271 (%i10) beta_incomplete_generalized(1/2,3/2,0.25,0.31b0);
1272 (%o10)               9.6381780863686935309170054689964b-2
1273 @end example
1275 浮動小数点もしくは多倍長浮動小数点精度での複素数値引数に関する数値評価:
1277 @example
1278 (%i11) beta_incomplete_generalized(1/2+%i,3/2+%i,0.25,0.31);
1279 (%o11)           - .09625463003205376 %i - .003323847735353769
1280 (%i12) fpprec:20$
1281 (%i13) beta_incomplete_generalized(1/2+%i,3/2+%i,0.25,0.31b0);
1282 (%o13)     - 9.6254630032054178691b-2 %i - 3.3238477353543591914b-3
1283 @end example
1285 @code{beta_expand}が@code{true}の時、
1286 @var{n}を正の整数とする、
1287 @math{a+n}または@math{a-n}に関する整理:
1289 @example
1290 (%i14) beta_expand:true$
1292 (%i15) beta_incomplete_generalized(a+1,b,z1,z2);
1294                b   a           b   a
1295        (1 - z1)  z1  - (1 - z2)  z2
1296 (%o15) -----------------------------
1297                    b + a
1298                       a beta_incomplete_generalized(a, b, z1, z2)
1299                     + -------------------------------------------
1300                                          b + a
1301 (%i16) beta_incomplete_generalized(a-1,b,z1,z2);
1303        beta_incomplete_generalized(a, b, z1, z2) (- b - a + 1)
1304 (%o16) -------------------------------------------------------
1305                                 1 - a
1306                                     b   a - 1           b   a - 1
1307                             (1 - z2)  z2      - (1 - z1)  z1
1308                           - -------------------------------------
1309                                             1 - a
1310 @end example
1312 変数@var{z1}に関する微分と@var{z1}や@var{z2}に関する積分:
1314 @example
1315 (%i17) diff(beta_incomplete_generalized(a,b,z1,z2),z1);
1316                                b - 1   a - 1
1317 (%o17)               - (1 - z1)      z1
1318 (%i18) integrate(beta_incomplete_generalized(a,b,z1,z2),z1);
1319 (%o18) beta_incomplete_generalized(a, b, z1, z2) z1
1320                                   + beta_incomplete(a + 1, b, z1)
1321 (%i19) integrate(beta_incomplete_generalized(a,b,z1,z2),z2);
1322 (%o19) beta_incomplete_generalized(a, b, z1, z2) z2
1323                                   - beta_incomplete(a + 1, b, z2)
1324 @end example
1326 @opencatbox
1327 @category{Gamma and factorial functions}
1328 @closecatbox
1329 @end deffn
1331 @defvr {オプション変数} beta_expand
1332 デフォルト値: false
1334 @code{beta_expand}が@code{true}の時、
1335 @math{a+n}や@math{a-n}のような引数に対して
1336 @code{beta(a,b)} と、関連した関数は展開されます。
1337 ここで@math{n}は整数です。
1339 @opencatbox
1340 @category{Gamma and factorial functions}
1341 @category{Simplification flags and variables}
1342 @closecatbox
1343 @end defvr
1345 @defvr {オプション変数} beta_args_sum_to_integer
1346 デフォルト値: false
1348 @code{beta_args_sum_to_integer}が@code{true}の時、
1349 引数@var{a}と@var{b}の和が整数の時、
1350 Maximaは@code{beta(a,b)}を整理します。
1352 @opencatbox
1353 @category{Gamma and factorial functions}
1354 @category{Simplification flags and variables}
1355 @closecatbox
1356 @end defvr
1359 @c NEED INFO HERE ABOUT THE SUBSCRIPTED FORM psi[n](x)
1360 @c I (rtoy) don't think there is a plain psi(x) function anymore.
1361 @c @deffn {関数} psi (@var{x})
1362 @c @deffnx {関数} psi [@var{n}](@var{x})
1363 @deffn {関数} psi [@var{n}](@var{x})
1365 @code{log (gamma (@var{x}))}の次数@code{@var{n}+1}の導関数。
1366 例えば、
1367 @code{psi[0](@var{x})}は1階微分、
1368 @code{psi[1](@var{x})}は2階微分など。
1370 Maximaは、一般に、@code{psi}の数値を計算する方法を知りませんが、
1371 有理数の引数に関してはいくつかの厳密な値を計算することができます。
1372 いくつの変数は、@code{psi}が可能なら厳密な値を返す有理数の引数の範囲を制御します。
1373 @code{maxpsiposint},
1374 @code{maxpsinegint}, @code{maxpsifracnum}, @code{maxpsifracdenom}を参照してください。
1375 すなわち、@var{x}は、@code{maxpsinegint}と@code{maxpsiposint}の間になければいけません。
1376 もし@var{x}の小数部分の絶対値が有理数で、かつ分子が@code{maxpsifracnum}より小さく、
1377 分母が@code{maxpsifracdenom}より小さければ、
1378 @code{psi}は厳密な値を返します。
1380 @code{bffac}パッケージの中の
1381 関数@code{bfpsi}は数値を計算できます。
1383 @opencatbox
1384 @category{Gamma and factorial functions}
1385 @closecatbox
1386 @end deffn
1388 @defvr {オプション変数} maxpsiposint
1389 デフォルト値: 20
1391 @code{maxpsiposint}は、
1392 @code{psi[n](x)}が厳密な値を計算しようとする
1393 最も大きな正の値です。
1395 @opencatbox
1396 @category{Gamma and factorial functions}
1397 @closecatbox
1399 @end defvr
1401 @defvr {オプション変数} maxpsinegint
1402 デフォルト値: -10
1404 @code{maxpsinegint}
1405 @code{psi[n](x)}が厳密な値を計算しようとする
1406 最も大きな負の値です。
1407 従って、もし
1408 @var{x}が@code{maxnegint}よりも小さければ、
1409 たとえ可能でも、
1410 @code{psi[n](@var{x})}は整理された答えを返しません。
1412 @opencatbox
1413 @category{Gamma and factorial functions}
1414 @closecatbox
1416 @end defvr
1418 @defvr {オプション変数} maxpsifracnum
1419 デフォルト値: 6
1421 @var{x}を1より小さい、形式@code{p/q}の有理数とします。
1422 もし@code{p}が@code{maxpsifracnum}より大きいなら
1423 @code{psi[@var{n}](@var{x})}は、
1424 整理された値を返そうとしません。
1426 @opencatbox
1427 @category{Gamma and factorial functions}
1428 @closecatbox
1430 @end defvr
1432 @defvr {オプション変数} maxpsifracdenom
1433 デフォルト値: 6
1435 @var{x}を1より小さい、形式@code{p/q}の有理数とします。
1436 もし@code{q}が@code{maxpsifracdenom}より大きいなら
1437 @code{psi[@var{n}](@var{x})}は、
1438 整理された値を返そうとしません。
1440 @opencatbox
1441 @category{Gamma and factorial functions}
1442 @closecatbox
1444 @end defvr
1446 @c NEED CROSS REFS HERE
1447 @c NEED EXAMPLES HERE
1448 @deffn {関数} makefact (@var{expr})
1449 @var{expr}の中の二項、ガンマ、ベータ関数のインスタンスを階乗に変換します。
1451 @code{makegamma}も参照してください。
1453 @opencatbox
1454 @category{Gamma and factorial functions}
1455 @closecatbox
1456 @end deffn
1459 @c AREN'T THERE OTHER FUNCTIONS THAT DO ESSENTIALLY THE SAME THING ??
1460 @deffn {関数} numfactor (@var{expr})
1461 式@var{expr}を掛ける数値因子を返します。
1462 式@var{expr}は単一項でなければいけません。
1464 @c WHY IS content MENTIONED IN THIS CONTEXT ??
1465 @code{content}は、輪の中のすべての項の最大公約数を返します。
1467 @example
1468 (%i1) gamma (7/2);
1469                           15 sqrt(%pi)
1470 (%o1)                     ------------
1471                                8
1472 (%i2) numfactor (%);
1473                                15
1474 (%o2)                          --
1475                                8
1476 @end example
1478 @opencatbox
1479 @category{Expressions}
1480 @closecatbox
1481 @end deffn
1484 @node Exponential Integrals, Error Function, Gamma and factorial Functions, Special Functions
1485 @section Exponential Integrals
1487 指数積分と、関連した関数は、
1488 Abramowitz and Stegun,
1489 @i{Handbook of Mathematical Functions}, 5章の中で定義されています。
1491 @deffn {関数} expintegral_e1 (@var{z})
1492 指数積分E1(z) (A&S 5.1.1)
1493 @opencatbox
1494 @category{Exponential Integrals}
1495 @category{Special functions}
1496 @closecatbox
1497 @end deffn
1499 @deffn {関数} expintegral_ei (@var{z})
1500 指数積分Ei(z) (A&S 5.1.2)
1501 @opencatbox
1502 @category{Exponential Integrals}
1503 @category{Special functions}
1504 @closecatbox
1505 @end deffn
1507 @deffn {関数} expintegral_li (@var{z})
1508 指数積分Li(z)  (A&S 5.1.3)
1509 @opencatbox
1510 @category{Exponential Integrals}
1511 @category{Special functions}
1512 @closecatbox
1513 @end deffn
1515 @deffn {関数} expintegral_e (@var{n},@var{z})
1516 指数積分 En(z)  (A&S 5.1.4)
1517 @opencatbox
1518 @category{Exponential Integrals}
1519 @category{Special functions}
1520 @closecatbox
1521 @end deffn
1523 @deffn {関数} expintegral_si (@var{z})
1524 指数積分 Si(z) (A&S 5.2.1)
1525 @opencatbox
1526 @category{Exponential Integrals}
1527 @category{Special functions}
1528 @closecatbox
1529 @end deffn
1531 @deffn {関数} expintegral_ci (@var{z})
1532 指数積分 Ci(z) (A&S 5.2.2)
1533 @opencatbox
1534 @category{Exponential Integrals}
1535 @category{Special functions}
1536 @closecatbox
1537 @end deffn
1539 @deffn {関数} expintegral_shi (@var{z})
1540 指数積分 Shi(z) (A&S 5.2.3)
1541 @opencatbox
1542 @category{Exponential Integrals}
1543 @category{Special functions}
1544 @closecatbox
1545 @end deffn
1547 @deffn {関数} expintegral_chi (@var{z})
1548 指数積分 Chi(z) (A&S 5.2.4)
1549 @opencatbox
1550 @category{Exponential Integrals}
1551 @category{Special functions}
1552 @closecatbox
1553 @end deffn
1555 @defvr {オプション変数} expintrep
1556 デフォルト値: false
1558 指数積分の表現を、
1559   gamma_incomplete, expintegral_e1, expintegral_ei, 
1560   expintegral_li, expintegral_trig, expintegral_hyp
1561 に変えます。
1563 @opencatbox
1564 @category{Exponential Integrals}
1565 @closecatbox
1566 @end defvr
1568 @defvr {オプション変数} expintexpand 
1569 デフォルト値: false
1571 Expand the Exponential Integral 
1572 半整数値の指数積分E[n](z)をErfcもしくはErfの項で展開し、
1573 整数値のそれをEiの項で展開します。
1574 @opencatbox
1575 @category{Exponential Integrals}
1576 @closecatbox
1577 @end defvr
1579 @node Error Function, Struve Functions, Exponential Integrals, Special Functions
1580 @section Error Function
1582 誤差関数と、関連した関数は、
1583 Abramowitz and Stegun,
1584 @i{Handbook of Mathematical Functions}, 7章で定義されています。
1586 @deffn {関数} erf (@var{z})
1587 誤差関数erf(z) (A&S 7.1.1)
1589 See also flag @code{erfflag}.
1590 @opencatbox
1591 @category{Special functions}
1592 @closecatbox
1593 @end deffn
1595 @deffn {関数} erfc (@var{z})
1596 相補誤差関数erfc(z) (A&S 7.1.2)
1598 @code{erfc(z) = 1-erf(z)}
1599 @opencatbox
1600 @category{Special functions}
1601 @closecatbox
1602 @end deffn
1604 @deffn {関数} erfi (@var{z})
1605 虚数誤差関数
1607 @code{erfi(z) = -%i*erf(%i*z)}
1608 @opencatbox
1609 @category{Special functions}
1610 @closecatbox
1611 @end deffn
1613 @deffn {関数} erf_generalized (@var{z1},@var{z2})
1614 一般化誤差関数Erf(z1,z2)
1615 @opencatbox
1616 @category{Special functions}
1617 @closecatbox
1618 @end deffn
1620 @deffn {関数} fresnel_c (@var{z})
1621 フレネル積分C(z) = integrate(cos((%pi/2)*t^2),t,0,z) (A&S 7.3.1)
1623 フラグ@code{trigsign}が@code{true}の時、
1624 整理 fresnel_c(-x) = -fresnel_c(x)
1625 が適用されます。
1627 フラグ@code{%iargs}が@code{true}の時、
1628 整理 fresnel_c(%i*x) =  %i*fresnel_c(x) 
1629 が適用されます。
1632 フラグ@code{erf_representation}と@code{hypergeometric_representation}を参照してください。
1633 @opencatbox
1634 @category{Special functions}
1635 @closecatbox
1636 @end deffn
1638 @deffn {関数} fresnel_s (@var{z})
1639 フレネル積分S(z) = integrate(sin((%pi/2)*t^2),t,0,z). (A&S 7.3.2)
1641 フラグ@code{trigsign}が@code{true}の時、
1642 整理fresnel_s(-x) = -fresnel_s(x)
1643 が適用されます。
1645 フラグ@code{%iargs}が@code{true}の時、
1646 整理 fresnel_s(%i*x) =  %i*fresnel_s(x)
1647 が適用されます。
1649 フラグ@code{erf_representation}と@code{hypergeometric_representation}を参照してください。
1650 @opencatbox
1651 @category{Special functions}
1652 @closecatbox
1653 @end deffn
1655 @defvr {オプション変数} erf_representation
1656 デフォルト値: false
1658 @code{true}の時、 erfc, erfi, erf_generalized, fresnel_s, fresnel_c
1659 は、erfに変換されます。
1660 @end defvr
1662 @defvr {オプション変数} hypergeometric_representation
1663 デフォルト値: false
1665 fresnel_sとfresnel_cに関して超幾何表現への変換を可能にします。
1666 @end defvr
1668 @node Struve Functions, Hypergeometric Functions, Error Function, Special Functions
1669 @section Struve Functions
1671 シュトルーベ関数はAbramowitz and Stegun,
1672 @i{Handbook of Mathematical Functions}, 12章で定義されています。
1674 Maximaは、これらの関数の非常に限られた知識を持っています。
1675 それらは、関数@code{hgfred}から返されることができます。
1677 @c -----------------------------------------------------------------------------
1678 @deffn {関数} struve_h (@var{v}, @var{z})
1679 次数v, 独立変数zのシュトルーベ関数H (A&S 12.1.1)
1681 @opencatbox
1682 @category{Special functions}
1683 @closecatbox
1684 @end deffn
1687 @c -----------------------------------------------------------------------------
1688 @deffn {関数} struve_l (@var{v}, @var{z})
1689 次数v、独立変数zの変形シュトルーベ関数L (A&S 12.2.1)
1691 @opencatbox
1692 @category{Special functions}
1693 @closecatbox
1694 @end deffn
1698 @node Hypergeometric Functions, Parabolic Cylinder Functions, Struve Functions, Special Functions
1699 @section Hypergeometric Functions
1701 超幾何関数はAbramowitz and Stegun,
1702 @i{Handbook of Mathematical Functions}, 13章15章で定義されています。
1704 Maximaは、これらの関数の非常に限られた知識を持っています。
1705 それらは、関数@code{hgfred}から返されることができます。
1707 @deffn {関数} %m [@var{k},@var{u}] (@var{z}) 
1708 Whittaker M関数
1709 @code{M[k,u](z) = exp(-z/2)*z^(1/2+u)*M(1/2+u-k,1+2*u,z)}.  
1710 (A&S 13.1.32)
1711 @opencatbox
1712 @category{Special functions}
1713 @closecatbox
1714 @end deffn
1716 @deffn {関数} %w [@var{k},@var{u}] (@var{z}) 
1717 Whittaker W関数  (A&S 13.1.33)
1718 @opencatbox
1719 @category{Special functions}
1720 @closecatbox
1721 @end deffn
1724 @deffn {関数} %f [@var{p},@var{q}] (@var{[a],[b],z}) 
1725 pFq(a1,a2,..ap;b1,b2,..bq;z)超幾何関数。
1726 ここで、@code{a}は長さ@code{p}のリストで、
1727 @code{b}は長さ@code{q}のリストです。
1728 @opencatbox
1729 @category{Bessel functions}
1730 @category{Special functions}
1731 @closecatbox
1732 @end deffn
1734 @deffn {関数} hypergeometric ([@var{a1}, ..., @var{ap}],[@var{b1}, ... ,@var{bq}], x)
1735 超幾何関数。
1736 Maximaの@code{%f}超幾何関数と違って,
1737 関数@code{hypergeometric}は整理関数です;
1738 @code{hypergeometric}は複素倍精度と多倍長浮動小数点評価もサポートします。
1739 ガウスの超幾何関数、すなわち、@math{p = 2}かつ@math{q = 1}、
1740 に関しては、
1741 単位円の外側の浮動小数点評価はサポートされていますが、
1742 一般にはサポートされていません。
1744 オプション変数@code{expand_hypergeometric}がtrue(デフォルトはfalse)で、
1745 独立変数@code{a1}から@code{ap}の1つが負の整数の時(多項式の場合)、
1746 @code{hypergeometric}は展開された多項式を返します。
1748 例:
1750 @example
1751 (%i1)  hypergeometric([],[],x);
1752 (%o1) %e^x
1753 @end example
1755 @code{expand_hypergeometric}がtrueの時、多項式の場合は自動的に展開されます:
1757 @example
1758 (%i2) hypergeometric([-3],[7],x);
1759 (%o2) hypergeometric([-3],[7],x)
1761 (%i3) hypergeometric([-3],[7],x), expand_hypergeometric : true;
1762 (%o3) -x^3/504+3*x^2/56-3*x/7+1
1763 @end example
1765 倍精度と多倍長浮動小数点評価の両方がサポートされています:
1767 @example
1768 (%i4) hypergeometric([5.1],[7.1 + %i],0.42);
1769 (%o4)       1.346250786375334 - 0.0559061414208204 %i
1770 (%i5) hypergeometric([5,6],[8], 5.7 - %i);
1771 (%o5)     .00737582400977495 - 0.001049813688578674 %i
1772 (%i6) hypergeometric([5,6],[8], 5.7b0 - %i), fpprec : 30;
1773 (%o6) 7.37582400977494674506442010824b-3
1774                           - 1.04981368857867315858055393376b-3 %i
1775 @end example
1776 @end deffn
1778 @node Parabolic Cylinder Functions, Functions and Variables for Special Functions, Hypergeometric Functions, Special Functions
1779 @section  Parabolic Cylinder Functions
1781 放物円筒関数はAbramowitz and Stegun,
1782 @i{Handbook of Mathematical Functions}, 19章で定義されています。
1784 Maximaは、これらの関数の非常に限られた知識を持っています。
1785 それらは、関数@code{hgfred}から返されることができます。
1787 @deffn {関数} parabolic_cylinder_d (@var{v}, @var{z}) 
1788 放物円筒関数@code{parabolic_cylinder_d(v,z)}. (A&s 19.3.1)
1789 @opencatbox
1790 @category{Special functions}
1791 @closecatbox
1792 @end deffn
1794 @node Functions and Variables for Special Functions,  , Parabolic Cylinder Functions, Special Functions
1795 @section Functions and Variables for Special Functions
1799 @deffn {関数} specint (exp(- s*@var{t}) * @var{expr}, @var{t})
1801 @var{expr}の変数@var{t}に関するラプラス変換を計算します。
1802 以下の特殊関数は@code{specint}で扱われます:
1803 不完全ベータ関数、誤差関数
1804 (誤差関数@code{erfi}ではないです。@code{erfi}は例えば、@code{erf}に変換することは簡単です。)、
1805 指数積分、(ベッセル関数の積を含む)ベッセル関数、ハンケル関数、エルミートおよびラーゲル多項式。
1807 更に、@code{specint}は、超幾何関数@code{%f[p,q]([],[],z)}、
1808 第一種Whittaker関数@code{%m[u,k](z)}第二種Whittaker関数@code{%w[u,k](z)}を
1809 扱うことができます。
1811 結果は、特殊関数の項になるかもしれませんし、未整理の超幾何関数を含むかもしれません。
1813 @code{laplace}がラプラス変換を見つけることに失敗した時、
1814 @code{specint}がコールされます。
1815 @code{laplace}はラプラス変換に関するもっと一般的な規則を知っているので、
1816 @code{specint}ではなく@code{laplace}を使うのが望ましいです。
1818 @code{demo(hypgeo)}は、@code{specint}によって計算されたラプラス変換のいくつかの例を表示します。
1821 例:
1822 @c ===beg===
1823 @c assume (p > 0, a > 0)$
1824 @c specint (t^(1/2) * exp(-a*t/4) * exp(-p*t), t);
1825 @c specint (t^(1/2) * bessel_j(1, 2 * a^(1/2) * t^(1/2)) 
1826 @c               * exp(-p*t), t);
1827 @c ===end===
1829 @example
1830 (%i1) assume (p > 0, a > 0)$
1831 (%i2) specint (t^(1/2) * exp(-a*t/4) * exp(-p*t), t);
1832                            sqrt(%pi)
1833 (%o2)                     ------------
1834                                  a 3/2
1835                           2 (p + -)
1836                                  4
1837 (%i3) specint (t^(1/2) * bessel_j(1, 2 * a^(1/2) * t^(1/2))
1838               * exp(-p*t), t);
1839                                    - a/p
1840                          sqrt(a) %e
1841 (%o3)                    ---------------
1842                                 2
1843                                p
1844 @end example
1846 指数積分の例:
1848 @example
1849 (%i4) assume(s>0,a>0,s-a>0)$
1850 (%i5) ratsimp(specint(%e^(a*t)
1851                       *(log(a)+expintegral_e1(a*t))*%e^(-s*t),t));
1852                              log(s)
1853 (%o5)                        ------
1854                              s - a
1855 (%i6) logarc:true$
1857 (%i7) gamma_expand:true$
1859 (%i8) radcan(specint((cos(t)*expintegral_si(t)
1860                      -sin(t)*expintegral_ci(t))*%e^(-s*t),t));
1861                              log(s)
1862 (%o8)                        ------
1863                               2
1864                              s  + 1
1865 (%i9) ratsimp(specint((2*t*log(a)+2/a*sin(a*t)
1866                       -2*t*expintegral_ci(a*t))*%e^(-s*t),t));
1867                                2    2
1868                           log(s  + a )
1869 (%o9)                     ------------
1870                                 2
1871                                s
1872 @end example
1874 @code{gamma_incomplete}の展開を使った時と、
1875 @code{expintegral_e1}への表現の変形を使った時のの結果:
1877 @example
1878 (%i10) assume(s>0)$
1879 (%i11) specint(1/sqrt(%pi*t)*unit_step(t-k)*%e^(-s*t),t);
1880                                             1
1881                             gamma_incomplete(-, k s)
1882                                             2
1883 (%o11)                      ------------------------
1884                                sqrt(%pi) sqrt(s)
1886 (%i12) gamma_expand:true$
1887 (%i13) specint(1/sqrt(%pi*t)*unit_step(t-k)*%e^(-s*t),t);
1888                               erfc(sqrt(k) sqrt(s))
1889 (%o13)                        ---------------------
1890                                      sqrt(s)
1892 (%i14) expintrep:expintegral_e1$
1893 (%i15) ratsimp(specint(1/(t+a)^2*%e^(-s*t),t));
1894                               a s
1895                         a s %e    expintegral_e1(a s) - 1
1896 (%o15)                - ---------------------------------
1897                                         a
1898 @end example
1900 @opencatbox
1901 @category{Laplace transform}
1902 @closecatbox
1903 @end deffn
1905 @deffn {関数} hgfred (@var{a}, @var{b}, @var{t})
1907 一般化超幾何関数を他のより簡単な形式に整理します。
1908 @var{a}は分子パラメータのリストで、@var{b}は分母パラメータのリストです。
1910 もし@code{hgfred}が超幾何関数を整理できなければ、
1911 形式@code{%f[p,q]([a], [b], x)}の式を返します。
1912 ここで@var{p}は@var{a}の中の要素の数で、
1913 @var{q}は@var{b}の中の要素の数です。
1914 これは、通常の@code{pFq}一般化超幾何関数です。
1916 @example
1917 (%i1) assume(not(equal(z,0)));
1918 (%o1)                          [notequal(z, 0)]
1919 (%i2) hgfred([v+1/2],[2*v+1],2*%i*z);
1921                      v/2                               %i z
1922                     4    bessel_j(v, z) gamma(v + 1) %e
1923 (%o2)               ---------------------------------------
1924                                        v
1925                                       z
1926 (%i3) hgfred([1,1],[2],z);
1928                                    log(1 - z)
1929 (%o3)                            - ----------
1930                                        z
1931 (%i4) hgfred([a,a+1/2],[3/2],z^2);
1933                                1 - 2 a          1 - 2 a
1934                         (z + 1)        - (1 - z)
1935 (%o4)                   -------------------------------
1936                                  2 (1 - 2 a) z
1938 @end example
1940 以下の例が示すように、orthopolyもロードすることは有益なことがあります。
1941 @var{L}は、一般化ラーゲル多項式であることに注意してください。
1943 @example
1944 (%i5) load("orthopoly")$
1945 (%i6) hgfred([-2],[a],z);
1946 @group
1948                                     (a - 1)
1949                                  2 L       (z)
1950                                     2
1951 (%o6)                            -------------
1952                                    a (a + 1)
1953 @end group
1954 (%i7) ev(%);
1956                                   2
1957                                  z        2 z
1958 (%o7)                         --------- - --- + 1
1959                               a (a + 1)    a
1961 @end example
1962 @end deffn
1964 @deffn {関数} lambert_w (@var{z})
1965 ランバートW関数W(z)の主枝、
1966 @code{z = W(z) * exp(W(z))}の解。
1967 @opencatbox
1968 @category{Special functions}
1969 @closecatbox
1970 @end deffn
1972 @deffn {関数} nzeta (@var{z})
1973 プラズマ分散関数
1974 @code{nzeta(z) = %i*sqrt(%pi)*exp(-z^2)*(1-erf(-%i*z))}
1975 @opencatbox
1976 @category{Special functions}
1977 @closecatbox
1978 @end deffn
1980 @deffn {関数} nzetar (@var{z})
1981 @code{realpart(nzeta(z))}を返します。
1982 @opencatbox
1983 @category{Special functions}
1984 @closecatbox
1985 @end deffn
1987 @deffn {関数} nzetai (@var{z})
1988 @code{imagpart(nzeta(z))}を返します。
1989 @opencatbox
1990 @category{Special functions}
1991 @closecatbox
1992 @end deffn