1 @c -----------------------------------------------------------------------------
2 @c File : Series.de.texi
3 @c License : GNU General Public License (GPL)
5 @c Original : Series.texi revision 1.21
6 @c Translation : Dr. Dieter Kaiser
8 @c Revision : 12.06.2011
10 @c This file is part of Maxima -- GPL CAS based on DOE-MACSYMA
11 @c -----------------------------------------------------------------------------
14 * Summen und Produkte::
15 * Einf@"uhrung in Reihen::
16 * Funktionen und Variablen f@"ur Reihen::
21 @c -----------------------------------------------------------------------------
22 @node Summen und Produkte, Einf@"uhrung in Reihen, Summen Produkte und Reihen, Summen Produkte und Reihen
23 @section Summen und Produkte
24 @c -----------------------------------------------------------------------------
26 @c --- 27.02.2011 DK -----------------------------------------------------------
28 @deffn {Funktion} bashindices (@var{expr})
30 Transformiert einen Ausdruck @var{expr}, der mehrere Summen oder Produkte
31 enth@"alt so, dass alle Summen und Produkte einen unterschiedlichen Index haben.
32 Dies erleichtert zum Beispiel Substitutionen mit der Funktion
33 @mrefdot{changevar} Die neuen Indizes werden mit @code{j@var{nummer}}
34 bezeichnet, wobei die Zahl @var{nummer} der Wert der Optionsvariablen
40 (%i1) sum(1/k^2,k,0,inf)+sum(1/k,k,0,inf);
59 @c --- 27.02.2011 DK -----------------------------------------------------------
61 @defvr {Optionsvariable} cauchysum
62 Standardwert: @code{false}
64 Werden zwei Reihen miteinander multipliziert und die Optionsvariablen
65 @mref{sumexpand} sowie @code{cauchysum} haben beide den Wert @code{true}, dann
66 wird die Cauchy-Produktformel angewendet.
71 (%i1) sumexpand: false$
72 (%i2) cauchysum: false$
73 (%i3) s: sum (f(i), i, 0, inf) * sum (g(j), j, 0, inf);
77 (%o3) ( > f(i)) > g(j)
81 (%i4) sumexpand: true$
82 (%i5) cauchysum: true$
87 (%o6) > > g(i1 - i2) f(i2)
94 @c --- 27.02.2011 DK -----------------------------------------------------------
96 @defvr {Optionsvariable} genindex
97 Standardwert: @code{i}
99 @code{genindex} enth@"alt das Zeichen f@"ur den Pr@"afix, der verwendet wird, um
100 einen neuen Index f@"ur eine Summe oder ein Produkt zu generieren. Siehe auch
104 @c --- 27.02.2011 DK -----------------------------------------------------------
106 @defvr {Optionsvariable} gensumnum
109 @code{gensumnum} enth@"alt die Nummer, die an den Pr@"afix @code{genindex}
110 angeh@"angt wird, um den n@"achsten Index f@"ur eine Summe oder ein Produkt zu
111 generieren. Hat @code{gensumnum} den Wert @code{false}, wird der Index nur aus
112 dem Zeichen @code{genindex} gebildet. Siehe auch @mrefdot{genindex}
115 @c --- 27.02.2011 DK -----------------------------------------------------------
117 @deffn {Funktion} intosum (@var{expr})
119 Multipliziert Faktoren in eine Summe herein. Tritt der Index der Summe als ein
120 Faktor au@ss{}erhalb der Summe auf, wird von der Funktion @code{intosum} ein
121 neuer Index gebildet. Summen haben die Eigenschaft @mrefcomma{outative} so dass
122 Faktoren bei der Vereinfachung aus der Summe herausgezogen werden. Mit der
123 Funktion @code{intosum} wird diese Vereinfachung r@"uckg@"angig gemacht.
129 (%i1) sum(2*x^2*n^k, k , 0, inf);
151 @c --- 27.02.2011 DK -----------------------------------------------------------
153 @deffn {Funktion} lsum (@var{expr}, @var{i}, @var{L})
155 Bildet die Summe f@"ur den Ausdruck @var{expr} zum Index @var{i} f@"ur alle
156 Elemente der Liste @var{L}. Kann das Argument @var{L} nicht zu einer Liste
157 ausgewertet werden, wird eine Substantivform zur@"uckgegeben. Siehe auch
163 (%i1) lsum (x^i, i, [1, 2, 7]);
166 (%i2) lsum (i^2, i, rootsof (x^3 - 1, x));
173 i in rootsof(x - 1, x)
177 @c --- 27.02.2011 DK -----------------------------------------------------------
179 @deffn {Funktion} niceindices (@var{expr})
181 Gibt den Indizes von Summen und Produkten im Ausdruck @var{expr} einen neuen
182 Namen. @code{niceindices} benennt die Indizes nacheinander mit den Namen, die
183 in der Liste der Optionsvariablen @mref{niceindicespref} enthalten sind. Die
184 Standardnamen sind @code{[i, j, k, l, m, n]}. Sind nicht gen@"ugend Namen in
185 der Liste vorhanden, werden weitere Indizes durch das Anh@"angen einer Nummer
188 @code{niceindices} wertet das Argument aus.
194 (%i1) product (sum (f (foo + i*j*bar), foo, 1, inf), bar, 1, inf);
198 (%o1) ! ! > f(bar i j + foo)
204 (%i2) niceindices (%);
208 (%o2) ! ! > f(i j l + k)
216 @c --- 27.02.2011 DK -----------------------------------------------------------
217 @anchor{niceindicespref}
218 @defvr {Optionsvariable} niceindicespref
219 Standardwert: @code{[i, j, k, l, m, n]}
221 @code{niceindicespref} ist die Liste mit den Namen, die die Funktion
222 @mref{niceindices} nutzt, um die Indizes von Summen und Produkte umzubenennen.
227 (%i1) niceindicespref: [p, q, r, s, t, u]$
228 (%i2) product (sum (f (foo + i*j*bar), foo, 1, inf), bar, 1, inf);
232 (%o2) ! ! > f(bar i j + foo)
236 (%i3) niceindices (%);
240 (%o3) ! ! > f(i j q + p)
247 @c --- 27.02.2011 DK -----------------------------------------------------------
249 @deffn {Funktion} nusum (@var{expr}, @var{i}, @var{i_0}, @var{i_1})
251 Wendet den Gosper-Algorithmus der unbestimmten Summation f@"ur den Ausdruck
252 @var{expr} und dem Index @var{i} an. Der Index @var{i} l@"auft von @var{i_0}
253 bis @var{i_1}. Der Ausdruck @var{expr} und das Ergebnis der Summation m@"ussen
254 als Produkte von ganzzahligen Exponentiationen, Fakult@"aten, Binomialen und
255 rationalen Funktionen darstellbar sein.
257 Die Funktionen @code{nusum} und @code{unsum} wenden einige Regeln f@"ur die
258 Vereinfachung von Summen und Differenzen von endlichen Produkten an. Siehe
264 (%i1) nusum (n*n!, n, 0, n);
266 Dependent equations eliminated: (1)
268 (%i2) nusum (n^4*4^n/binomial(2*n,n), n, 0, n);
270 2 (n + 1) (63 n + 112 n + 18 n - 22 n + 3) 4 2
271 (%o2) ------------------------------------------------ - ------
272 693 binomial(2 n, n) 3 11 7
276 (%o3) ----------------
279 (%i4) unsum (prod (i^2, i, 1, n), n);
283 (%o4) ( ! ! i ) (n - 1) (n + 1)
287 (%i5) nusum (%, n, 1, n);
289 Dependent equations eliminated: (2 3)
299 @c --- 27.02.2011 DK -----------------------------------------------------------
301 @deffn {Funktion} product (@var{expr}, @var{i}, @var{i_0}, @var{i_1})
303 Bildet das Produkt des Ausdrucks @var{expr} zum Index @var{i} in den Grenzen
304 @var{i_0} bis @var{i_1}. @code{product} wertet @var{expr} sowie die untere
305 Grenze @var{i_0} und obere Grenze @var{i_1} aus. Der Index @var{i} wird nicht
308 Ist die Differenz der oberen und unteren Grenze eine ganze Zahl, wird @var{expr}
309 f@"ur jeden Wert des Index @var{i} ausgewertet. Das Ergebnis ist ein explizites
310 Produkt. Andernfalls ist der Bereich des Index unbestimmt. Maxima wendet
311 einige einfache Regeln an, um das Produkt zu vereinfachen. Hat die
312 Optionsvariable @mref{simpproduct} den Wert @code{true}, wendet Maxima weitere
313 Regeln an, um Produkte zu vereinfachen.
315 Siehe auch @mref{nouns} und @mref{evflag} f@"ur die Auswertung von Ausdr@"ucken,
316 die die Substantivform eines Produktes enthalten.
321 (%i1) product (x + i*(i+1)/2, i, 1, 4);
322 (%o1) (x + 1) (x + 3) (x + 6) (x + 10)
323 (%i2) product (i^2, i, 1, 7);
325 (%i3) product (a[i], i, 1, 7);
328 (%i4) product (a(i), i, 1, 7);
329 (%o4) a(1) a(2) a(3) a(4) a(5) a(6) a(7)
330 (%i5) product (a(i), i, 1, n);
339 (%i6) product (k, k, 1, n);
346 (%i7) product (k, k, 1, n), simpproduct;
348 (%i8) product (integrate (x^k, x, 0, 1), k, 1, n);
355 (%i9) product (if k <= 5 then a^k else b^k, k, 1, 10);
361 @c --- 27.02.2011 DK -----------------------------------------------------------
363 @defvr {Optionsvariable} simpproduct
364 Standardwert: @code{false}
366 Hat @code{simpproduct} den Wert @code{true}, versucht Maxima ein Produkt weiter
367 zu vereinfachen. Die Vereinfachung kann eine geschlossene Form liefern. Hat
368 @code{simpproduct} den Wert @code{false} oder wird das Produkt als
369 Substantivform @code{'product} definiert, werden nur einige einfache Regeln von
370 Maxima f@"ur die Vereinfachung angewendet. @code{simpproduct} ist auch ein
371 Auswertungsschalter. Siehe @mrefdot{evflag}
373 Siehe auch @mref{product} f@"ur ein Beispiel.
375 @c TODO: WELCHE REGELN WENDET MAXIMA IMMER AN. ZUM BEISPIEL OUTATIVE?
378 @c --- 27.02.2011 DK -----------------------------------------------------------
380 @defvr {Optionsvariable} simpsum
381 Standardwert: @code{false}
383 Hat @code{simpsum} den Wert @code{true}, versucht Maxima eine Summe oder Reihe
384 weiter zu vereinfachen. Die Vereinfachung kann eine geschlossene Form liefern.
385 Hat @code{simpsum} den Wert @code{false} oder die Summe oder Reihe liegt als
386 Substantivform @code{'sum} vor, werden nur einige einfache Regeln von Maxima
387 f@"ur die Vereinfachung angewendet. @code{simpsum} ist auch ein
388 Auswertungsschalter. Siehe @mrefdot{evflag}
390 Siehe auch @mref{sum} f@"ur ein Beispiel.
392 @c TODO: WELCHE REGELN WENDET MAXIMA IMMER AN. ZUM BEISPIEL OUTATIVE?
395 @c --- 27.02.2011 DK -----------------------------------------------------------
397 @deffn {Funktion} sum (@var{expr}, @var{i}, @var{i_0}, @var{i_1})
399 Bildet die Summe des Ausdrucks @var{expr} zum Index @var{i} in den Grenzen
400 @var{i_0} bis @var{i_1}. Die Funktion @code{sum} wertet @var{expr} sowie die
401 untere Grenze @var{i_0} und obere Grenze @var{i_1} aus. Der Index @var{i} wird
404 Ist die Differenz der oberen und unteren Grenze eine ganze Zahl, wird @var{expr}
405 f@"ur jeden Wert des Index @var{i} ausgewertet. Das Ergebnis ist eine explizite
406 Summe. Andernfalls ist der Bereich des Index unbestimmt. Maxima wendet einige
407 einfache Regeln an, um die Summe zu vereinfachen. Hat die Optionsvariable
408 @mref{simpsum} den Wert @code{true}, wendet Maxima weitere Regeln an, um Summen
411 Werden zwei unendliche Reihen miteinander multipliziert und die Optionsvariablen
412 @mref{sumexpand} sowie @mref{cauchysum} haben beide den Wert @code{true}, dann
413 wird die Cauchy-Produktformel angewendet.
415 Die Optionsvariable @mref{genindex} enth@"alt das Zeichen, das der Pr@"afix
416 eines automatisch generierten Index ist. @mref{gensumnum} enth@"alt eine ganze
417 Zahl, die an den Pr@"afix @code{genindex} angeh@"angt wird, um einen
418 automatischen Index zu generieren. @code{gensumnum} wird von Maxima automatisch
419 erh@"oht. Hat @code{gensumnum} den Wert @code{false}, wird keine Zahl an den
420 Pr@"afix angeh@"angt.
422 Das Paket @code{simplify_sum} enth@"alt die Funktion
423 @mrefcomma{simplify_sum} mit der Summen zu einer geschlossenen Form vereinfacht
426 Siehe auch @mrefcomma{sumcontract} @mrefcomma{sumexpand}@w{}
427 @mrefcomma{intosum} @mrefcomma{bashindices} @mrefcomma{niceindices}@w{}
428 @mref{cauchysum} und @mrefdot{zeilberger}
433 (%i1) sum (i^2, i, 1, 7);
435 (%i2) sum (a[i], i, 1, 7);
436 (%o2) a + a + a + a + a + a + a
438 (%i3) sum (a(i), i, 1, 7);
439 (%o3) a(7) + a(6) + a(5) + a(4) + a(3) + a(2) + a(1)
440 (%i4) sum (a(i), i, 1, n);
449 (%i5) sum (2^i + i^2, i, 0, n);
458 (%i6) sum (2^i + i^2, i, 0, n), simpsum;
461 (%o6) 2 + --------------- - 1
464 (%i7) sum (1/3^i, i, 1, inf);
473 (%i8) sum (1/3^i, i, 1, inf), simpsum;
477 (%i9) sum (i^2, i, 1, 4) * sum (1/i^2, i, 1, inf);
485 (%i10) sum (i^2, i, 1, 4) * sum (1/i^2, i, 1, inf), simpsum;
488 (%i11) sum (integrate (x^k, x, 0, 1), k, 1, n);
496 (%i12) sum (if k <= 5 then a^k else b^k, k, 1, 10);
498 (%o12) b + b + b + b + b + a + a + a + a + a
502 @c --- 27.02.2011 DK -----------------------------------------------------------
504 @deffn {Funktion} sumcontract (@var{expr})
506 Fasst alle Summen in dem Ausdruck @var{expr} zusammen, die sich in ihrem oberen
507 und unterem Index nur um eine Konstante voneinander unterscheiden. Das Ergebnis
508 ist eine Ausdruck mit einer Summe, f@"ur die Summen, die zusammengefasst werden
509 k@"onnen und weiteren Termen, die hinzu addiert werden m@"ussen, um einen
510 @"aquivalenten Ausdruck zu erhalten.
512 Es kann notwendig sein zun@"achst das Kommando @code{intosum(@var{expr})}
513 auszuf@"uhren. Siehe @mrefdot{intosum}
518 (%i1) 'sum(1/l,l,1,n)+'sum(k,k,1,n+2);
528 (%i2) sumcontract(%);
533 (%o2) 2 n + > (l + -) + 3
541 @c --- 27.02.2011 DK -----------------------------------------------------------
543 @defvr {Optionsvariable} sumexpand
544 Standardwert: @code{false}
546 Hat die Optionsvariable @code{sumexpand} den Wert @code{true}, werden Produkte
547 von Summen und Potenzen von Summen zu verschachtelten Summen vereinfacht. Siehe
548 auch @mrefdot{cauchysum}
553 (%i1) sumexpand: true$
554 (%i2) sum (f (i), i, 0, m) * sum (g (j), j, 0, n);
558 (%o2) > > f(i1) g(i2)
562 (%i3) sum (f (i), i, 0, m)^2;
566 (%o3) > > f(i3) f(i4)
573 @c --- 27.02.2011 DK -----------------------------------------------------------
575 @deffn {Funktion} unsum (@var{f}, @var{n})
577 Gibt die erste R@"uckw@"artsdifferenz @code{@var{f}(@var{n}) -
578 @var{f}(@var{n}-1)} zur@"uck. Siehe auch @mrefdot{nusum}
583 (%i1) g(p) := p*4^n/binomial(2*n,n);
587 (%o1) g(p) := ----------------
594 (%o2) ----------------
597 (%i3) nusum (%, n, 0, n);
599 2 (n + 1) (63 n + 112 n + 18 n - 22 n + 3) 4 2
600 (%o3) ------------------------------------------------ - ------
601 693 binomial(2 n, n) 3 11 7
605 (%o4) ----------------
610 @c -----------------------------------------------------------------------------
611 @node Einf@"uhrung in Reihen, Funktionen und Variablen f@"ur Reihen, Summen und Produkte, Summen Produkte und Reihen
612 @section Einf@"uhrung in Reihen
613 @c -----------------------------------------------------------------------------
615 Maxima kennt die Funktionen @mref{taylor} und @mrefcomma{powerseries} um die
616 Reihenentwicklung von differenzierbaren Funktionen zu finden. Maxima hat
617 weiterhin Funktionen wie @mrefcomma{nusum} um geschlossene Formen von Reihen zu
618 finden. Operationen wie die Addition und Multiplikation arbeiten wie gewohnt
619 f@"ur Reihen. Das folgende Kapitel beschreibt die Variablen und Funktionen
620 f@"ur eine Reihenentwicklung.
622 @c -----------------------------------------------------------------------------
623 @node Funktionen und Variablen f@"ur Reihen, Poisson Reihen, Einf@"uhrung in Reihen, Summen Produkte und Reihen
624 @section Funktionen und Variablen f@"ur Reihen
625 @c -----------------------------------------------------------------------------
627 @c --- 27.02.2011 DK -----------------------------------------------------------
629 @deffn {Funktion} deftaylor (@var{f_1}(@var{x_1}), @var{expr_1}, @dots{}, @var{f_n}(@var{x_n}), @var{expr_n})
631 F@"ur eine Funktion @var{f_i} einer Variablen @var{x_i} definiert
632 @code{deftaylor} den Ausdruck @var{expr_i} als die Taylorreihe um den Nullpunkt.
633 @var{expr_i} ist typischerweise ein Polynom in der Variablen @var{x_i} oder eine
634 Summe. @code{deftaylor} akzeptiert aber auch allgemeinere Ausdr@"ucke.
636 @code{powerseries(@var{f_i}(@var{x_i}), @var{x_i}, 0)} gibt die Reihe zur@"uck,
637 die mit @code{deftaylor} definiert wurde.
639 @code{deftaylor} gibt eine Liste der Funktionen @var{f_1}, @dots{}, @var{f_n}
640 zur@"uck. @code{deftaylor} wertet die Argumente aus.
642 Siehe auch @mref{taylor} und @mrefdot{powerseries}
647 (%i1) deftaylor (f(x), x^2 + sum(x^i/(2^i*i!^2), i, 4, inf));
649 (%i2) powerseries (f(x), x, 0);
659 (%i3) taylor (exp (sqrt (f(x))), x, 0, 4);
662 (%o3)/T/ 1 + x + -- + ------- + -------- + . . .
667 @c --- 27.02.2011 DK -----------------------------------------------------------
669 @defvr {Optionsvariable} maxtayorder
670 Standardwert: @code{true}
672 Hat @code{maxtayorder} den Wert @code{true}, werden bei der algebraischen
673 Manipulation von Taylor-Reihen, von der Funktion @mref{taylor} so viele
674 Terme wie m@"oglich mitgef@"uhrt.
677 @c --- 27.01.2011 DK -----------------------------------------------------------
679 @deffn {Funktion} pade (@var{taylor_series}, @var{numer_deg_bound}, @var{denom_deg_bound})
681 Gibt eine Liste aller rationalen Funktionen zur@"uck, die die angegebene
682 Taylor-Reihenentwicklung haben und deren Summe des Nennergrads und des
683 Z@"ahlergrads kleiner oder gleich des Grads der Reihenentwicklung ist.
685 Das Argument @var{taylor_series} ist eine Taylor-Reihe in einer Variablen.
686 Die Argumente @var{numer_deg_bound} und @var{denom_deg_bound} sind positive
687 ganze Zahlen, die eine Grenze f@"ur den Nennergrad und den Z@"ahlergrad der
688 rationalen Funktion angeben.
690 Die Taylor-Reihe kann auch eine Laurent-Reihe sein und die Grenzen f@"ur den
691 Grad k@"onnen @code{inf} sein.
693 Siehe auch @mrefdot{taylor}
698 (%i1) taylor (1 + x + x^2 + x^3, x, 0, 3);
700 (%o1)/T/ 1 + x + x + x + . . .
701 (%i2) pade (%, 1, 1);
705 (%i3) t: taylor(-(83787*x^10 - 45552*x^9 - 187296*x^8
706 + 387072*x^7 + 86016*x^6 - 1507328*x^5
707 + 1966080*x^4 + 4194304*x^3 - 25165824*x^2
708 + 67108864*x - 134217728)
709 /134217728, x, 0, 10);
712 x 3 x x 15 x 23 x 21 x 189 x
713 (%o3)/T/ 1 - - + ---- - -- - ----- + ----- - ----- - ------
714 2 16 32 1024 2048 32768 65536
717 5853 x 2847 x 83787 x
718 + ------- + ------- - --------- + . . .
719 4194304 8388608 134217728
721 (%i4) pade (t, 4, 4);
725 Es gibt keine rationale Funktion des Grads 4 im Z@"ahler und Nenner f@"ur die
726 oben angegebene Taylor-Reihenentwicklung. Die Summe des Z@"ahlergrads und des
727 Nennergrads m@"ussen mindestens gleich dem Grad der Reihenentwicklung sein.
728 In diesem Fall ist der Grad der Taylor-Reihenentwicklung @code{10}.
731 (%i5) pade (t, 5, 5);
734 (%o5) [- (520256329 x - 96719020632 x - 489651410240 x
737 - 1619100813312 x - 2176885157888 x - 2386516803584)
740 /(47041365435 x + 381702613848 x + 1360678489152 x
743 + 2856700692480 x + 3370143559680 x + 2386516803584)]
748 @c --- 27.02.2011 DK -----------------------------------------------------------
750 @deffn {Funktion} powerseries (@var{expr}, @var{x}, @var{a})
752 Gibt eine geschlossene Form f@"ur die Reihenentwicklung des Ausdrucks @var{expr}
753 in der Variablen @var{x} um den Punkt @var{a} zur@"uck. Das Argument @var{a}
754 kann die Werte @code{inf} oder @code{infinity} haben. Die Reihenentwicklung
755 f@"ur eine Funktion @code{f(x)} hat die allgemeine Form:
768 $$f\left(x\right)=\sum_{n=0}^{\infty }{b_{n}\,\left(x-a\right)^{n}}$$
771 Mit den Koeffzienten:
784 $$b_{n}={{\left.{{d}\over{d\,n}}\,f\left(x\right)\right|_{x=a}}\over{n!}}$$
787 Kann die Funktion @code{powerseries} keine Reihenentwicklung f@"ur den Ausdruck
788 @var{expr} finden, k@"onnen m@"oglicherweise mit der Funktion @mref{taylor} die
789 ersten Terme der Reihenentwicklung berechnet werden.
791 Hat die Optionsvariable @mref{verbose} den Wert @code{true}, werden Meldungen
792 zu den verwendeten Algorithmen von der Funktion @code{powerseries} angezeigt.
799 (%i2) powerseries (log(sin(x)/x), x, 0);
800 trigreduce: can't expand
803 trigreduce: try again after applying the rule:
807 log(sin(x)) = I ----------- dx
812 powerseries: first simplification returned
816 - log(x) + I cot(x) dx
822 ==== i1 - 1 + 2 i1 2 i1
823 \ (- 1) 2 bern(2 i1) x
824 (%o2) > ------------------------------------
831 @c -----------------------------------------------------------------------------
833 @defvr {Option variable} psexpand
834 Default value: @code{false}
836 @c TODO: WIE FUNKTIONIERT DIE OPTIONSVARIABLE? BEISPIEL?
838 When @code{psexpand} is @code{true},
839 an extended rational function expression is displayed fully expanded.
840 The switch @code{ratexpand} has the same effect.
842 @c WE NEED TO BE EXPLICIT HERE
843 When @code{psexpand} is @code{false},
844 a multivariate expression is displayed just as in the rational function package.
847 When @code{psexpand} is @code{multi},
848 then terms with the same total degree in the variables are grouped together.
851 @c --- 27.02.2011 DK -----------------------------------------------------------
854 @deffn {Funktion} revert (@var{expr}, @var{x})
855 @deffnx {Funktion} revert2 (@var{expr}, @var{x}, @var{n})
857 Die Funktion @code{revert} berechnet eine Taylorreihe in der Variablen @var{x}
858 um den Entwicklungspunkt Null, die der Taylorreihe der inversen Funktion
859 entspricht, die von der Taylorreihe @var{expr} repr@"asentiert wird. Das
860 Ergebnis ist ein Polynom in einer CRE-Darstellung mit dem Grad der h@"ochsten
861 Potenz im Ausdruck @var{expr}.
863 Die Funktion @code{revert2} entspricht der Funktion @code{revert} mit dem
864 Unterschied, dass mit dem dritten Argument @var{n} der Grad der neuen
865 Taylorreihe explizit angegeben werden kann. Dieser kann kleiner oder
866 gr@"o@ss{}er als der Grad der Taylorreihe @var{expr} sein.
868 Mit dem Kommando @code{load("revert")} werden die Funktionen geladen.
870 Siehe auch die Funktion @mrefdot{taylor}
874 Die Inverse der Funktion @code{exp(x) - 1} ist die Funktion @code{log(x+1)}.
875 Mit dem Kommando @code{revert(taylor(exp(x) - 1, x, 0, 6), x)} wird die
876 Taylorreihe der Inversen @code{log(x+1)} berechnet.
879 (%i1) load ("revert")$
880 (%i2) t: taylor (exp(x) - 1, x, 0, 6);
883 (%o2)/T/ x + -- + -- + -- + --- + --- + . . .
887 10 x - 12 x + 15 x - 20 x + 30 x - 60 x
888 (%o3)/R/ - --------------------------------------------
893 (%o4) - -- + -- - -- + -- - -- + x
895 (%i5) taylor (log(x+1), x, 0, 6);
898 (%o5)/T/ x - -- + -- - -- + -- - -- + . . .
900 (%i6) ratsimp (revert (t, x) - taylor (log(x+1), x, 0, 6));
902 (%i7) revert2 (t, x, 4);
905 (%o7) - -- + -- - -- + x
910 @c --- 27.02.2011 DK -----------------------------------------------------------
912 @deffn {Funktion} taylor (@var{expr}, @var{x}, @var{a}, @var{n})
913 @deffnx {Funktion} taylor (@var{expr}, [@var{x_1}, @var{x_2}, @dots{}], @var{a}, @var{n})
914 @deffnx {Funktion} taylor (@var{expr}, [@var{x}, @var{a}, @var{n}, 'asymp])
915 @deffnx {Funktion} taylor (@var{expr}, [@var{x_1}, @var{x_2}, @dots{}], [@var{a_1}, @var{a_2}, @dots{}], [@var{n_1}, @var{n_2}, @dots{}])
916 @deffnx {Funktion} taylor (@var{expr}, [@var{x_1}, @var{a_1}, @var{n_1}], [@var{x_2}, @var{a_2}, @var{n_2}], @dots{})
918 @code{taylor(@var{expr}, @var{x}, @var{a}, @var{n})} entwickelt den Ausdruck
919 @var{expr} in eine Taylor- oder Laurent-Reihenwicklung in der Variablen @var{x}
920 um den Punkt @var{a}, die die Terme bis zur Ordnung @code{(@var{x} -
921 @var{a})^@var{n}} enth@"alt.
923 Hat der Ausdruck @var{expr} die Form @code{@var{f}(@var{x})/@var{g}(@var{x})}
924 und hat @code{@var{g}(@var{x})} keine Terme bis zur Ordnung @var{n}, dann
925 versucht @code{taylor} den Ausdruck @code{@var{g}(@var{x})} bis zur Ordnung
926 @code{2 @var{n}} zu entwickeln. Treten in der Entwicklung weiterhin keine
927 von Null verschiedenen Terme auf, verdoppelt @code{taylor} die Ordnung der
928 Entwicklung f@"ur @code{@var{g}(@var{x})} so lange, wie die Ordnung kleiner
929 oder gleich @code{@var{n} 2^taylordepth} ist. Siehe auch @mrefdot{taylordepth}
931 @code{taylor(@var{expr}, [@var{x_1}, @var{x_2}, ...], @var{a}, @var{n})} gibt
932 die Reihenentwicklung der Ordnung @var{n} in allen Variablen @var{x_1},
933 @var{x_2}, @dots{} um den Punkt @var{a} zur@"uck.
935 Die beiden folgenden @"aquivalenten Kommandos @code{taylor(@var{expr},
936 [@var{x_1}, @var{a_1}, @var{n_1}], [@var{x_2}, @var{a_2}, @var{n_2}], ...)} und
937 @code{taylor(@var{expr}, [@var{x_1}, @var{x_2}, ...], [@var{a_1},
938 @var{a_2}, ...], [@var{n_1}, @var{n_2}, ...])} geben eine Reihenentwicklung
939 f@"ur die Variablen @var{x_1}, @var{x_2}, @dots{} um den Punkt @code{(@var{a_1},
940 @var{a_2}, ...)} mit den Ordnungen @var{n_1}, @var{n_2}, @dots{} zur@"uck.
942 @code{taylor(@var{expr}, [@var{x}, @var{a}, @var{n}, 'asymp])} entwickelt den
943 Ausdruck @var{expr} in negativen Potenzen von @code{@var{x} - @var{a}}. Der
944 Term mit der gr@"o@ss{}ten Ordnung ist @code{(@var{x} - @var{a})^@var{-n}}.
946 Folgende Optionsvariablen kontrollieren die Berechnung einer Taylorreihe:
950 Hat @mref{maxtayorder} den Wert @code{true}, werden bei der algebraischen
951 Manipulation von Taylor-Reihen, von der Funktion @code{taylor} so viele
952 Terme wie m@"oglich mitgef@"uhrt.
955 Findet @code{taylor} keine von Null verschiedenen Terme in der
956 Reihenentwicklung, wird die Ordnung der Entwicklung solange erh@"oht wie sie
957 kleiner oder gleich @code{2^taylordepth} ist.
959 @item taylor_logexpand
960 Die Optionsvariable @mref{taylor_logexpand} kontrolliert die Entwicklung von
961 Logarithmusfunktionen, die bei der Reihenentwicklung auftreten. Der
962 Standardwert ist @code{true} und die Logarithmusfunktionen in einer
963 Reihenentwicklung werden vollst@"andig entwickelt.
965 @item taylor_order_coefficients
966 Die Optionsvariable @mref{taylor_order_coefficients} kontrolliert die Anordung
967 von Termen in einer Reihenentwicklung. Der Standardwert ist @code{true} und
968 die Anordung entspricht der kanonischen Darstellung eines Ausdrucks.
970 @item taylor_truncate_polynomials
971 Hat die Optionsvariable @mref{taylor_truncate_polynomials} den Wert
972 @code{false}, wird das Ergebnis der Reihenentwicklung eines Polynoms als exakt
975 @item taylor_simplifier
976 Die Funktion zur Vereinfachung der Koeffizienten einer Entwicklung ist in der Optionsvariablen @mref{taylor_simplifier} enthalten. Der Standardwert ist
977 @code{simplify}. Der Variablen kann eine nutzerdefinierte Funktion zugewiesen
981 @c TODO: UEBERSETZUNG DES FOLGENDEN FEHLT. WIE FUNKTIONIERT PSEXPAND?
983 @c When @code{psexpand} is @code{true}, an extended rational function expression
984 @c is displayed fully expanded. The switch @code{ratexpand} has the same effect.
985 @c When @code{psexpand} is @code{false}, a multivariate expression is displayed
986 @c just as in the rational function package. When @code{psexpand} is
987 @c @code{multi}, then terms with the same total degree in the variables are
990 Mit der Funktion @mref{taylorp} kann getestet werden, ob ein Ausdruck eine
991 Taylorreihe repr@"asentiert. Die Funktion @mref{taylorinfo} gibt Informationen
992 zu einer Taylorreihe aus. Die spezielle CRE-Form einer Taylorreihe wird mit der
993 Funktion @mref{taytorat} in eine Standardform gebracht.
994 Mit den Funktionen @mref{revert} und @mref{revert2} kann die Taylorreihe einer
995 inversen Funktion berechnet werden.
1000 (%i1) taylor (sqrt (sin(x) + a*x + 1), x, 0, 3);
1002 (a + 1) x (a + 2 a + 1) x
1003 (%o1)/T/ 1 + --------- - -----------------
1007 (3 a + 9 a + 9 a - 1) x
1008 + -------------------------- + . . .
1013 (%o2)/T/ 1 + (a + 1) x - -- + . . .
1015 (%i3) taylor (sqrt (x + 1), x, 0, 5);
1018 (%o3)/T/ 1 + - - -- + -- - ---- + ---- + . . .
1021 (%o4)/T/ 1 + x + . . .
1022 (%i5) product ((1 + x^i)^2.5, i, 1, inf)/(1 + x^2);
1029 (%o5) -----------------
1032 (%i6) ev (taylor(%, x, 0, 3), keepfloat);
1034 (%o6)/T/ 1 + 2.5 x + 3.375 x + 6.5625 x + . . .
1035 (%i7) taylor (1/log (x + 1), x, 0, 3);
1038 (%o7)/T/ - + - - -- + -- - ----- + . . .
1040 (%i8) taylor (cos(x) - sec(x), x, 0, 5);
1044 (%o8)/T/ - x - -- + . . .
1047 (%i9) taylor ((cos(x) - sec(x))^3, x, 0, 5);
1049 (%i10) taylor (1/(cos(x) - sec(x))^3, x, 0, 5);
1051 1 1 11 347 6767 x 15377 x
1052 (%o10)/T/ - -- + ---- + ------ - ----- - ------- - --------
1053 6 4 2 15120 604800 7983360
1057 (%i11) taylor (sqrt (1 - k^2*sin(x)^2), x, 0, 6);
1060 (%o11)/T/ 1 - ----- - ----------------
1064 (45 k - 60 k + 16 k ) x
1065 - -------------------------- + . . .
1067 (%i12) taylor ((x + 1)^n, x, 0, 4);
1069 (n - n) x (n - 3 n + 2 n) x
1070 (%o12)/T/ 1 + n x + ----------- + --------------------
1074 (n - 6 n + 11 n - 6 n) x
1075 + ---------------------------- + . . .
1077 (%i13) taylor (sin (y + x), x, 0, 3, y, 0, 3);
1080 (%o13)/T/ y - -- + . . . + (1 - -- + . . .) x
1085 + (- - + -- + . . .) x + (- - + -- + . . .) x + . . .
1087 (%i14) taylor (sin (y + x), [x, y], 0, 3);
1090 x + 3 y x + 3 y x + y
1091 (%o14)/T/ y + x - ------------------------- + . . .
1094 (%i15) taylor (1/sin (y + x), x, 0, 3, y, 0, 3);
1097 (%o15)/T/ - + - + . . . + (- -- + - + . . .) x + (-- + . . .) x
1102 + (- -- + . . .) x + . . .
1106 (%i16) taylor (1/sin (y + x), [x, y], 0, 3);
1108 1 x + y 7 x + 21 y x + 21 y x + 7 y
1109 (%o16)/T/ ----- + ----- + ------------------------------- + . . .
1114 @c --- 28.02.2011 DK -----------------------------------------------------------
1115 @anchor{taylordepth}
1116 @defvr {Optionsvariable} taylordepth
1119 Findet die Funktion @code{taylor} keine von Null verschiedenen Terme in der
1120 Reihenentwicklung, wird die Ordnung der Entwicklung solange erh@"oht wie sie
1121 kleiner oder gleich @code{2^taylordepth} ist.
1123 Siehe auch @mrefdot{taylor}
1126 @c --- 28.02.2011 DK -----------------------------------------------------------
1128 @deffn {Funktion} taylorinfo (@var{expr})
1130 Gibt Informationen @"uber die Taylorreihe @var{expr} zur@"uck. Die R@"uckgabe
1131 ist eine Liste, die Listen mit den Namen der Variablen, den Entwicklungspunkten
1132 und den Ordnungen der Entwicklung enthalten.
1134 Ist @var{expr} keine Taylorreihe, ist die R@"uckgabe @code{false}.
1139 (%i1) taylor ((1 - y^2)/(1 - x), x, 0, 3, [y, a, inf]);
1141 (%o1)/T/ - (y - a) - 2 a (y - a) + (1 - a )
1144 + (1 - a - 2 a (y - a) - (y - a) ) x
1147 + (1 - a - 2 a (y - a) - (y - a) ) x
1150 + (1 - a - 2 a (y - a) - (y - a) ) x + . . .
1151 (%i2) taylorinfo(%);
1152 (%o2) [[y, a, inf], [x, 0, 3]]
1156 @c --- 28.02.2011 DK -----------------------------------------------------------
1158 @deffn {Funktion} taylorp (@var{expr})
1160 Hat den R@"uckgabewert @code{true}, wenn das Argument @var{expr} eine
1161 Taylorreihe ist. Ansonsten ist der R@"uckgabewert @code{false}.
1164 @c --- 28.02.2011 DK -----------------------------------------------------------
1165 @anchor{taylor_logexpand}
1166 @defvr {Optionsvariable} taylor_logexpand
1167 Standardwert: @code{true}
1169 @c TODO: WAS BEDEUTET DAS? KEIN BEISPIEL GEFUNDEN.
1171 @c @code{taylor_logexpand} controls expansions of logarithms in @code{taylor}
1173 @c When @code{taylor_logexpand} is @code{true}, all logarithms are expanded
1174 @c fully so that zero-recognition problems involving logarithmic identities do
1175 @c not disturb the expansion process. However, this scheme is not always
1176 @c mathematically correct since it ignores branch information.
1177 @c When @code{taylor_logexpand} is set to @code{false}, then the only expansion
1178 @c of logarithms that occur is that necessary to obtain a formal power series.
1180 @code{taylor_logexpand} kontrolliert die Entwicklung von Logarithmen in einer
1181 Taylorreihe. Der Standardwert ist @code{true} und die Logarithmusfunktionen in
1182 einer Reihenentwicklung werden vollst@"andig entwickelt. Ansonsten werden
1183 Logarithmusfunktionen so weit entwickelt, wie es notwendig ist, um eine formale
1184 Reihenentwicklung zu erhalten.
1187 @c --- 28.02.2011 DK -----------------------------------------------------------
1188 @anchor{taylor_order_coefficients}
1189 @defvr {Optionsvariable} taylor_order_coefficients
1190 Standardwert: @code{true}
1192 @c TODO: KEIN BEISPIEL GEFUNDEN. WIE FUNKTIONIERT DAS?
1194 @c @code{taylor_order_coefficients} controls the ordering of coefficients in a
1196 @c When @code{taylor_order_coefficients} is @code{true}, coefficients of taylor
1197 @c series are ordered canonically.
1199 Die Optionsvariable @code{taylor_order_coefficients} kontrolliert die Ordnung
1200 der Koeffizienten einer Taylorreihenentwicklung.
1201 Hat @code{taylor_order_coefficients} den Wert @code{true}, werden die
1202 Koeffizienten kanonisch angeordnet.
1205 @c --- 28.02.2011 DK -----------------------------------------------------------
1206 @anchor{taylor_simplifier}
1207 @defvr {Optionsvariable} taylor_simplifier
1208 Standardwert: @code{SIMPLIFY}
1210 @c TODO: KEIN GUTES BEISPIEL GEFUNDEN.
1211 @c MOEGLICHE NUTZLICHE FUNKTIONEN WIE RADCAN ODER FACTOR WERDEN ZWAR
1212 @c AUFGERUFEN, ABER DIE ERZIELTEN BLEIBEN IM ERGEBNIS NICHT ERHALTEN.
1214 Die Optionsvariable @code{taylor_simplifier} enth@"alt den Namen der Funktion,
1215 die f@"ur die Vereinfachung der Koeffizienten einer Taylorreihenentwicklung
1216 von @mref{taylor} aufgerufen wird. Der Standardwert ist die Lisp-Funktion
1220 @c --- 28.02.2011 DK -----------------------------------------------------------
1221 @anchor{taylor_truncate_polynomials}
1222 @defvr {Optionsvariable} taylor_truncate_polynomials
1223 Standardwert: @code{true}
1225 @c TODO: IST DIE DOKUMENTATON KORREKT? IST DAS BEISPIEL KORREKT?
1226 @c DER ENGLISCHE TEXT IST NICHT VERSTAENDLICH.
1228 @c When @code{taylor_truncate_polynomials} is @code{true}, polynomials are
1229 @c truncated based upon the input truncation levels.
1230 @c Otherwise, polynomials input to @code{taylor} are considered to have infinite
1233 Hat die Optionsvariable @code{taylor_truncate_polynomials} den Wert
1234 @code{false}, wird das Ergebnis der Reihenentwicklung eines Polynoms als exakt
1240 (%i1) taylor(x^6+x^4+x^2,x,0,4),taylor_truncate_polynomials:true;
1242 (%o1)/T/ x + x + . . .
1243 (%i2) taylor(x^6+x^4+x^2,x,0,4),taylor_truncate_polynomials:false;
1249 @c --- 28.02.2011 DK -----------------------------------------------------------
1251 @deffn {Funktion} taytorat (@var{expr})
1253 Konvertiert den Ausdruck @var{expr} von der speziellen Darstellung einer
1254 Taylorreihenentwicklung in eine CRE-Form.
1259 (%i1) taylor(atan(x),x,0,5);
1262 (%o1)/T/ x - -- + -- + . . .
1268 (%o2)/R/ ------------------
1274 @c --- 28.02.2011 DK -----------------------------------------------------------
1276 @deffn {Funktion} trunc (@var{expr})
1278 Die R@"uckgabe der Funktion @code{trunc} ist ein Ausdruck, der das Argument
1279 @var{expr} in der Ausgabe wie eine Taylorreihenentwicklung anzeigt. Der
1280 Ausdruck @var{expr} wird ansonsten nicht modifiziert.
1285 (%i1) expr: x^2 + x + 1;
1290 (%o2) 1 + x + x + . . .
1291 (%i3) is (expr = trunc (expr));
1296 @c --- 28.02.2011 DK -----------------------------------------------------------
1298 @defvr {Optionsvariable} verbose
1299 Standardwert: @code{false}
1301 Hat die Optionsvariable @code{verbose} den Wert @code{true}, werden von der
1302 Funktion @mref{powerseries} Meldungen @"uber die verwendeten Algorithmen
1306 @c -----------------------------------------------------------------------------
1307 @node Poisson Reihen, Kettenbr@"uche, Funktionen und Variablen f@"ur Reihen, Summen Produkte und Reihen
1308 @section Poisson Reihen
1309 @c -----------------------------------------------------------------------------
1311 @c NEED EXAMPLES HERE
1313 @c -----------------------------------------------------------------------------
1315 @deffn {Function} intopois (@var{a})
1317 Converts @var{a} into a Poisson encoding.
1320 @c NEED EXAMPLES HERE
1322 @c -----------------------------------------------------------------------------
1324 @deffn {Function} outofpois (@var{a})
1326 Converts @var{a} from Poisson encoding to general representation. If @var{a}
1327 is not in Poisson form, @code{outofpois} carries out the conversion, i.e.,
1328 the return value is @code{outofpois (intopois (@var{a}))}. This function is
1329 thus a canonical simplifier for sums of powers of sine and cosine terms of a
1333 @c NEED MORE INFO HERE
1334 @c NEED EXAMPLES HERE
1336 @c -----------------------------------------------------------------------------
1338 @deffn {Function} poisdiff (@var{a}, @var{b})
1340 Differentiates @var{a} with respect to @var{b}. @var{b} must occur only
1341 in the trig arguments or only in the coefficients.
1344 @c LOOKING AT THE CODE IN src/pois3.lisp, THIS FCN SEEMS TO COMPUTE THE EXPONENT
1345 @c BY MULTIPLYING IN A LOOP
1346 @c DUNNO HOW WE WANT TO EXPLAIN THAT
1347 @c REPHRASE WITHOUT USING THE TERM "FUNCTIONALLY IDENTICAL"
1349 @c -----------------------------------------------------------------------------
1351 @deffn {Function} poisexpt (@var{a}, @var{b})
1353 Functionally identical to @code{intopois (@var{a}^@var{b})}. @var{b} must be a
1357 @c WHAT IS THIS ABOUT ??
1359 @c -----------------------------------------------------------------------------
1361 @deffn {Function} poisint (@var{a}, @var{b})
1363 Integrates in a similarly restricted sense (to @code{poisdiff}). Non-periodic
1364 terms in @var{b} are dropped if @var{b} is in the trig arguments.
1367 @c -----------------------------------------------------------------------------
1369 @defvr {Option variable} poislim
1372 @code{poislim} determines the domain of the coefficients in the arguments of
1373 the trig functions. The initial value of 5 corresponds to the interval
1374 [-2^(5-1)+1,2^(5-1)], or [-15,16], but it can be set to [-2^(n-1)+1, 2^(n-1)].
1377 @c UMM, WHAT IS THIS ABOUT EXACTLY ?? EXAMPLES NEEDED
1379 @c -----------------------------------------------------------------------------
1381 @deffn {Function} poismap (@var{series}, @var{sinfn}, @var{cosfn})
1383 will map the functions @var{sinfn} on the sine terms and @var{cosfn} on the
1384 cosine terms of the Poisson series given. @var{sinfn} and @var{cosfn} are
1385 functions of two arguments which are a coefficient and a trigonometric part
1386 of a term in series respectively.
1389 @c REPHRASE WITHOUT USING THE TERM "FUNCTIONALLY IDENTICAL"
1391 @c -----------------------------------------------------------------------------
1393 @deffn {Function} poisplus (@var{a}, @var{b})
1395 Is functionally identical to @code{intopois (a + b)}.
1398 @c -----------------------------------------------------------------------------
1400 @deffn {Function} poissimp (@var{a})
1402 Converts @var{a} into a Poisson series for @var{a} in general representation.
1405 @c MORE INFO NEEDED HERE
1407 @c -----------------------------------------------------------------------------
1409 @defvr {Special symbol} poisson
1411 The symbol @code{/P/} follows the line label of Poisson series expressions.
1414 @c -----------------------------------------------------------------------------
1416 @deffn {Function} poissubst (@var{a}, @var{b}, @var{c})
1418 Substitutes @var{a} for @var{b} in @var{c}. @var{c} is a Poisson series.
1420 (1) Where @var{B} is a variable @var{u}, @var{v}, @var{w}, @var{x}, @var{y}, or
1421 @var{z}, then @var{a} must be an expression linear in those variables (e.g.,
1424 (2) Where @var{b} is other than those variables, then @var{a} must also be
1425 free of those variables, and furthermore, free of sines or cosines.
1427 @code{poissubst (@var{a}, @var{b}, @var{c}, @var{d}, @var{n})} is a special
1428 type of substitution which operates on @var{a} and @var{b} as in type (1) above,
1429 but where @var{d} is a Poisson series, expands @code{cos(@var{d})} and
1430 @code{sin(@var{d})} to order @var{n} so as to provide the result of substituting
1431 @code{@var{a} + @var{d}} for @var{b} in @var{c}. The idea is that @var{d} is an
1432 expansion in terms of a small parameter. For example,
1433 @code{poissubst (u, v, cos(v), %e, 3)} yields @code{cos(u)*(1 - %e^2/2) -
1434 sin(u)*(%e - %e^3/6)}.
1437 @c REPHRASE WITHOUT USING THE TERM "FUNCTIONALLY IDENTICAL"
1439 @c -----------------------------------------------------------------------------
1441 @deffn {Function} poistimes (@var{a}, @var{b})
1443 Is functionally identical to @code{intopois (@var{a}*@var{b})}.
1446 @c HOW DOES THIS WORK ?? NEED MORE INFO AND EXAMPLES
1448 @c -----------------------------------------------------------------------------
1450 @deffn {Function} poistrim ()
1452 is a reserved function name which (if the user has defined it) gets applied
1453 during Poisson multiplication. It is a predicate function of 6 arguments which
1454 are the coefficients of the @var{u}, @var{v}, @dots{}, @var{z} in a term. Terms
1455 for which @code{poistrim} is @code{true} (for the coefficients of that term)
1456 are eliminated during multiplication.
1459 @c -----------------------------------------------------------------------------
1461 @deffn {Function} printpois (@var{a})
1463 Prints a Poisson series in a readable format. In common with @code{outofpois},
1464 it will convert @var{a} into a Poisson encoding first, if necessary.
1467 @c -----------------------------------------------------------------------------
1468 @node Kettenbr@"uche, , Poisson Reihen, Summen Produkte und Reihen
1469 @section Kettenbr@"uche
1470 @c -----------------------------------------------------------------------------
1472 @c -----------------------------------------------------------------------------
1474 @deffn {Function} cf (@var{expr})
1476 Converts @var{expr} into a continued fraction. @var{expr} is an expression
1477 comprising continued fractions and square roots of integers. Operands in the
1478 expression may be combined with arithmetic operators. Aside from continued
1479 fractions and square roots, factors in the expression must be integer or
1480 rational numbers. Maxima does not know about operations on continued fractions
1481 outside of @code{cf}.
1483 @code{cf} evaluates its arguments after binding @code{listarith} to
1484 @code{false}. @code{cf} returns a continued fraction, represented as a list.
1486 A continued fraction @code{a + 1/(b + 1/(c + ...))} is represented by the list
1487 @code{[a, b, c, ...]}. The list elements @code{a}, @code{b}, @code{c}, @dots{}
1488 must evaluate to integers. @var{expr} may also contain @code{sqrt (n)} where
1489 @code{n} is an integer. In this case @code{cf} will give as many terms of the
1490 continued fraction as the value of the variable @code{cflength} times the
1493 A continued fraction can be evaluated to a number by evaluating the arithmetic
1494 representation returned by @code{cfdisrep}. See also @code{cfexpand} for another
1495 way to evaluate a continued fraction.
1497 See also @code{cfdisrep}, @code{cfexpand}, and @code{cflength}.
1503 @var{expr} is an expression comprising continued fractions and square roots of integers.
1506 (%i1) cf ([5, 3, 1]*[11, 9, 7] + [3, 7]/[4, 3, 2]);
1507 (%o1) [59, 17, 2, 1, 1, 1, 27]
1508 (%i2) cf ((3/17)*[1, -2, 5]/sqrt(11) + (8/13));
1509 (%o2) [0, 1, 1, 1, 3, 2, 1, 4, 1, 9, 1, 9, 2]
1513 @code{cflength} controls how many periods of the continued fraction
1514 are computed for algebraic, irrational numbers.
1518 (%i2) cf ((1 + sqrt(5))/2);
1519 (%o2) [1, 1, 1, 1, 2]
1521 (%i4) cf ((1 + sqrt(5))/2);
1522 (%o4) [1, 1, 1, 1, 1, 1, 1, 2]
1524 (%i6) cf ((1 + sqrt(5))/2);
1525 (%o6) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2]
1529 A continued fraction can be evaluated by evaluating the arithmetic representation
1530 returned by @code{cfdisrep}.
1534 (%i2) cfdisrep (cf (sqrt (3)))$
1535 (%i3) ev (%, numer);
1536 (%o3) 1.731707317073171
1540 Maxima does not know about operations on continued fractions outside of @code{cf}.
1543 (%i1) cf ([1,1,1,1,1,2] * 3);
1545 (%i2) cf ([1,1,1,1,1,2]) * 3;
1546 (%o2) [3, 3, 3, 3, 3, 6]
1552 @c NEEDS CLARIFICATION -- MAKE EXPLICIT HOW list IS RELATED TO a, b, c, ...
1553 @c ALSO, CAN list CONTAIN ANYTHING OTHER THAN LITERAL INTEGERS ??
1555 @c -----------------------------------------------------------------------------
1556 @deffn {Function} cfdisrep (@var{list})
1558 Constructs and returns an ordinary arithmetic expression
1559 of the form @code{a + 1/(b + 1/(c + ...))}
1560 from the list representation of a continued fraction @code{[a, b, c, ...]}.
1563 (%i1) cf ([1, 2, -3] + [1, -2, 1]);
1576 @c -----------------------------------------------------------------------------
1577 @deffn {Function} cfexpand (@var{x})
1579 Returns a matrix of the numerators and denominators of the
1580 last (column 1) and next-to-last (column 2) convergents of the continued fraction @var{x}.
1583 (%i1) cf (rat (ev (%pi, numer)));
1585 `rat' replaced 3.141592653589793 by 103993/33102 =3.141592653011902
1586 (%o1) [3, 7, 15, 1, 292]
1591 (%i3) %[1,1]/%[2,1], numer;
1592 (%o3) 3.141592653011902
1596 @c -----------------------------------------------------------------------------
1597 @defvr {Option variable} cflength
1600 @code{cflength} controls the number of terms of the continued
1601 fraction the function @code{cf} will give, as the value @code{cflength} times the
1602 period. Thus the default is to give one period.
1606 (%i2) cf ((1 + sqrt(5))/2);
1607 (%o2) [1, 1, 1, 1, 2]
1609 (%i4) cf ((1 + sqrt(5))/2);
1610 (%o4) [1, 1, 1, 1, 1, 1, 1, 2]
1612 (%i6) cf ((1 + sqrt(5))/2);
1613 (%o6) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2]
1617 @c --- End of file Series.de.texi ----------------------------------------------