3 * Introduction to Series::
4 * Functions and Variables for Series::
8 @c -----------------------------------------------------------------------------
9 @node Sums and Products, Introduction to Series, Sums Products and Series, Sums Products and Series
10 @section Sums and Products
11 @c -----------------------------------------------------------------------------
13 @c -----------------------------------------------------------------------------
15 @deffn {関数} bashindices (@var{expr})
16 それぞれの和や積に独自のインデックスを与えることで、
20 @code{changevar}によりよい精度を与えます。
21 独自のインデックスの形式は@code{j@var{number}}です。
22 量@var{number}は、@code{gensumnum}に参照することで決定されます。
24 例えば、@code{gensumnum:0$}はそれを再設定します。
27 @category{Sums and products}
31 @c -----------------------------------------------------------------------------
33 @deffn {関数} lsum (@var{expr}, @var{x}, @var{L})
35 @var{L}の中のそれぞれの要素@var{x}に関する@var{expr}の和を表します。
36 もし引数@var{L}がリストに評価されなければ、名詞形@code{'lsum}が返されます。
41 @c lsum (x^i, i, [1, 2, 7]);
42 @c lsum (i^2, i, rootsof (x^3 - 1, x));
45 (%i1) lsum (x^i, i, [1, 2, 7]);
48 (%i2) lsum (i^2, i, rootsof (x^3 - 1, x));
56 i in rootsof(x - 1, x)
61 @category{Sums and products}
65 @c NEEDS CLARIFICATION, EXAMPLES
67 @c -----------------------------------------------------------------------------
69 @deffn {関数} intosum (@var{expr})
72 もし外側の式でインデックスが使われているなら、
73 関数は、@code{sumcontract}に関してするのと同じように、合理的なインデックスを見つけようとします。
74 これは、本質的に、和の@code{outative}プロパティの逆の考えですが、
75 このプロパティを取り除かず、ただ無視するだけであることに注意してください。
77 @c WHAT ARE THESE CASES ??
79 @code{intosum}の前に、@code{scanmap (multthru, @var{expr})}が必要になるかもしれません。
82 @category{Expressions}
86 @c -----------------------------------------------------------------------------
88 @deffn {関数} product (@var{expr}, @var{i}, @var{i_0}, @var{i_1})
90 インデックス@var{i}が@var{i_0}から@var{i_1}まで変えた@var{expr}の値の積を返します。
91 名詞形@code{'product}は、大文字Πとして表示されます。
93 @code{product}は、@var{expr}と下限上限@var{i_0}、@var{i_1}を評価し、
94 @code{product}は、インデックス@var{i}をクォートします(評価しません)。
97 @var{expr}は、インデックス@var{i}のそれぞれの値に関して評価され、
100 そうでなければ、インデックスの範囲は不定です。
101 積を整理するためにいくつかの規則が適用されます。
102 グローバル変数@code{simpproduct}が@code{true}の時、
104 いくつかの場合、式整理は、積でない結果を出力します;
105 そうでなければ、結果は名詞形@code{'product}です。
107 @code{nouns}と@code{evflag}も参照してください。
112 @c product (x + i*(i+1)/2, i, 1, 4);
113 @c product (i^2, i, 1, 7);
114 @c product (a[i], i, 1, 7);
115 @c product (a(i), i, 1, 7);
116 @c product (a(i), i, 1, n);
117 @c product (k, k, 1, n);
118 @c product (k, k, 1, n), simpproduct;
119 @c product (integrate (x^k, x, 0, 1), k, 1, n);
120 @c product (if k <= 5 then a^k else b^k, k, 1, 10);
124 (%i1) product (x + i*(i+1)/2, i, 1, 4);
125 (%o1) (x + 1) (x + 3) (x + 6) (x + 10)
126 (%i2) product (i^2, i, 1, 7);
128 (%i3) product (a[i], i, 1, 7);
131 (%i4) product (a(i), i, 1, 7);
132 (%o4) a(1) a(2) a(3) a(4) a(5) a(6) a(7)
133 (%i5) product (a(i), i, 1, n);
140 (%i6) product (k, k, 1, n);
147 (%i7) product (k, k, 1, n), simpproduct;
149 (%i8) product (integrate (x^k, x, 0, 1), k, 1, n);
156 (%i9) product (if k <= 5 then a^k else b^k, k, 1, 10);
162 @category{Sums and products}
166 @c NEEDS CLARIFICATION, EXAMPLES
168 @c -----------------------------------------------------------------------------
170 @defvr {オプション変数} simpsum
173 @code{simpsum}が@code{true}の時、
174 @code{sum}の結果は、整理されます。
175 この整理は、時々、閉形式を生成することができるかもしれません。
176 もし@code{simpsum}が@code{false}もしくは、もしクォートされた形@code{'sum}が使われたなら、
177 値は、数学で使われるΣ表示の表現である和の名詞形です。
180 @category{Sums and products}
181 @category{Simplification flags and variables}
185 @c -----------------------------------------------------------------------------
187 @deffn {関数} sum (@var{expr}, @var{i}, @var{i_0}, @var{i_1})
189 インデックス@var{i}が@var{i_0}から@var{i_1}まで変えた@var{expr}の値の和を返します。
190 名詞形@code{'sum}は、大文字Σとして表示されます。
192 @code{sum}は、被和@var{expr}と下限上限@var{i_0}、@var{i_1}を評価し、
193 @code{sum}は、インデックス@var{i}をクォートします(評価しません)。
196 被和@var{expr}は、インデックス@var{i}のそれぞれの値に関して評価され、
199 そうでなければ、インデックスの範囲は不定です。
200 積を整理するためにいくつかの規則が適用されます。
201 グローバル変数@code{simpsum}が@code{true}の時、
203 いくつかの場合、式整理は、和でない結果を出力します;
204 そうでなければ、結果は名詞形@code{'sum}です。
206 @code{evflag}(評価フラグ) @code{cauchysum}が@code{true}の時、
208 コーシー積では、内側の和のインデックスは、独立に変化するのではなく、外側の和のインデックスの関数になります。
210 グローバル変数@code{genindex}は、
211 和の次のインデックスを生成するのに使われるアルファベット前置です。
215 和の次のインデックスを生成するのに使われる数値接尾です。
216 @code{gensumnum}が@code{false}の時,
217 自動生成されるインデックスは、接尾なしの@code{genindex}のみです。
219 @code{sumcontract}, @code{intosum}, @code{bashindices}, @code{niceindices},
220 @code{nouns}, @code{evflag}, @code{zeilberger}も参照してください。
225 @c sum (i^2, i, 1, 7);
226 @c sum (a[i], i, 1, 7);
227 @c sum (a(i), i, 1, 7);
228 @c sum (a(i), i, 1, n);
229 @c sum (2^i + i^2, i, 0, n);
230 @c sum (2^i + i^2, i, 0, n), simpsum;
231 @c sum (1/3^i, i, 1, inf);
232 @c sum (1/3^i, i, 1, inf), simpsum;
233 @c sum (i^2, i, 1, 4) * sum (1/i^2, i, 1, inf);
234 @c sum (i^2, i, 1, 4) * sum (1/i^2, i, 1, inf), simpsum;
235 @c sum (integrate (x^k, x, 0, 1), k, 1, n);
236 @c sum (if k <= 5 then a^k else b^k, k, 1, 10);
240 (%i1) sum (i^2, i, 1, 7);
242 (%i2) sum (a[i], i, 1, 7);
243 (%o2) a + a + a + a + a + a + a
245 (%i3) sum (a(i), i, 1, 7);
246 (%o3) a(7) + a(6) + a(5) + a(4) + a(3) + a(2) + a(1)
247 (%i4) sum (a(i), i, 1, n);
255 (%i5) sum (2^i + i^2, i, 0, n);
263 (%i6) sum (2^i + i^2, i, 0, n), simpsum;
266 (%o6) 2 + --------------- - 1
268 (%i7) sum (1/3^i, i, 1, inf);
276 (%i8) sum (1/3^i, i, 1, inf), simpsum;
280 (%i9) sum (i^2, i, 1, 4) * sum (1/i^2, i, 1, inf);
288 (%i10) sum (i^2, i, 1, 4) * sum (1/i^2, i, 1, inf), simpsum;
291 (%i11) sum (integrate (x^k, x, 0, 1), k, 1, n);
299 (%i12) sum (if k <= 5 then a^k else b^k, k, 1, 10);
301 (%o12) b + b + b + b + b + a + a + a + a + a
305 @category{Sums and products}
309 @c NEEDS CLARIFICATION, EXAMPLES
311 @c -----------------------------------------------------------------------------
313 @deffn {関数} sumcontract (@var{expr})
314 定数だけ異なる上限と下限を持つ足し算の和すべてを結合します。
316 そんな和のそれぞれの集合が、この和を形成するよう抽出されなければならないすべての適切な余分の項に加えられた1つの和を含む式です。
317 @code{sumcontract}は、互換性のある和すべてを結合し、
318 可能なら和の1つからインデックスの1つを使い、もし供給されたどれもが使えないなら、合理的なインデックスを形成するよう試みます。
320 @c WHEN IS intosum NECESSARY BEFORE sumcontract ??
321 @code{sumcontract}の前に、@code{intosum (@var{expr})}を実行する必要があるかもしれません。
324 @category{Sums and products}
328 @c -----------------------------------------------------------------------------
330 @defvr {オプション変数} sumexpand
333 @code{sumexpand}が@code{true}の時、
334 和の積と、指数和は、入れ子の和に整理されます。
336 @code{cauchysum}も参照してください。
341 (%i1) sumexpand: true$
342 (%i2) sum (f (i), i, 0, m) * sum (g (j), j, 0, n);
347 (%o2) > > f(i1) g(i2)
352 (%i3) sum (f (i), i, 0, m)^2;
356 (%o3) > > f(i3) f(i4)
363 @category{Sums and products}
364 @category{Simplification flags and variables}
368 @c -----------------------------------------------------------------------------
369 @node Introduction to Series, Functions and Variables for Series, Sums and Products, Sums Products and Series
370 @section Introduction to Series
371 @c -----------------------------------------------------------------------------
373 Maximaは、微分可能な関数の級数を見つけるために、
374 関数@code{taylor}と@code{powerseries}を含みます。
375 ある級数の閉形式を見つける性能がある@code{nusum}のようなツールも持ちます。
376 足し算や掛け算のような演算は、級数上で普通に機能します。
377 この節は、展開を制御するグローバル変数を提供します。
379 @c end concepts Series
381 @c -----------------------------------------------------------------------------
382 @node Functions and Variables for Series, Poisson series, Introduction to Series, Sums Products and Series
383 @section Functions and Variables for Series
384 @c -----------------------------------------------------------------------------
386 @c -----------------------------------------------------------------------------
388 @defvr {オプション変数} cauchysum
392 上限として@code{inf}を持つ和同士を掛ける時、
393 もし@code{sumexpand}が@code{true}、かつ、@code{cauchysum}が@code{true}なら、
394 通常の積ではなくCauchy積が使われます。
396 内側の和のインデックスは、独立に変化するのではなく、外側のインデックスの関数です。
401 (%i1) sumexpand: false$
402 (%i2) cauchysum: false$
403 (%i3) s: sum (f(i), i, 0, inf) * sum (g(j), j, 0, inf);
407 (%o3) ( > f(i)) > g(j)
411 (%i4) sumexpand: true$
412 (%i5) cauchysum: true$
417 (%o6) > > g(i1 - i2) f(i2)
424 @category{Sums and products}
428 @c -----------------------------------------------------------------------------
430 @deffn {関数} deftaylor (@var{f_1}(@var{x_1}), @var{expr_1}, @dots{}, @var{f_n}(@var{x_n}), @var{expr_n})
433 ある変数@var{x_i}の関数@var{f_i}それぞれに関して、
434 @var{expr_i}をゼロの回りのTaylor級数と定義します。
435 @var{expr_i}は、典型的には、@var{x_i}の多項式か和です;
436 @code{deftaylor}は、もっと一般的な式も問題なく受け付けます。
438 @code{powerseries (@var{f_i}(@var{x_i}), @var{x_i}, 0)}は、
439 @code{deftaylor}で定義された級数を返します。
442 関数@var{f_1}, ..., @var{f_n}のリストを返します。
443 @code{deftaylor}は、引数を評価します。
448 (%i1) deftaylor (f(x), x^2 + sum(x^i/(2^i*i!^2), i, 4, inf));
450 (%i2) powerseries (f(x), x, 0);
458 (%i3) taylor (exp (sqrt (f(x))), x, 0, 4);
461 (%o3)/T/ 1 + x + -- + ------- + -------- + . . .
466 @category{Power series}
470 @c -----------------------------------------------------------------------------
472 @defvr {オプション変数} maxtayorder
476 @code{maxtayorder}が@code{true}の時、
477 (切り詰められた)Taylor級数の代数操作の間、
478 @code{taylor}は、厳密とわかっているできるだけ多くの項を保とうとします。
481 @category{Power series}
485 @c -----------------------------------------------------------------------------
487 @deffn {関数} niceindices (@var{expr})
489 @var{expr}の中の和や積のインデックスを改名します。
491 その名前が被加数や非積数の中に現れないなら、
492 インデックスそれぞれを@code{niceindicespref[1]}の値に改名しようとします。
495 未使用の変数が見つかるまで@code{niceindicespref}の次の要素を順に試します。
497 例えば, @code{i0}, @code{i1}, @code{i2}, ....というように、
498 @code{niceindicespref[1]}の値に整数を追加することで、
501 @code{niceindices}は式を返します。
502 @code{niceindices}は引数を評価します。
507 (%i1) niceindicespref;
508 (%o1) [i, j, k, l, m, n]
509 (%i2) product (sum (f (foo + i*j*bar), foo, 1, inf), bar, 1, inf);
513 (%o2) ! ! > f(bar i j + foo)
517 (%i3) niceindices (%);
522 (%o3) ! ! > f(i j l + k)
530 @category{Sums and products}
534 @c -----------------------------------------------------------------------------
535 @anchor{niceindicespref}
536 @defvr {オプション変数} niceindicespref
537 デフォルト値: @code{[i, j, k, l, m, n]}
539 @code{niceindicespref}は、
540 @code{niceindices}が和や積のインデックスの名前を取ってくる
544 @code{niceindicespref}の要素は、
545 @code{niceindices}によって強制されませんが、
551 (%i1) niceindicespref: [p, q, r, s, t, u]$
552 (%i2) product (sum (f (foo + i*j*bar), foo, 1, inf), bar, 1, inf);
556 (%o2) ! ! > f(bar i j + foo)
560 (%i3) niceindices (%);
564 (%o3) ! ! > f(i j q + p)
571 @category{Sums and products}
575 @c -----------------------------------------------------------------------------
577 @deffn {関数} nusum (@var{expr}, @var{x}, @var{i_0}, @var{i_1})
579 R.W. Gosperによる決定手続きを使って、
580 @var{x}に関する@var{expr}の不定超幾何総和を実行します。
582 整数べき、階乗、二項式、有理関数の積として表現可能でなければいけません。
584 @c UMM, DO WE REALLY NEED TO DEFINE "DEFINITE" AND "INDEFINITE" SUMMATION HERE ??
585 @c (CAN'T WE MAKE THE POINT WITHOUT DRAGGING IN SOME NONSTANDARD TERMINOLOGY ??)
587 「定」と「不定積分」へ類似して使われています。
590 変数の長さの区間上の和に関して、シンボリックな結果を与えることを意味します。
591 例えば、二項級数の一般的な部分和に関する公式はないので、
592 @code{nusum}はそれができません。
594 @code{nusum}と@code{unsum}は、有限積の和と差について少し知っています。
595 @code{unsum}も参照してください。
600 (%i1) nusum (n*n!, n, 0, n);
602 Dependent equations eliminated: (1)
604 (%i2) nusum (n^4*4^n/binomial(2*n,n), n, 0, n);
606 2 (n + 1) (63 n + 112 n + 18 n - 22 n + 3) 4 2
607 (%o2) ------------------------------------------------ - ------
608 693 binomial(2 n, n) 3 11 7
612 (%o3) ----------------
614 (%i4) unsum (prod (i^2, i, 1, n), n);
618 (%o4) ( ! ! i ) (n - 1) (n + 1)
621 (%i5) nusum (%, n, 1, n);
623 Dependent equations eliminated: (2 3)
633 @category{Sums and products}
637 @c THIS ITEM NEEDS SERIOUS WORK
639 @c -----------------------------------------------------------------------------
641 @deffn {関数} pade (@var{taylor_series}, @var{numer_deg_bound}, @var{denom_deg_bound})
643 分子と分母の次数の和がべき級数の切り詰めレベル以下の
644 与えられたTaylor級数展開、すなわち、「最良」近似を持ち
645 加えて指定された次数範囲を満たす、有理関数すべてのリストを返します。
647 @var{taylor_series}は1変数Taylor級数です。
648 @var{numer_deg_bound}と@var{denom_deg_bound}は、
654 次数範囲は、@code{inf}も可能で、
655 総次数が、冪級数の長さ以下の有理関数すべてを返すことになります。
657 @code{@var{numer_deg_bound} + @var{denom_deg_bound}}として定義されます。
659 @code{"truncation level" + 1 - min(0, "order of series")}として定義されます。
662 (%i1) taylor (1 + x + x^2 + x^3, x, 0, 3);
664 (%o1)/T/ 1 + x + x + x + . . .
665 (%i2) pade (%, 1, 1);
669 (%i3) t: taylor(-(83787*x^10 - 45552*x^9 - 187296*x^8
670 + 387072*x^7 + 86016*x^6 - 1507328*x^5
671 + 1966080*x^4 + 4194304*x^3 - 25165824*x^2
672 + 67108864*x - 134217728)
673 /134217728, x, 0, 10);
675 x 3 x x 15 x 23 x 21 x 189 x
676 (%o3)/T/ 1 - - + ---- - -- - ----- + ----- - ----- - ------
677 2 16 32 1024 2048 32768 65536
680 5853 x 2847 x 83787 x
681 + ------- + ------- - --------- + . . .
682 4194304 8388608 134217728
683 (%i4) pade (t, 4, 4);
687 このべき級数展開を持つ次数4の 分子/分母の有理関数はありません。
689 解くのに十分な数の未知の係数を持つために、
690 その和が少なくともべき級数の次数になるまで
691 分子の次数と分母の次数を増やさなければいけません。
694 (%i5) pade (t, 5, 5);
696 (%o5) [- (520256329 x - 96719020632 x - 489651410240 x
699 - 1619100813312 x - 2176885157888 x - 2386516803584)
702 /(47041365435 x + 381702613848 x + 1360678489152 x
705 + 2856700692480 x + 3370143559680 x + 2386516803584)]
709 @category{Power series}
713 @c -----------------------------------------------------------------------------
715 @deffn {関数} powerseries (@var{expr}, @var{x}, @var{a})
717 変数@var{x}に関する点@var{a}
718 (無限大のためには@code{inf}かもしれません)
719 の回りの@var{expr}のべき級数展開の一般形式を返します:
732 もし@code{powerseries}が@var{expr}を展開することができないなら、
733 @code{taylor}が、級数の最初のいくつかの項を与えることができます。
735 @code{verbose}が@code{true}の時、
736 @code{powerseries}は進捗メッセージを印字します。
740 (%i2) powerseries (log(sin(x)/x), x, 0);
743 so we'll try again after applying the rule:
747 log(sin(x)) = i ----------- dx
750 in the first simplification we have returned:
758 \ (- 1) 2 bern(2 i1) x
759 > ------------------------------
763 (%o2) -------------------------------------
768 @category{Power series}
772 @c -----------------------------------------------------------------------------
774 @defvr {オプション変数} psexpand
777 @code{psexpand}が@code{true}の時、
778 拡張有理関数展開が完全に展開されて表示されます。
779 スイッチ@code{ratexpand}は同じ効果を持ちます。
781 @c WE NEED TO BE EXPLICIT HERE
782 @code{psexpand}が@code{false}の時、
783 多変数式がちょうど有理関数パッケージにあるかのように表示されます。
786 @code{psexpand}が@code{multi}の時、
787 変数に関する同じ総次数の項は一緒にまとめられます。
790 @category{Display flags and variables}
795 @c -----------------------------------------------------------------------------
797 @deffn {関数} revert (@var{expr}, @var{x})
798 @deffnx {関数} revert2 (@var{expr}, @var{x}, @var{n})
800 変数@var{x}に関するゼロの回りのTaylor級数@var{expr}の反転を返します。
802 @var{expr}の最高次数と等しい次数の多項式を返します。
803 @code{revert2}は、次数@var{n}の多項式を返します。
804 @var{n}は、@var{expr}の次数よりも大きい値も小さい値も同じ値も取り得ます。
806 @code{load ("revert")}はこれらの関数をロードします。
811 (%i1) load ("revert")$
812 (%i2) t: taylor (exp(x) - 1, x, 0, 6);
815 (%o2)/T/ x + -- + -- + -- + --- + --- + . . .
819 10 x - 12 x + 15 x - 20 x + 30 x - 60 x
820 (%o3)/R/ - --------------------------------------------
825 (%o4) - -- + -- - -- + -- - -- + x
827 (%i5) taylor (log(x+1), x, 0, 6);
830 (%o5)/T/ x - -- + -- - -- + -- - -- + . . .
832 (%i6) ratsimp (revert (t, x) - taylor (log(x+1), x, 0, 6));
834 (%i7) revert2 (t, x, 4);
837 (%o7) - -- + -- - -- + x
842 @category{Power series}
846 @c -----------------------------------------------------------------------------
848 @deffn {関数} taylor (@var{expr}, @var{x}, @var{a}, @var{n})
849 @deffnx {関数} taylor (@var{expr}, [@var{x_1}, @var{x_2}, ...], @var{a}, @var{n})
850 @deffnx {関数} taylor (@var{expr}, [@var{x}, @var{a}, @var{n}, 'asymp])
851 @deffnx {関数} taylor (@var{expr}, [@var{x_1}, @var{x_2}, ...], [@var{a_1}, @var{a_2}, ...], [@var{n_1}, @var{n_2}, ...])
852 @deffnx {関数} taylor (@var{expr}, [@var{x_1}, @var{a_1}, @var{n_1}], [@var{x_2}, @var{a_2}, @var{n_2}], ...)
854 @code{taylor (@var{expr}, @var{x}, @var{a}, @var{n})}は、
855 式@var{expr}を、変数@var{x}の@var{a}の周りのTaylorもしくはLaurent級数を
856 @code{(@var{x} - @var{a})^@var{n}}まで展開します。
858 もし@var{expr}が形式@code{@var{f}(@var{x})/@var{g}(@var{x})} の形であり、
859 @code{@var{g}(@var{x})}が@var{n}次まで項を持たないなら、
860 @code{taylor}は@code{@var{g}(@var{x})}を@code{2 @var{n}}次まで展開しようとします。
862 @code{taylor}は、展開の次数が@code{@var{n} 2^taylordepth}以下である限り
863 @code{@var{g}(@var{x})}の展開の次数を倍にしていきます。
865 @code{taylor (@var{expr}, [@var{x_1}, @var{x_2}, ...], @var{a}, @var{n})}
866 は、すべての変数@var{x_1}, @var{x_2}, ...について
867 点@code{(@var{a}, @var{a}, , ...)}の周りで@var{n}次までのべき級数を返します。
869 @code{taylor (@var{expr}, [@var{x_1}, @var{a_1}, @var{n_1}], [@var{x_2}, @var{a_2}, @var{n_2}], ...)}は、変数@var{x_1}, @var{x_2}, ...について
870 点@code{(@var{a_1}, @var{a_2}, ...)}の回りで
871 @var{n_1}次, @var{n_2}次, ....まで展開したべき級数を返します。
873 @code{taylor (@var{expr}, [@var{x_1}, @var{x_2}, ...], [@var{a_1}, @var{a_2}, ...], [@var{n_1}, @var{n_2}, ...])}は、
874 変数@var{x_1}, @var{x_2}, ...について、
875 点@code{(@var{a_1}, @var{a_2}, ...)}の回りで
876 @var{n_1}次, @var{n_2}次, ....まで展開したべき級数を返します。
878 @code{taylor (@var{expr}, [@var{x}, @var{a}, @var{n}, 'asymp])}は、
879 @var{expr}の@code{@var{x} - @var{a}}の負のべき乗展開を返します。
880 最高次の項は@code{(@var{x} - @var{a})^@var{-n}}です。
882 @code{maxtaylorder}が@code{true}の時、
883 (丸められた)Taylor級数の代数操作の間、
884 @code{talyor}は正確とわかっている限り多くの項を保とうとします。
886 @code{psexpand}が@code{true}の時、
887 拡張有理関数式は、フルに展開されて表示されます。
888 スイッチ@code{ratexpand}は同じ効果を持ちます。
889 @code{psexpand}が@code{false}の時、
890 有理関数パッケージかのように多変数式が表示されます。
891 @code{psexpand}が@code{multi}なら、同じ総次数の項が一緒にグループ化されます。
893 展開を制御するには、@code{taylor_logexpand}スイッチも参照してください。
897 @c EXAMPLES ADAPTED FROM example (taylor)
898 @c taylor (sqrt (sin(x) + a*x + 1), x, 0, 3);
900 @c taylor (sqrt (x + 1), x, 0, 5);
902 @c product ((1 + x^i)^2.5, i, 1, inf)/(1 + x^2);
903 @c ev (taylor(%, x, 0, 3), keepfloat);
904 @c taylor (1/log (x + 1), x, 0, 3);
905 @c taylor (cos(x) - sec(x), x, 0, 5);
906 @c taylor ((cos(x) - sec(x))^3, x, 0, 5);
907 @c taylor (1/(cos(x) - sec(x))^3, x, 0, 5);
908 @c taylor (sqrt (1 - k^2*sin(x)^2), x, 0, 6);
909 @c taylor ((x + 1)^n, x, 0, 4);
910 @c taylor (sin (y + x), x, 0, 3, y, 0, 3);
911 @c taylor (sin (y + x), [x, y], 0, 3);
912 @c taylor (1/sin (y + x), x, 0, 3, y, 0, 3);
913 @c taylor (1/sin (y + x), [x, y], 0, 3);
915 (%i1) taylor (sqrt (sin(x) + a*x + 1), x, 0, 3);
917 (a + 1) x (a + 2 a + 1) x
918 (%o1)/T/ 1 + --------- - -----------------
922 (3 a + 9 a + 9 a - 1) x
923 + -------------------------- + . . .
928 (%o2)/T/ 1 + (a + 1) x - -- + . . .
930 (%i3) taylor (sqrt (x + 1), x, 0, 5);
933 (%o3)/T/ 1 + - - -- + -- - ---- + ---- + . . .
936 (%o4)/T/ 1 + x + . . .
937 (%i5) product ((1 + x^i)^2.5, i, 1, inf)/(1 + x^2);
945 (%o5) -----------------
949 (%i6) ev (taylor(%, x, 0, 3), keepfloat);
951 (%o6)/T/ 1 + 2.5 x + 3.375 x + 6.5625 x + . . .
952 (%i7) taylor (1/log (x + 1), x, 0, 3);
955 (%o7)/T/ - + - - -- + -- - ----- + . . .
957 (%i8) taylor (cos(x) - sec(x), x, 0, 5);
960 (%o8)/T/ - x - -- + . . .
962 (%i9) taylor ((cos(x) - sec(x))^3, x, 0, 5);
964 (%i10) taylor (1/(cos(x) - sec(x))^3, x, 0, 5);
966 1 1 11 347 6767 x 15377 x
967 (%o10)/T/ - -- + ---- + ------ - ----- - ------- - --------
968 6 4 2 15120 604800 7983360
972 (%i11) taylor (sqrt (1 - k^2*sin(x)^2), x, 0, 6);
975 (%o11)/T/ 1 - ----- - ----------------
979 (45 k - 60 k + 16 k ) x
980 - -------------------------- + . . .
982 (%i12) taylor ((x + 1)^n, x, 0, 4);
985 (n - n) x (n - 3 n + 2 n) x
986 (%o12)/T/ 1 + n x + ----------- + --------------------
990 (n - 6 n + 11 n - 6 n) x
991 + ---------------------------- + . . .
994 (%i13) taylor (sin (y + x), x, 0, 3, y, 0, 3);
997 (%o13)/T/ y - -- + . . . + (1 - -- + . . .) x
1002 + (- - + -- + . . .) x + (- - + -- + . . .) x + . . .
1004 (%i14) taylor (sin (y + x), [x, y], 0, 3);
1006 x + 3 y x + 3 y x + y
1007 (%o14)/T/ y + x - ------------------------- + . . .
1009 (%i15) taylor (1/sin (y + x), x, 0, 3, y, 0, 3);
1011 (%o15)/T/ - + - + . . . + (- -- + - + . . .) x + (-- + . . .) x
1016 + (- -- + . . .) x + . . .
1019 (%i16) taylor (1/sin (y + x), [x, y], 0, 3);
1021 1 x + y 7 x + 21 y x + 21 y x + 7 y
1022 (%o16)/T/ ----- + ----- + ------------------------------- + . . .
1027 @category{Power series}
1031 @c -----------------------------------------------------------------------------
1032 @anchor{taylordepth}
1033 @defvr {オプション変数} taylordepth
1036 @c UM, THE CONTEXT FOR THIS REMARK NEEDS TO BE ESTABLISHED
1038 展開の次数が@code{@var{n} 2^taylordepth}以下である限り、
1040 @code{@var{g}(@var{x})}の展開の次数を倍にします。
1043 @category{Power series}
1047 @c -----------------------------------------------------------------------------
1049 @deffn {関数} taylorinfo (@var{expr})
1051 Taylor級数@var{expr}についての情報を返します。
1053 リストそれぞれは、変数名、展開点、展開次数から成ります。
1055 もし@var{expr}がTaylor級数でないなら、
1056 @code{taylorinfo}は@code{false}を返します。
1061 (%i1) taylor ((1 - y^2)/(1 - x), x, 0, 3, [y, a, inf]);
1063 (%o1)/T/ - (y - a) - 2 a (y - a) + (1 - a )
1066 + (1 - a - 2 a (y - a) - (y - a) ) x
1069 + (1 - a - 2 a (y - a) - (y - a) ) x
1072 + (1 - a - 2 a (y - a) - (y - a) ) x + . . .
1073 (%i2) taylorinfo(%);
1074 (%o2) [[y, a, inf], [x, 0, 3]]
1078 @category{Power series}
1082 @c -----------------------------------------------------------------------------
1084 @deffn {関数} taylorp (@var{expr})
1086 もし@var{expr}がTaylor級数なら、@code{true}を、
1087 そうでないなら、@code{false}を返します。
1090 @category{Predicate functions}
1091 @category{Power series}
1095 @c WHAT IS THIS ABOUT EXACTLY ??
1097 @c -----------------------------------------------------------------------------
1098 @anchor{taylor_logexpand}
1099 @defvr {オプション変数} taylor_logexpand
1102 @code{taylor_logexpand}は、
1103 @code{taylor}級数の中の対数の展開を制御します。
1105 @code{taylor_logexpand}が@code{true}の時、
1106 対数すべては完全に展開されるので、対数的恒等式を含むゼロ認識問題は
1108 しかしながら、分岐情報を無視するので、この方法はいつも数学的にただしいわけではありません。
1110 @code{taylor_logexpand}が@code{false}に設定されている時、
1112 形式的なべき級数を得るのに必要なものです。
1114 @c NEED EXAMPLES HERE
1116 @category{Power series}
1117 @category{Exponential and logarithm functions}
1121 @c -----------------------------------------------------------------------------
1122 @anchor{taylor_order_coefficients}
1123 @defvr {オプション変数} taylor_order_coefficients
1126 @code{taylor_order_coefficients}は、
1127 Taylor級数の中の係数の順序付けを制御します。
1129 @code{taylor_order_coefficients}が@code{true}の時、
1130 Taylor級数の係数は標準に順序付けられます。
1131 @c IS MAXIMA'S NOTION OF "CANONICALLY" DESCRIBED ELSEWHERE ??
1132 @c AND WHAT HAPPENS WHEN IT IS FALSE ??
1134 @c NEED EXAMPLES HERE
1136 @category{Power series}
1140 @c -----------------------------------------------------------------------------
1141 @anchor{taylor_simplifier}
1142 @deffn {関数} taylor_simplifier (@var{expr})
1144 べき級数@var{expr}の係数を整理します。
1145 @code{taylor}はこの関数をコールします。
1148 @category{Power series}
1152 @c -----------------------------------------------------------------------------
1153 @anchor{taylor_truncate_polynomials}
1154 @defvr {オプション変数} taylor_truncate_polynomials
1157 @c WHAT IS THE "INPUT TRUNCATION LEVEL" ?? THE ARGUMENT n OF taylor ??
1158 @code{taylor_truncate_polynomials}が@code{true}の時、
1159 多項式は入力切り詰めレベルを基礎に切り詰められます。
1162 @code{taylor}への多項式入力は、
1164 @c WHAT IS "INFINITE PRECISION" IN THIS CONTEXT ??
1167 @category{Power series}
1171 @c -----------------------------------------------------------------------------
1173 @deffn {関数} taytorat (@var{expr})
1174 @code{taylor}形式から標準有理式(CRE)形式に
1176 効果は@code{rat (ratdisrep (@var{expr}))}と同じですが、より速いです。
1179 @category{Power series}
1180 @category{Rational expressions}
1184 @c -----------------------------------------------------------------------------
1186 @deffn {関数} trunc (@var{expr})
1188 一般式@var{expr}の内部表現をアノテートするので、まるでその和が切り詰められたTaylor級数かのように表示されます。
1189 @var{expr}は別に変更されません。
1194 (%i1) expr: x^2 + x + 1;
1199 (%o2) 1 + x + x + . . .
1200 (%i3) is (expr = trunc (expr));
1205 @category{Power series}
1209 @c -----------------------------------------------------------------------------
1211 @deffn {関数} unsum (@var{f}, @var{n})
1213 最初の後方差@code{@var{f}(@var{n}) - @var{f}(@var{n} - 1)}を返します。
1215 @code{unsum}は、ある意味、@code{sum}の逆です。
1217 @code{nusum}も参照してください。
1220 @c GENERATED FROM THE FOLLOWING INPUTS
1221 @c g(p) := p*4^n/binomial(2*n,n);
1223 @c nusum (%, n, 0, n);
1227 (%i1) g(p) := p*4^n/binomial(2*n,n);
1230 (%o1) g(p) := ----------------
1235 (%o2) ----------------
1237 (%i3) nusum (%, n, 0, n);
1239 2 (n + 1) (63 n + 112 n + 18 n - 22 n + 3) 4 2
1240 (%o3) ------------------------------------------------ - ------
1241 693 binomial(2 n, n) 3 11 7
1245 (%o4) ----------------
1250 @category{Sums and products}
1254 @c -----------------------------------------------------------------------------
1256 @defvr {オプション変数} verbose
1257 デフォルト値: @code{false}
1259 @code{verbose}が@code{true}の時、
1260 @code{powerseries}は進捗メッセージを印字します。
1263 @category{Power series}
1268 @c -----------------------------------------------------------------------------
1269 @node Poisson series, , Functions and Variables for Series, Sums Products and Series
1270 @section Poisson series
1271 @c -----------------------------------------------------------------------------
1273 @c NEED EXAMPLES HERE
1275 @c -----------------------------------------------------------------------------
1277 @deffn {関数} intopois (@var{a})
1278 @var{a}をPoisson符号に変換します。
1281 @category{Poisson series}
1285 @c NEED EXAMPLES HERE
1287 @c -----------------------------------------------------------------------------
1289 @deffn {関数} outofpois (@var{a})
1291 @var{a}をPoisson符号から一般表現に変換します。
1292 もし@var{a}がPoisson形式でないなら、
1293 @code{outofpois}は変換を実行し、
1294 すなわち、その戻り値は、@code{outofpois (intopois (@var{a}))}です。
1296 特定のタイプのサインやコサイン項のべきの和に関する
1300 @category{Poisson series}
1304 @c NEED MORE INFO HERE
1305 @c NEED EXAMPLES HERE
1307 @c -----------------------------------------------------------------------------
1309 @deffn {関数} poisdiff (@var{a}, @var{b})
1311 @var{a}を@var{b}に関して微分します。
1312 @var{b}は三角関数の引数の中だけ、または係数の中だけにいなければいけません。
1315 @category{Poisson series}
1319 @c LOOKING AT THE CODE IN src/pois3.lisp, THIS FCN SEEMS TO COMPUTE THE EXPONENT BY MULTIPLYING IN A LOOP
1320 @c DUNNO HOW WE WANT TO EXPLAIN THAT
1321 @c REPHRASE WITHOUT USING THE TERM "FUNCTIONALLY IDENTICAL"
1323 @c -----------------------------------------------------------------------------
1325 @deffn {関数} poisexpt (@var{a}, @var{b})
1327 関数的に@code{intopois (@var{a}^@var{b})}と同一です。
1328 @var{b}は正の整数でなければいけません。
1331 @category{Poisson series}
1335 @c WHAT IS THIS ABOUT ??
1337 @c -----------------------------------------------------------------------------
1339 @deffn {関数} poisint (@var{a}, @var{b})
1341 (@code{poisdiffと})似て制限された意味で積分します。
1342 もし@var{b}が三角関数の引数の中にあるなら、
1343 @var{b}の中の非周期的項は落とされます。
1346 @category{Poisson series}
1350 @c -----------------------------------------------------------------------------
1352 @defvr {オプション変数} poislim
1355 @code{poislim}は、三角関数の引数の中の係数の領域を決定します。
1357 区間[-2^(5-1)+1,2^(5-1)]、すなわち[-15,16]に対応しますが、
1358 [-2^(n-1)+1, 2^(n-1)]に設定することができます。
1361 @category{Poisson series}
1365 @c UMM, WHAT IS THIS ABOUT EXACTLY ?? EXAMPLES NEEDED
1367 @c -----------------------------------------------------------------------------
1369 @deffn {関数} poismap (@var{series}, @var{sinfn}, @var{cosfn})
1371 関数@var{sinfn}を与えられたPoisson級数のサイン項に、
1374 @var{sinfn}と @var{cosfn}は、2引数関数です。
1375 引数それぞれは、級数の中の項の係数と三角関数部です。
1378 @category{Poisson series}
1382 @c REPHRASE WITHOUT USING THE TERM "FUNCTIONALLY IDENTICAL"
1384 @c -----------------------------------------------------------------------------
1386 @deffn {関数} poisplus (@var{a}, @var{b})
1388 関数的に@code{intopois (a + b)}と同一です。
1391 @category{Poisson series}
1395 @c -----------------------------------------------------------------------------
1397 @deffn {関数} poissimp (@var{a})
1399 @var{a}を、一般表現の@var{a}に関するPoisson級数に変換します。
1402 @category{Poisson series}
1406 @c MORE INFO NEEDED HERE
1408 @c -----------------------------------------------------------------------------
1410 @defvr {特殊シンボル} poisson
1412 シンボル@code{/P/}は、Poisson級数式の行ラベルに続きます。
1415 @category{Poisson series}
1419 @c -----------------------------------------------------------------------------
1421 @deffn {関数} poissubst (@var{a}, @var{b}, @var{c})
1423 @var{a}を@var{c}の中の@var{b}に代入します。
1424 @var{c}はPoisson級数です。
1426 (1) @var{b}が変数@var{u}, @var{v}, @var{w}, @var{x}, @var{y}, @var{z}のいずれかの場合、
1427 @var{a}はそれらの変数に関して線形の式(例えば、@code{6*u + 4*v})でなければいけません。
1429 (2) @var{b}はそれらの変数以外の場合、
1430 @var{a}もまたそれらの変数を含んではいけなく、さらに、サインもコサインも含んではいけません。
1432 @code{poissubst (@var{a}, @var{b}, @var{c}, @var{d}, @var{n})}は、
1433 上のタイプ(1)のように@var{a}と@var{b}に関して演算しますが、
1434 @var{d}がPoisson級数の場合、
1435 @var{c}の中で@var{b}に@code{@var{a} + @var{d}}を代入した結果を供給するために、
1436 @code{cos(@var{d})}と@code{sin(@var{d})}を次数@var{n}に展開する
1439 @var{d}が小さなパラメータの項に関する展開だということです。
1441 @code{poissubst (u, v, cos(v), %e, 3)}は@code{cos(u)*(1 - %e^2/2) - sin(u)*(%e - %e^3/6)}をもたらします。
1444 @category{Poisson series}
1448 @c REPHRASE WITHOUT USING THE TERM "FUNCTIONALLY IDENTICAL"
1450 @c -----------------------------------------------------------------------------
1452 @deffn {関数} poistimes (@var{a}, @var{b})
1454 @code{intopois (@var{a}*@var{b})}と同じ機能です。
1457 @category{Poisson series}
1461 @c HOW DOES THIS WORK ?? NEED MORE INFO AND EXAMPLES
1463 @c -----------------------------------------------------------------------------
1465 @deffn {関数} poistrim ()
1468 Poisson乗算の間、適用する予約関数です。
1469 項の中の@var{u}, @var{v}, ..., @var{z}の係数を引数とする6引数の述語論理関数です。
1470 (この項の係数に関して)@code{poistrim}が@code{true}の項は、
1474 @category{Poisson series}
1478 @c -----------------------------------------------------------------------------
1480 @deffn {関数} printpois (@var{a})
1482 可読フォーマットでPoisson級数を印字します。
1483 @code{outofpois}と共通で、
1484 もし必要なら、@var{a}を最初にPoisson符号に変換します。
1487 @category{Poisson series}
1488 @category{Display functions}