Rename specvar integer-info to *integer-info*
[maxima.git] / doc / info / de / Series.de.texi
blob28a983b842f925d5c77cf8a5e3b72cdf731d3de2
1 @c -----------------------------------------------------------------------------
2 @c File        : Series.de.texi
3 @c License     : GNU General Public License (GPL)
4 @c Language    : German
5 @c Original    : Series.texi revision 1.21
6 @c Translation : Dr. Dieter Kaiser
7 @c Date        : 05.11.2010
8 @c Revision    : 12.06.2011
9 @c 
10 @c This file is part of Maxima -- GPL CAS based on DOE-MACSYMA
11 @c -----------------------------------------------------------------------------
13 @menu
14 * Summen und Produkte::
15 * Einf@"uhrung in Reihen::
16 * Funktionen und Variablen f@"ur Reihen::
17 * Poisson Reihen::
18 * Kettenbr@"uche::
19 @end menu
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 -----------------------------------------------------------
27 @anchor{bashindices}
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
35 @mref{gensumnum} ist.
37 Beispiel:
39 @example
40 (%i1) sum(1/k^2,k,0,inf)+sum(1/k,k,0,inf);
41                        inf       inf
42                        ====      ====
43                        \     1   \     1
44 (%o1)                   >    - +  >    --
45                        /     k   /      2
46                        ====      ====  k
47                        k = 0     k = 0
48 (%i2) bashindices(%);
49                      inf         inf
50                      ====        ====
51                      \      1    \       1
52 (%o2)                 >     -- +  >     ---
53                      /      j2   /        2
54                      ====        ====   j1
55                      j2 = 0      j1 = 0
56 @end example
57 @end deffn
59 @c --- 27.02.2011 DK -----------------------------------------------------------
60 @anchor{cauchysum}
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.
68 Beispiele:
70 @example
71 (%i1) sumexpand: false$
72 (%i2) cauchysum: false$
73 (%i3) s: sum (f(i), i, 0, inf) * sum (g(j), j, 0, inf);
74                       inf         inf
75                       ====        ====
76                       \           \
77 (%o3)                ( >    f(i))  >    g(j)
78                       /           /
79                       ====        ====
80                       i = 0       j = 0
81 (%i4) sumexpand: true$
82 (%i5) cauchysum: true$
83 (%i6) ''s;
84                  inf     i1
85                  ====   ====
86                  \      \
87 (%o6)             >      >     g(i1 - i2) f(i2)
88                  /      /
89                  ====   ====
90                  i1 = 0 i2 = 0
91 @end example
92 @end defvr
94 @c --- 27.02.2011 DK -----------------------------------------------------------
95 @anchor{genindex}
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
101 @mrefdot{gensumnum}
102 @end defvr
104 @c --- 27.02.2011 DK -----------------------------------------------------------
105 @anchor{gensumnum}
106 @defvr {Optionsvariable} gensumnum
107 Standardwert: 0
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}
113 @end defvr
115 @c --- 27.02.2011 DK -----------------------------------------------------------
116 @anchor{intosum}
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.
125 Beispiel:
127 @example
128 @group
129 (%i1) sum(2*x^2*n^k, k , 0, inf);
130                                inf
131                                ====
132                              2 \      k
133 (%o1)                     2 x   >    n
134                                /
135                                ====
136                                k = 0
137 @end group
138 @group
139 (%i2) intosum(%);
140                           inf
141                           ====
142                           \        k  2
143 (%o2)                      >    2 n  x
144                           /
145                           ====
146                           k = 0
147 @end group
148 @end example
149 @end deffn
151 @c --- 27.02.2011 DK -----------------------------------------------------------
152 @anchor{lsum}
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
158 @mrefdot{sum}
160 Beispiele:
162 @example
163 (%i1) lsum (x^i, i, [1, 2, 7]);
164                             7    2
165 (%o1)                      x  + x  + x
166 (%i2) lsum (i^2, i, rootsof (x^3 - 1, x));
167                      ====
168                      \      2
169 (%o2)                 >    i
170                      /
171                      ====
172                                    3
173                      i in rootsof(x  - 1, x)
174 @end example
175 @end deffn
177 @c --- 27.02.2011 DK -----------------------------------------------------------
178 @anchor{niceindices}
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
186 gebildet.
188 @code{niceindices} wertet das Argument aus.
190 Beispiele:
192 @example
193 @group
194 (%i1) product (sum (f (foo + i*j*bar), foo, 1, inf), bar, 1, inf);
195                  inf    inf
196                 /===\   ====
197                  ! !    \
198 (%o1)            ! !     >      f(bar i j + foo)
199                  ! !    /
200                 bar = 1 ====
201                         foo = 1
202 @end group
203 @group
204 (%i2) niceindices (%);
205                      inf  inf
206                     /===\ ====
207                      ! !  \
208 (%o2)                ! !   >    f(i j l + k)
209                      ! !  /
210                     l = 1 ====
211                           k = 1
212 @end group
213 @end example
214 @end deffn
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.
224 Beispiele:
226 @example
227 (%i1) niceindicespref: [p, q, r, s, t, u]$
228 (%i2) product (sum (f (foo + i*j*bar), foo, 1, inf), bar, 1, inf);
229                  inf    inf
230                 /===\   ====
231                  ! !    \
232 (%o2)            ! !     >      f(bar i j + foo)
233                  ! !    /
234                 bar = 1 ====
235                         foo = 1
236 (%i3) niceindices (%);
237                      inf  inf
238                     /===\ ====
239                      ! !  \
240 (%o3)                ! !   >    f(i j q + p)
241                      ! !  /
242                     q = 1 ====
243                           p = 1
244 @end example
245 @end defvr
247 @c --- 27.02.2011 DK -----------------------------------------------------------
248 @anchor{nusum}
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 
259 auch @mrefdot{unsum}
261 Beispiele:
263 @example
264 (%i1) nusum (n*n!, n, 0, n);
266 Dependent equations eliminated:  (1)
267 (%o1)                     (n + 1)! - 1
268 (%i2) nusum (n^4*4^n/binomial(2*n,n), n, 0, n);
269                      4        3       2              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
273 (%i3) unsum (%, n);
274                               4  n
275                              n  4
276 (%o3)                   ----------------
277                         binomial(2 n, n)
278 @group
279 (%i4) unsum (prod (i^2, i, 1, n), n);
280                     n - 1
281                     /===\
282                      ! !   2
283 (%o4)              ( ! !  i ) (n - 1) (n + 1)
284                      ! !
285                     i = 1
286 @end group
287 (%i5) nusum (%, n, 1, n);
289 Dependent equations eliminated:  (2 3)
290                             n
291                           /===\
292                            ! !   2
293 (%o5)                      ! !  i  - 1
294                            ! !
295                           i = 1
296 @end example
297 @end deffn
299 @c --- 27.02.2011 DK -----------------------------------------------------------
300 @anchor{product}
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 
306 ausgewertet.
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.
318 Beispiele:
320 @example
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);
324 (%o2)                       25401600
325 (%i3) product (a[i], i, 1, 7);
326 (%o3)                 a  a  a  a  a  a  a
327                        1  2  3  4  5  6  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);
331 @group
332                              n
333                            /===\
334                             ! !
335 (%o5)                       ! !  a(i)
336                             ! !
337                            i = 1
338 @end group
339 (%i6) product (k, k, 1, n);
340                                n
341                              /===\
342                               ! !
343 (%o6)                         ! !  k
344                               ! !
345                              k = 1
346 (%i7) product (k, k, 1, n), simpproduct;
347 (%o7)                          n!
348 (%i8) product (integrate (x^k, x, 0, 1), k, 1, n);
349                              n
350                            /===\
351                             ! !    1
352 (%o8)                       ! !  -----
353                             ! !  k + 1
354                            k = 1
355 (%i9) product (if k <= 5 then a^k else b^k, k, 1, 10);
356                               15  40
357 (%o9)                        a   b
358 @end example
359 @end deffn
361 @c --- 27.02.2011 DK -----------------------------------------------------------
362 @anchor{simpproduct}
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?
376 @end defvr
378 @c --- 27.02.2011 DK -----------------------------------------------------------
379 @anchor{simpsum}
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?
393 @end defvr
395 @c --- 27.02.2011 DK -----------------------------------------------------------
396 @anchor{sum}
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 
402 nicht ausgewertet.
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
409 zu vereinfachen.
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
424 werden k@"onnen.
426 Siehe auch @mrefcomma{sumcontract}  @mrefcomma{sumexpand}@w{}
427 @mrefcomma{intosum} @mrefcomma{bashindices} @mrefcomma{niceindices}@w{}
428 @mref{cauchysum} und @mrefdot{zeilberger}
430 Beispiele:
432 @example
433 (%i1) sum (i^2, i, 1, 7);
434 (%o1)                          140
435 (%i2) sum (a[i], i, 1, 7);
436 (%o2)           a  + a  + a  + a  + a  + a  + a
437                  7    6    5    4    3    2    1
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);
441                             n
442                            ====
443                            \
444 (%o4)                       >    a(i)
445                            /
446                            ====
447                            i = 1
448 @group
449 (%i5) sum (2^i + i^2, i, 0, n);
450                           n
451                          ====
452                          \       i    2
453 (%o5)                     >    (2  + i )
454                          /
455                          ====
456                          i = 0
457 @end group
458 (%i6) sum (2^i + i^2, i, 0, n), simpsum;
459                               3      2
460                    n + 1   2 n  + 3 n  + n
461 (%o6)             2      + --------------- - 1
462                                   6
463 @group
464 (%i7) sum (1/3^i, i, 1, inf);
465                             inf
466                             ====
467                             \     1
468 (%o7)                        >    --
469                             /      i
470                             ====  3
471                             i = 1
472 @end group
473 (%i8) sum (1/3^i, i, 1, inf), simpsum;
474                                 1
475 (%o8)                           -
476                                 2
477 (%i9) sum (i^2, i, 1, 4) * sum (1/i^2, i, 1, inf);
478                               inf
479                               ====
480                               \     1
481 (%o9)                      30  >    --
482                               /      2
483                               ====  i
484                               i = 1
485 (%i10) sum (i^2, i, 1, 4) * sum (1/i^2, i, 1, inf), simpsum;
486                                   2
487 (%o10)                       5 %pi
488 (%i11) sum (integrate (x^k, x, 0, 1), k, 1, n);
489                             n
490                            ====
491                            \       1
492 (%o11)                      >    -----
493                            /     k + 1
494                            ====
495                            k = 1
496 (%i12) sum (if k <= 5 then a^k else b^k, k, 1, 10);
497           10    9    8    7    6    5    4    3    2
498 (%o12)   b   + b  + b  + b  + b  + a  + a  + a  + a  + a
499 @end example
500 @end deffn
502 @c --- 27.02.2011 DK -----------------------------------------------------------
503 @anchor{sumcontract}
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}
515 Beispiel:
517 @example
518 (%i1) 'sum(1/l,l,1,n)+'sum(k,k,1,n+2);
519 @group
520                          n        n + 2
521                         ====      ====
522                         \     1   \
523 (%o1)                    >    - +  >    k
524                         /     l   /
525                         ====      ====
526                         l = 1     k = 1
527 @end group
528 (%i2) sumcontract(%);
529 @group
530                             n
531                            ====
532                            \          1
533 (%o2)                2 n +  >    (l + -) + 3
534                            /          l
535                            ====
536                            l = 1
537 @end group
538 @end example
539 @end deffn
541 @c --- 27.02.2011 DK -----------------------------------------------------------
542 @anchor{sumexpand}
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}
550 Beispiele:
552 @example
553 (%i1) sumexpand: true$
554 (%i2) sum (f (i), i, 0, m) * sum (g (j), j, 0, n);
555                      m      n
556                     ====   ====
557                     \      \
558 (%o2)                >      >     f(i1) g(i2)
559                     /      /
560                     ====   ====
561                     i1 = 0 i2 = 0
562 (%i3) sum (f (i), i, 0, m)^2;
563                      m      m
564                     ====   ====
565                     \      \
566 (%o3)                >      >     f(i3) f(i4)
567                     /      /
568                     ====   ====
569                     i3 = 0 i4 = 0
570 @end example
571 @end defvr
573 @c --- 27.02.2011 DK -----------------------------------------------------------
574 @anchor{unsum}
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}
580 Beispiele:
582 @example
583 (%i1) g(p) := p*4^n/binomial(2*n,n);
584 @group
585                                      n
586                                   p 4
587 (%o1)               g(p) := ----------------
588                             binomial(2 n, n)
589 @end group
590 @group
591 (%i2) g(n^4);
592                               4  n
593                              n  4
594 (%o2)                   ----------------
595                         binomial(2 n, n)
596 @end group
597 (%i3) nusum (%, n, 0, n);
598                      4        3       2              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
602 (%i4) unsum (%, n);
603                               4  n
604                              n  4
605 (%o4)                   ----------------
606                         binomial(2 n, n)
607 @end example
608 @end deffn
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 -----------------------------------------------------------
628 @anchor{deftaylor}
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}
644 Beispiele:
646 @example
647 (%i1) deftaylor (f(x), x^2 + sum(x^i/(2^i*i!^2), i, 4, inf));
648 (%o1)                          [f]
649 (%i2) powerseries (f(x), x, 0);
650 @group
651                       inf
652                       ====      i1
653                       \        x         2
654 (%o2)                  >     -------- + x
655                       /       i1    2
656                       ====   2   i1!
657                       i1 = 4
658 @end group
659 (%i3) taylor (exp (sqrt (f(x))), x, 0, 4);
660                       2         3          4
661                      x    3073 x    12817 x
662 (%o3)/T/     1 + x + -- + ------- + -------- + . . .
663                      2     18432     307200
664 @end example
665 @end deffn
667 @c --- 27.02.2011 DK -----------------------------------------------------------
668 @anchor{maxtayorder}
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.
675 @end defvr
677 @c --- 27.01.2011 DK -----------------------------------------------------------
678 @anchor{pade}
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}
695 Beispiele:
697 @example
698 (%i1) taylor (1 + x + x^2 + x^3, x, 0, 3);
699                               2    3
700 (%o1)/T/             1 + x + x  + x  + . . .
701 (%i2) pade (%, 1, 1);
702                                  1
703 (%o2)                       [- -----]
704                                x - 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);
710 @group
711                     2    3       4       5       6        7
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
716                                   8         9          10
717                             5853 x    2847 x    83787 x
718                           + ------- + ------- - --------- + . . .
719                             4194304   8388608   134217728
720 @end group
721 (%i4) pade (t, 4, 4);
722 (%o4)                          []
723 @end example
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}.
730 @example
731 (%i5) pade (t, 5, 5);
732 @group
733                      5                4                 3
734 (%o5) [- (520256329 x  - 96719020632 x  - 489651410240 x
736                   2
737  - 1619100813312 x  - 2176885157888 x - 2386516803584)
739                5                 4                  3
740 /(47041365435 x  + 381702613848 x  + 1360678489152 x
742                   2
743  + 2856700692480 x  + 3370143559680 x + 2386516803584)]
744 @end group
745 @end example
746 @end deffn
748 @c --- 27.02.2011 DK -----------------------------------------------------------
749 @anchor{powerseries}
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:
756 @ifnottex
757 @example
758                   inf
759                   ====
760                   \               n
761        f(x) =      >    b  (x - a)
762                   /      n
763                   ====
764                   n = 0
765 @end example
766 @end ifnottex
767 @tex
768 $$f\left(x\right)=\sum_{n=0}^{\infty }{b_{n}\,\left(x-a\right)^{n}}$$
769 @end tex
771 Mit den Koeffzienten:
772 @ifnottex
773 @example
774                      !
775             d        !
776             -- (f(x))!
777             dn       !
778                      !x = a
779        b  = ---------------
780         n         n!
781 @end example
782 @end ifnottex
783 @tex
784 $$b_{n}={{\left.{{d}\over{d\,n}}\,f\left(x\right)\right|_{x=a}}\over{n!}}$$
785 @end tex
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.
794 Beispiel:
796 @example
797 (%i1) verbose: true$
799 (%i2) powerseries (log(sin(x)/x), x, 0);
800 trigreduce: can't expand                            
801                  log(sin(x))
803 trigreduce: try again after applying the rule:
804                                  d
805                                / -- (sin(x))
806                                [ dx
807                  log(sin(x)) = I ----------- dx
808                                ]   sin(x)
809                                /
812 powerseries: first simplification returned
813 @group
814                                 /
815                                 [
816                      - log(x) + I cot(x) dx
817                                 ]
818                                 /
819 @end group
821            inf
822            ====        i1  - 1 + 2 i1             2 i1
823            \      (- 1)   2           bern(2 i1) x
824 (%o2)       >     ------------------------------------
825            /                   i1 (2 i1)!
826            ====
827            i1 = 1
828 @end example
829 @end deffn
831 @c -----------------------------------------------------------------------------
832 @anchor{psexpand}
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.
846 @c TERMS OF WHAT ??
847 When @code{psexpand} is  @code{multi},
848 then terms with the same total degree in the variables are grouped together.
849 @end defvr
851 @c --- 27.02.2011 DK -----------------------------------------------------------
852 @anchor{revert}
853 @anchor{revert2}
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}
872 Beispiel:
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.
878 @example
879 (%i1) load ("revert")$
880 (%i2) t: taylor (exp(x) - 1, x, 0, 6);
881                    2    3    4    5     6
882                   x    x    x    x     x
883 (%o2)/T/      x + -- + -- + -- + --- + --- + . . .
884                   2    6    24   120   720
885 (%i3) revert (t, x);
886                6       5       4       3       2
887            10 x  - 12 x  + 15 x  - 20 x  + 30 x  - 60 x
888 (%o3)/R/ - --------------------------------------------
889                                 60
890 (%i4) ratexpand (%);
891                      6    5    4    3    2
892                     x    x    x    x    x
893 (%o4)             - -- + -- - -- + -- - -- + x
894                     6    5    4    3    2
895 (%i5) taylor (log(x+1), x, 0, 6);
896                     2    3    4    5    6
897                    x    x    x    x    x
898 (%o5)/T/       x - -- + -- - -- + -- - -- + . . .
899                    2    3    4    5    6
900 (%i6) ratsimp (revert (t, x) - taylor (log(x+1), x, 0, 6));
901 (%o6)                           0
902 (%i7) revert2 (t, x, 4);
903                           4    3    2
904                          x    x    x
905 (%o7)                  - -- + -- - -- + x
906                          4    3    2
907 @end example
908 @end deffn
910 @c --- 27.02.2011 DK -----------------------------------------------------------
911 @anchor{taylor}
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:
948 @table @code
949 @item maxtayorder
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.
954 @item taylordepth
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
973 angenommen.
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
978 werden.
979 @end table
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
988 @c grouped together.
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.
997 Beispiele:
999 @example
1000 (%i1) taylor (sqrt (sin(x) + a*x + 1), x, 0, 3);
1001                            2             2
1002              (a + 1) x   (a  + 2 a + 1) x
1003 (%o1)/T/ 1 + --------- - -----------------
1004                  2               8
1006                                    3      2             3
1007                                (3 a  + 9 a  + 9 a - 1) x
1008                              + -------------------------- + . . .
1009                                            48
1010 (%i2) %^2;
1011                                     3
1012                                    x
1013 (%o2)/T/           1 + (a + 1) x - -- + . . .
1014                                    6
1015 (%i3) taylor (sqrt (x + 1), x, 0, 5);
1016                        2    3      4      5
1017                   x   x    x    5 x    7 x
1018 (%o3)/T/      1 + - - -- + -- - ---- + ---- + . . .
1019                   2   8    16   128    256
1020 (%i4) %^2;
1021 (%o4)/T/                  1 + x + . . .
1022 (%i5) product ((1 + x^i)^2.5, i, 1, inf)/(1 + x^2);
1023                          inf
1024                         /===\
1025                          ! !    i     2.5
1026                          ! !  (x  + 1)
1027                          ! !
1028                         i = 1
1029 (%o5)                   -----------------
1030                               2
1031                              x  + 1
1032 (%i6) ev (taylor(%, x,  0, 3), keepfloat);
1033                                2           3
1034 (%o6)/T/    1 + 2.5 x + 3.375 x  + 6.5625 x  + . . .
1035 (%i7) taylor (1/log (x + 1), x, 0, 3);
1036                                2       3
1037                  1   1   x    x    19 x
1038 (%o7)/T/         - + - - -- + -- - ----- + . . .
1039                  x   2   12   24    720
1040 (%i8) taylor (cos(x) - sec(x), x, 0, 5);
1041 @group
1042                                 4
1043                            2   x
1044 (%o8)/T/                - x  - -- + . . .
1045                                6
1046 @end group
1047 (%i9) taylor ((cos(x) - sec(x))^3, x, 0, 5);
1048 (%o9)/T/                    0 + . . .
1049 (%i10) taylor (1/(cos(x) - sec(x))^3, x, 0, 5);
1050                                                2          4
1051             1     1       11      347    6767 x    15377 x
1052 (%o10)/T/ - -- + ---- + ------ - ----- - ------- - --------
1053              6      4        2   15120   604800    7983360
1054             x    2 x    120 x
1056                                                           + . . .
1057 (%i11) taylor (sqrt (1 - k^2*sin(x)^2), x, 0, 6);
1058                2  2       4      2   4
1059               k  x    (3 k  - 4 k ) x
1060 (%o11)/T/ 1 - ----- - ----------------
1061                 2            24
1063                                     6       4       2   6
1064                                (45 k  - 60 k  + 16 k ) x
1065                              - -------------------------- + . . .
1066                                           720
1067 (%i12) taylor ((x + 1)^n, x, 0, 4);
1068                       2       2     3      2         3
1069                     (n  - n) x    (n  - 3 n  + 2 n) x
1070 (%o12)/T/ 1 + n x + ----------- + --------------------
1071                          2                 6
1073                                4      3       2         4
1074                              (n  - 6 n  + 11 n  - 6 n) x
1075                            + ---------------------------- + . . .
1076                                           24
1077 (%i13) taylor (sin (y + x), x, 0, 3, y, 0, 3);
1078                3                 2
1079               y                 y
1080 (%o13)/T/ y - -- + . . . + (1 - -- + . . .) x
1081               6                 2
1083                     3                       2
1084                y   y            2      1   y            3
1085           + (- - + -- + . . .) x  + (- - + -- + . . .) x  + . . .
1086                2   12                  6   12
1087 (%i14) taylor (sin (y + x), [x, y], 0, 3);
1088 @group
1089                      3        2      2      3
1090                     x  + 3 y x  + 3 y  x + y
1091 (%o14)/T/   y + x - ------------------------- + . . .
1092                                 6
1093 @end group
1094 (%i15) taylor (1/sin (y + x), x, 0, 3, y, 0, 3);
1095 @group
1096           1   y              1    1               1            2
1097 (%o15)/T/ - + - + . . . + (- -- + - + . . .) x + (-- + . . .) x
1098           y   6               2   6                3
1099                              y                    y
1101                                            1            3
1102                                       + (- -- + . . .) x  + . . .
1103                                             4
1104                                            y
1105 @end group
1106 (%i16) taylor (1/sin (y + x), [x, y], 0, 3);
1107                              3         2       2        3
1108             1     x + y   7 x  + 21 y x  + 21 y  x + 7 y
1109 (%o16)/T/ ----- + ----- + ------------------------------- + . . .
1110           x + y     6                   360
1111 @end example
1112 @end deffn
1114 @c --- 28.02.2011 DK -----------------------------------------------------------
1115 @anchor{taylordepth}
1116 @defvr {Optionsvariable} taylordepth
1117 Standardwert: 3
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}
1124 @end defvr
1126 @c --- 28.02.2011 DK -----------------------------------------------------------
1127 @anchor{taylorinfo}
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}.
1136 Beispiele:
1138 @example
1139 (%i1) taylor ((1 - y^2)/(1 - x), x, 0, 3, [y, a, inf]);
1140                   2                       2
1141 (%o1)/T/ - (y - a)  - 2 a (y - a) + (1 - a )
1143          2                        2
1144  + (1 - a  - 2 a (y - a) - (y - a) ) x
1146          2                        2   2
1147  + (1 - a  - 2 a (y - a) - (y - a) ) x
1149          2                        2   3
1150  + (1 - a  - 2 a (y - a) - (y - a) ) x  + . . .
1151 (%i2) taylorinfo(%);
1152 (%o2)               [[y, a, inf], [x, 0, 3]]
1153 @end example
1154 @end deffn
1156 @c --- 28.02.2011 DK -----------------------------------------------------------
1157 @anchor{taylorp}
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}.
1162 @end deffn
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} 
1172 @c series.
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.
1185 @end defvr
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 
1195 @c Taylor series.
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.
1203 @end defvr
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
1217 @code{SIMPLIFY}.
1218 @end defvr
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 
1231 @c precison.
1233 Hat die Optionsvariable @code{taylor_truncate_polynomials} den Wert
1234 @code{false}, wird das Ergebnis der Reihenentwicklung eines Polynoms als exakt
1235 angenommen.
1237 Beispiel:
1239 @example
1240 (%i1) taylor(x^6+x^4+x^2,x,0,4),taylor_truncate_polynomials:true;
1241                           2    4
1242 (%o1)/T/                 x  + x  + . . .
1243 (%i2) taylor(x^6+x^4+x^2,x,0,4),taylor_truncate_polynomials:false;
1244                               2    4
1245 (%o2)/T/                     x  + x
1246 @end example
1247 @end defvr
1249 @c --- 28.02.2011 DK -----------------------------------------------------------
1250 @anchor{taytorat}
1251 @deffn {Funktion} taytorat (@var{expr})
1253 Konvertiert den Ausdruck @var{expr} von der speziellen Darstellung einer
1254 Taylorreihenentwicklung in eine CRE-Form.
1256 Beispiel:
1258 @example
1259 (%i1) taylor(atan(x),x,0,5);
1260                             3    5
1261                            x    x
1262 (%o1)/T/               x - -- + -- + . . .
1263                            3    5
1264 (%i2) taytorat(%);
1265 @group
1266                           5      3
1267                        3 x  - 5 x  + 15 x
1268 (%o2)/R/               ------------------
1269                                15
1270 @end group
1271 @end example
1272 @end deffn
1274 @c --- 28.02.2011 DK -----------------------------------------------------------
1275 @anchor{trunc}
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.
1282 Beispiel:
1284 @example
1285 (%i1) expr: x^2 + x + 1;
1286                             2
1287 (%o1)                      x  + x + 1
1288 (%i2) trunc (expr);
1289                                 2
1290 (%o2)                  1 + x + x  + . . .
1291 (%i3) is (expr = trunc (expr));
1292 (%o3)                         true
1293 @end example
1294 @end deffn
1296 @c --- 28.02.2011 DK -----------------------------------------------------------
1297 @anchor{verbose}
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 
1303 ausgegeben.
1304 @end defvr
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 -----------------------------------------------------------------------------
1314 @anchor{intopois}
1315 @deffn {Function} intopois (@var{a})
1317 Converts @var{a} into a Poisson encoding.
1318 @end deffn
1320 @c NEED EXAMPLES HERE
1322 @c -----------------------------------------------------------------------------
1323 @anchor{outofpois}
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 
1330 particular type.
1331 @end deffn
1333 @c NEED MORE INFO HERE
1334 @c NEED EXAMPLES HERE
1336 @c -----------------------------------------------------------------------------
1337 @anchor{poisdiff}
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.
1342 @end deffn
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 -----------------------------------------------------------------------------
1350 @anchor{poisexpt}
1351 @deffn {Function} poisexpt (@var{a}, @var{b})
1353 Functionally identical to @code{intopois (@var{a}^@var{b})}. @var{b} must be a
1354 positive integer.
1355 @end deffn
1357 @c WHAT IS THIS ABOUT ??
1359 @c -----------------------------------------------------------------------------
1360 @anchor{poisint}
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.
1365 @end deffn
1367 @c -----------------------------------------------------------------------------
1368 @anchor{poislim}
1369 @defvr {Option variable} poislim
1370 Default value: 5
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)].
1375 @end defvr
1377 @c UMM, WHAT IS THIS ABOUT EXACTLY ?? EXAMPLES NEEDED
1379 @c -----------------------------------------------------------------------------
1380 @anchor{poismap}
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.
1387 @end deffn
1389 @c REPHRASE WITHOUT USING THE TERM "FUNCTIONALLY IDENTICAL"
1391 @c -----------------------------------------------------------------------------
1392 @anchor{poisplus}
1393 @deffn {Function} poisplus (@var{a}, @var{b})
1395 Is functionally identical to @code{intopois (a + b)}.
1396 @end deffn
1398 @c -----------------------------------------------------------------------------
1399 @anchor{poissimp}
1400 @deffn {Function} poissimp (@var{a})
1402 Converts @var{a} into a Poisson series for @var{a} in general representation.
1403 @end deffn
1405 @c MORE INFO NEEDED HERE
1407 @c -----------------------------------------------------------------------------
1408 @anchor{poisson}
1409 @defvr {Special symbol} poisson
1411 The symbol @code{/P/} follows the line label of Poisson series expressions.
1412 @end defvr
1414 @c -----------------------------------------------------------------------------
1415 @anchor{poissubst}
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., 
1422 @code{6*u + 4*v}).
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)}.
1435 @end deffn
1437 @c REPHRASE WITHOUT USING THE TERM "FUNCTIONALLY IDENTICAL"
1439 @c -----------------------------------------------------------------------------
1440 @anchor{poistimes}
1441 @deffn {Function} poistimes (@var{a}, @var{b})
1443 Is functionally identical to @code{intopois (@var{a}*@var{b})}.
1444 @end deffn
1446 @c HOW DOES THIS WORK ?? NEED MORE INFO AND EXAMPLES
1448 @c -----------------------------------------------------------------------------
1449 @anchor{poistrim}
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.
1457 @end deffn
1459 @c -----------------------------------------------------------------------------
1460 @anchor{printpois}
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.
1465 @end deffn
1467 @c -----------------------------------------------------------------------------
1468 @node Kettenbr@"uche, , Poisson Reihen, Summen Produkte und Reihen
1469 @section Kettenbr@"uche
1470 @c -----------------------------------------------------------------------------
1472 @c -----------------------------------------------------------------------------
1473 @anchor{cf}
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
1491 period.
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}.
1499 Examples:
1501 @itemize @bullet
1502 @item
1503 @var{expr} is an expression comprising continued fractions and square roots of integers.
1505 @example
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]
1510 @end example
1512 @item
1513 @code{cflength} controls how many periods of the continued fraction
1514 are computed for algebraic, irrational numbers.
1516 @example
1517 (%i1) cflength: 1$
1518 (%i2) cf ((1 + sqrt(5))/2);
1519 (%o2)                    [1, 1, 1, 1, 2]
1520 (%i3) cflength: 2$
1521 (%i4) cf ((1 + sqrt(5))/2);
1522 (%o4)               [1, 1, 1, 1, 1, 1, 1, 2]
1523 (%i5) cflength: 3$
1524 (%i6) cf ((1 + sqrt(5))/2);
1525 (%o6)           [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2]
1526 @end example
1528 @item
1529 A continued fraction can be evaluated by evaluating the arithmetic representation
1530 returned by @code{cfdisrep}.
1532 @example
1533 (%i1) cflength: 3$
1534 (%i2) cfdisrep (cf (sqrt (3)))$
1535 (%i3) ev (%, numer);
1536 (%o3)                   1.731707317073171
1537 @end example
1539 @item
1540 Maxima does not know about operations on continued fractions outside of @code{cf}.
1542 @example
1543 (%i1) cf ([1,1,1,1,1,2] * 3);
1544 (%o1)                     [4, 1, 5, 2]
1545 (%i2) cf ([1,1,1,1,1,2]) * 3;
1546 (%o2)                  [3, 3, 3, 3, 3, 6]
1547 @end example
1549 @end itemize
1550 @end deffn
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, ...]}.
1562 @example
1563 (%i1) cf ([1, 2, -3] + [1, -2, 1]);
1564 (%o1)                     [1, 1, 1, 2]
1565 (%i2) cfdisrep (%);
1566                                   1
1567 (%o2)                     1 + ---------
1568                                     1
1569                               1 + -----
1570                                       1
1571                                   1 + -
1572                                       2
1573 @end example
1574 @end deffn
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}.
1582 @example
1583 (%i1) cf (rat (ev (%pi, numer)));
1585 `rat' replaced 3.141592653589793 by 103993/33102 =3.141592653011902
1586 (%o1)                  [3, 7, 15, 1, 292]
1587 (%i2) cfexpand (%); 
1588                          [ 103993  355 ]
1589 (%o2)                    [             ]
1590                          [ 33102   113 ]
1591 (%i3) %[1,1]/%[2,1], numer;
1592 (%o3)                   3.141592653011902
1593 @end example
1594 @end deffn
1596 @c -----------------------------------------------------------------------------
1597 @defvr {Option variable} cflength
1598 Default value: 1
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.
1604 @example
1605 (%i1) cflength: 1$
1606 (%i2) cf ((1 + sqrt(5))/2);
1607 (%o2)                    [1, 1, 1, 1, 2]
1608 (%i3) cflength: 2$
1609 (%i4) cf ((1 + sqrt(5))/2);
1610 (%o4)               [1, 1, 1, 1, 1, 1, 1, 2]
1611 (%i5) cflength: 3$
1612 (%i6) cf ((1 + sqrt(5))/2);
1613 (%o6)           [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2]
1614 @end example
1615 @end defvr
1617 @c --- End of file Series.de.texi ----------------------------------------------