1.) Der Körper der komplexen Zahlen Aufbauend auf: "Gruppen- und Körperaxiome", "Der Körper der reellen Zahlen"(, "Restklassenkörper der Polynomalgebra " - nur der freiwillige Teil) Aufgaben: 4 > restart; with(plots): Die komplexen Zahlen runden unsere Einsichten über reelle Zahlen in sehr überraschender Weise ab und bilden ihrerseits den Ausgangspunkt vieler analytischer, geometrischer und algebraischer Theorien. Darüberhinaus finden sie viele Anwendungen auch außerhalb der Mathematik. Sie sind von grundlegender Bedeutung. BEZEICHNUNG: Körper der komplexen Zahlen. Konstruktion von aus MATH: Man kann die komplexen Zahlen als Paare reeller Zahlen einführen: mit komponentenweiser Addition: und etwas komplizierter Multiplikation: An dieser Stelle brauchen wir keine Äquivalenzrelation. MAPLE: Mit der Schreibweise I für reproduziert Maple diese Regeln. Achtung: Maple benutzt ein großes I , anstatt wie sonst üblich ein kleines : > Complex(1,3); (1.1.1) MAPLE: Parameter werden vom e v a l c-Kommando immer als reelle Parameter interpretiert! > evalc((a+b*I)+(c+I*d)); (1.1.2) > evalc((a+b*I)*(c+I*d)); (1.1.3) Das Geheimnis dieser komplizierten Multiplikation offenbart sich, wenn man an das Distributivgesetz denkt und an > I^2; (1.1.4) MAPLE: Man kann die Körperaxiome für mit Maple verifizieren. Zum Beispiel das Assoziativgesetz der Addition: > evalc(evalc((a+b*I)+(c+I*d))+(e+I*f)); evalc((a+b*I)+evalc((c+I*d)+(e+I*f))); evalb(%=%%); (1.1.5) true (1.1.5) Freiwillige ÜBUNG: 1) Warum beweist dies bereits, dass das Assoziativgesetz für gilt? 2) Verifiziere analog alle anderen Körperaxiome für mit Maple. Komplexe Konjugation MATH: Es ist klar, dass der Körper nicht angeordnet werden kann, denn sowohl I als auch I führen sehr schnell zu Widersprüchen. Es gibt aber eine sehr interessante Abbildung von in sich, die den Zusammenhang von mit dem angeordneten Körper der reellen Zahlen ins Licht rückt: das komplexe Konjugieren. > evalc(conjugate(a+b*I)); (1.2.1) Die wichtigsten Eigenschaften des komplexen Konjugierens sind seine Additivität und Multiplikativität: > conjugate((a+b*I)+(c+d*I))=conjugate(a+b*I)+conjugate(c+d*I); (1.2.2) > is(evalc(%)); true (1.2.3) > conjugate((a+b*I)*(c+d*I))=conjugate(a+b*I)*conjugate(c+d*I); (1.2.4) > is(evalc(%)); true (1.2.5) MATH: Die reellen Zahlen sind innerhalb der komplexen Zahlen dadurch gekennzeichnet, dass sie beim komplexen Konjugieren fest bleiben: > solve(evalc(conjugate(a+b*I))=a+b*I,{a,b}); (1.2.6) MATH: Die reellen Vielfachen von heißen rein imaginäre Zahlen. Sie sind dadurch gekennzeichnet, dass sie beim komplexen Konjugieren auf ihr Negatives abgebildet werden: > solve(evalc(conjugate(a+b*I))=-(a+b*I),{a,b}); (1.2.7) MATH: Das Produkt einer komplexen Zahl mit ihrer komplex Konjugierten heißt die Norm der Zahl. Die Norm ist immer reell und nicht-negativ: > evalc((a+b*I)*conjugate(a+b*I)); (1.2.8) MATH: Man kann die letzte Gleichung auch so lesen, dass die komplex Konjugierte dividiert durch die Norm gleich der Inversen ist: > w:=evalc(1/(a+b*I)); (1.2.9) (1.2.9) > normal(evalc(w*(a+b*I))); 1 (1.2.10) 1 (1.2.11) > normal(evalc((a+b*I)*w)); MATH: Die Wurzel aus der Norm heißt auch der Absolutbetrag der komplexen Zahl. Sie stellt ein Maß für die "Größe" einer komplexen Zahl dar und ist als Funktion von nach eine Fortsetzung des Absolutbetrags für reelle Zahlen: > abs(2+6*I), sqrt(evalc((a+b*I)*conjugate(a+b*I))); (1.2.12) MATH: Die Summe einer komplexen Zahl mit ihrer komplex Konjugierten ist ebenfalls reell. Die halbe Summe, also das arithmetische Mittel der beiden komplexen Zahlen, heißt der Realteil der komplexen Zahl: > evalc((a+b*I)+conjugate(a+b*I))/2; a (1.2.13) Dazu existiert in MAPLE das Kommando Re: > evalc(Re(a+b*I)); a (1.2.14) Entsprechend definiert man den Imaginärteil der komplexen Zahl I: > evalc((a+b*I)-conjugate(a+b*I))/(2*I); b (1.2.15) Dazu existiert im MAPLE das Kommando Im: > evalc(Im(a+b*I)); b (1.2.16) > Re(3+5*I), Im(3+5*I); (1.2.17) ÜBUNG [01]: Sei Zeige: eine Funktion und ihr komplex Konjugiertes. Die Gaußsche Zahlenebene Wir wollen die komplexen Zahlen in der Ebene visualisieren. Ausgangspunkt ist ein rechtwinkliges Achsenkreuz: Eine Achse (üblicherweise waagerecht gezeichnet) heißt reelle Achse, weil darauf der Realteil der darzustellenden Zahl abgetragen wird. Die andere Achse heißt imaginäre Achse, weil darauf der Imaginärteil abgetragen wird. Häufig verbindet man 0 mit durch eine Strecke, die dann die Diagonale in einem Rechteck ist, welches I als Ecken hat: > complexplot([2+I], view=[-1..3,-1..2],scaling=constrained, style=point, symbol=circle); Hier ist noch eine Version, die auch das Rechteck einzeichnet: > z:=2+I; > re:=complexplot([0,Re(z),z,Im(z)*I,0],thickness=2,colour= black): za:=complexplot([0,z],thickness=2,colour=red): display({za,re},view=[-1..3,-1..2],scaling=constrained); Das folgende Programm gibt eine eine komplexe Zahl zusammen mit ihrer Konjugierten aus. Die geometrische Interpretation der komplexen Konjugation ist die Orthogonalspiegelung an der reellen Achse. > PLO:=proc(z::complex) local r,rc,za,zb; r:=complexplot([0,Re(z),z,Im(z)*I,0],thickness=2,colour= black): rc:=complexplot([0,Re(z),conjugate(z),-Im(z)*I,0], thickness=1,colour=black): za:=complexplot([0,z],thickness=2,colour=red): zb:=complexplot([0,conjugate(z)],thickness=1,colour=red): display({r,rc,za,zb},scaling=constrained); end proc: > PLO(1+2*I); MATH: Die Länge der Diagonalen des Rechtecks, also die Strecke von 0 nach z ist gerade der Absolutbetrag von z, also die Quadratwurzel aus der Norm. Dies folgt sofort aus dem Satz von Pythagoras. MATH: Aus der Rechteck-Diagonal-Darstellung der komplexen Zahlen leitet man sofort die geometrische Interpretation der Addition komplexer Zahlen gemäß der Parallelogrammregel her, die wir hier kurz (ohne Rechtecke) visualisieren (SuduPar steht für "Summe durch Parallelogrammregel") : > SuduPar:=proc(a::complex,b::complex) local r,s,t; r:=complexplot([a,0,b],thickness=2, colour=blue); s:=complexplot([a,a+b,b],thickness=2, colour=black); t:=complexplot([0,a+b],thickness=2, colour=red); display({r,s,t},view=[-1..3,-2..2],scaling=constrained); end proc: > SuduPar(1/2+I,2-3/2*I); MATH: Eine bessere geometrische Einsicht, was es mit der Summe auf sich hat, erhält man, indem man für eine feste komplexe Zahl a die Abbildung betrachtet und diese visualisiert: bedeutet geometrisch eine Verschiebung oder mathematischer gesprochen - eine Translation um . Dies visualisiert man am besten dadurch, dass man auf eine Teilmenge von , also eine ebene Figur, elementweise anwendet (vissum steht für "visualisiere Summe"): > vissum:=proc(a::complex) local l,apl,figur; figur:=[0,1/2,1+I/6,(1+I)/6,1/6+I,I,0]; l:=complexplot(figur,thickness=2,colour=red); apl:=complexplot(map(z->z+a,figur),thickness=2,colour=blue) ; display({l,apl},view=[-1..2,-1..2],axes=NORMAL,scaling= constrained); end proc: > vissum((3-I)/5); MATH: Die geometrische Interpretation der Multiplikation lautet wie folgt: Ist I mit eine feste komplexe Zahl, die von Null verschieden ist, so induziert die Multiplikation mit eine Drehstreckung. Hierbei ist der Drehwinkel gleich und der Streckfaktor gleich dem Absolutbetrag von . Auf den Beweis verzichten wir an dieser Stelle, aber wir wollen analog zu Multiplikation mit einer festen komplexen Zahl visualisieren als Abbildung die Hier ist ein Programm, welches analog zu dem Programm vissum von ist: > visprod:=proc(a::complex) local l,aml,figur; figur:=[0,1/2,1+I/6,(1+I)/6,1/6+I,I,0]; l:=complexplot(figur,thickness=2,colour=red); aml:=complexplot(map(z->z*a,figur),thickness=2,colour=blue) ; display({l,aml},view=[-1..2,-1..2],axes=NORMAL,scaling= constrained); end proc: > visprod((1-I)); DENKANSTOSS: Beim Experimentieren mit visprod setze man 1) positive reelle Zahlen ein und 2) komplexe Zahlen vom Absolutbetrag 1 (letztere erzeugt man aus durch z / a b s ( z ) und kann man sich am besten als für wie oben beschrieben, vorstellen). Was passiert in diesen beiden Fällen? MATH: Jede komplexe Zahl kann in eindeutiger Weise als Produkt einer positiven reellen Zahl (dem Absolutbetrag von a) mit einer Zahl vom Absolutbetrag 1 ( dargestellt werden. Man nennt das auch Polarzerlegung: > PolZer:=proc(z::complex) return abs(z),z/abs(z); > end proc: > PolZer(3+5*I); `*`(%); (1.3.1) Der rechte Ausdruck kann in MAPLE auch durch das Kommando signum bestimmt werden: > signum(3+5*I); (1.3.2) ÜBUNG [02]: Benutze die Polarzerlegung, um in zwei Stufen zu visualisieren: Erst durch und dann durch . Also geometrisch gesprochen: Erst eine Streckung, dann eine Drehung. (Man kann auch in umgekehrter Reihenfolge vorgehen, da das Kommutativgesetz für die Multiplikation komplexer Zahlen gilt. Allerdings bekommt man dann eine andere Visualisierung: Erst die gedrehte, dann die drehgestreckte Figur.) MATH: Eine weitere Art, die Abbildung zu visualisieren, besteht darin, dass man sie mehrmals auf eine feste Zahl anwendet, d. h. man betrachtet , etc. Wir sehen dann, dass bei immer wieder derselbe Drehwinkel auftaucht. Mit etwas Phantasie erkennt man auch den konstanten Streckfaktor an der Ähnlichkeit der entstehenden Dreiecke ("itMult" steht für "iteriere Multiplikation von z mit a n-mal"): > ItMult:=proc(z::complex,a::complex,n::posint) local i,pl; pl:=complexplot([0,z],colour=red); for i from 1 to n do pl:=pl,complexplot([0,a^i*z],colour=red); pl:=pl,complexplot([a^(i-1)*z,a^i*z],colour=blue); end do; display({pl},view=[-1.5..1.5,-1.5..1.5],scaling= constrained); end proc: > ItMult(1+I,(1+I/2)*5/6,20); MATH: Übrigens werden wir später lernen, dass man auch komplexe Zahlen mit reellen Exponenten potenzieren kann. Dann bekommen wir eine glatte Version (Version ohne Ecken) des letzten Bildes: > ItMultgla:=proc(z::complex,a::complex,n::posint) local j,pl; pl:=complexplot([0,z],colour=red); for j from 1 to n do pl:=pl,complexplot([0,a^j*z],colour=red); end do; pl:=pl,complexplot(a^i*z,i=0..n,colour=blue); display({pl},view=[-1.5..1.5,-1.5..1.5],scaling= constrained); end proc: > ItMultgla(1+I,(1+I/2)*5/6,20); und reelle Polynome MATH: Die komplexen Zahlen wurden aus den reellen Zahlen und einer Lösung von konstruiert. > solve(x^2+1=0,x); (1.4.1) > solve(x^2+3*x+5=0,x); (1.4.2) ÜBUNG [03]: 1) Zeige: Jedes quadratische Polynom mit reellen Koeffizienten hat eine komplexe Nullstelle und zerfällt daher über den komplexen Zahlen in ein Produkt von Linearfaktoren. 2) Wie bekommt man aus einer Nullstelle die andere, falls sie nicht reell ist? 3) Sei nun ein Polynom beliebigen Grades mit reellen Koeffizienten und eine Nullstelle von . Zeige: , das komplex Konjugierte von ist ebenfalls eine Nullstelle von . Hinweis zu 1): Hier ist ein guter Zeitpunkt, die HiWis nach Ansätzen zu fragen. > discrim(x^2+a*x+b,x); (1.4.3) Weitere Konstruktionen der Komplexen Zahlen (freiwillig - basiert auf linearer Algebra) MATH: Wegen / definieren kann. sieht man schnell ein, dass man als freiwillig ÜBUNG: 1) Stelle wie im Abschnitt "Restklassenkörper der Polynomalgebra " den Körper mit als Teilring des (für das richtige ) dar. 2) Wie sehen komplexe Konjugation, Realteil und Imaginärteil in dieser Darstellung aus? (Hinweis: Benutze jeweils die oben angegebenen Definitionen und setze Matrizen ein.) MATH: Der Körper der komplexen Zahlen ist algebaisch abgeschlossen. Das bedeutet, dass jedes nichttriviale (d.h. von Grad ) komplexe Polynom eine komplexe Nullstelle hat. Beispiele: > factor(x^2+1); factor(x^2+1,I); (1.6.1) > factor(x^2+I*x+1,sqrt(5)); (1.6.2) > factor(x^2-2*x+1+2*I); (1.6.3) Ein Beweis, dass algebaisch abgeschlossen ist, liegt noch ausserhalb unserer Mittel. (Man kann ihn zum Beispiel mit Hilfe von Galoistheorie, dem Abbildungsgrad oder holomorphen Funktionen führen.) Wir wollen aber zumindest einen Spezialfall betrachten. ÜBUNG [04]: 1) Zeige, dass die Abbildung surjektiv ist. Hinweis: Das bedeutet, dass man zeigen muss, dass eine Wurzel existiert. Am sinnvollsten geht dies mit Hilfe der Polarzerlegung. 2) Beschreibe die Fasern der obigen Abbildung . 3) Folgere aus Teil 1, dass jedes komplexe quadratische Polynom mit mindestens eine Nullstelle in C hat und damit in ein Produkt von zwei Linearfaktoren zerfällt. 2.)Definition von Folgen und einige wichtige Beispiele Aufbauend auf den Abschnitten: "Rekursion und Induktion: Rechnen mit natürlichen Zahlen", "Der Körper der reellen Zahlen", "Der Körper der komplexen Zahlen" Aufgaben: 6 Hinweis: Am Ende des Abschnittes sollen die Begriffsbildungen nochmals unter dem Aspekt der Vektorräume und linearen Abbildungen betrachtet werden. Möglicherweise ist es eine Hilfe, dies direkt zu tun, möglicherweise ist es aber besser, du gehst diesen Abschnitt zweimal durch. > restart; Grundlegende Definitionen Folgen haben diverse außermathematische Anwendungen, z. B. bei Zeitreihen; innermathematisch spielen sie an vielen Stellen eine Rolle. Sie sind ein grundlegendes mathematisches Konzept, welches sich natürlich unter das Funktionenkonzept subsummiert. MATH: Folgen, genauer unendliche -wertige Folgen, sind Abbildungen von der Menge der natürlichen Zahlen in eine Menge . Sie werden oft geschrieben als , womit gemeint ist . Für uns sind zunächst reellwertige Folgen interessant, d. h. ist die Menge der reellen Zahlen. Die Menge der -wertigen Folgen bezeichnen wir mit . MAPLE: Das MAPLE-Kommando seq lässt nur endliche Folgen zu. Deshalb werden wir Folgen als Abbildungen in MAPLE definieren, wobei uns klar sein muss, dass der Definitionsbereich ; ist. MAPLE weiß das nicht! Man kann es MAPLE mitteilen, bekommt aber dann bei gewissen Operationen Schwierigkeiten, die wir erst später sehen werden: > a:=(i::posint)->i^2; (2.1.1) > a(12); 144 (2.1.2) > map(a,[$1..20]); (2.1.3) Da diese Folge natürliche Zahlen als Werte annimmt, kann man sie mit sich selber komponieren (im Sinne von zweimal hintereinander anwenden) und bekommt wieder eine Folge: > (a@a)(2); 16 (2.1.4) > map(a@a,[$1..10]); (2.1.5) Man sieht, dass die Folge der 4. Potenzen aus der Folge der Quadrate als Teilfolge konstruiert werden kann, wobei man sich bei einer Teilfolge vorstellt, dass Glieder der ursprünglichen Folge weggelassen wurden. MATH: Eine reellwertige Folge heißt streng monoton steigend, falls für alle gilt. (Entsprechend definiert man die Begriffe "monoton steigend", "streng monoton fallend" und "monoton fallend", indem man durch , bzw. ersetzt.) Eine Teilfolge einer Folge ist die Komposition Folge mit Wertebereich . > g:=(i::posint)->2*i+3; von mit einer streng monoton steigenden (2.1.6) > map(a@g,[$1..20]); (2.1.7) > g(i); Error, invalid input: g expects its 1st argument, i, to be of type posint, but received i An dieser Stelle bezahlen wir, dass wir Maple verraten haben, dass wir nur die natürlichen Zahlen als Input für g erlauben: Auf der Ebene der Programminputüberprüfung merkt Maple nicht, dass hier für eine natürliche Zahl steht. > g:=i->2*i+3; (2.1.8) > g(i); (2.1.9) Differenzenoperator, arithmetische und geometrische Progressionen MATH: Zum Analysieren von Folgen ist der (Rückwärts-)Differenzenoperator von grundlegender Wichtigkeit. In der Analysis ist man nämlich an sehr feinen Wachstumseigenschaften von Folgen interessiert. Ist eine Folge (in zwei verschiedenen Schreibweisen), so ist die (erste) Differenzenfolge von definiert durch: > Delta:=proc(f::procedure) local i; unapply(f(i+1)-f(i),i) end proc; (2.2.1) MAPLE: Hier steht unapply(f(i+1)-f(i),i) anstelle von i -> f(i+1)-f(i), damit die Differenz f(i+1)f(i) bereits vor dem Einsetzen von i schon ausgewertet bzw. vereinfacht wird, was bei der PfeilSchreibweise nicht der Fall wäre. Man beachte weiter, dass wir oben den Wertebereich der Folge nicht angegeben haben. Es sollte natürlich ein Bereich sein, in dem man Differenzen bilden kann, etwa ein Körper, z. B. . Sei wieder > g:=i->2*i+3; (2.2.2) dann ist > Delta(g); (2.2.3) Also ist das Ergebnis eine konstante Folge mit Wert 2. Insbesondere war streng monoton steigend, denn ist positiv, d. h. für alle . MATH: Eine Folge mit konstanter Differenzenfolge heißt arithmetische Progression. ÜBUNG [01]: Gib arithmetische Progressionen allgemein in Abhängigkeit von und an. MATH: Die nächst schwierigeren Folgen sind diejenigen, deren Differenzenfolge eine arithmetische Progression ist. > Del2:=Delta@Delta; (2.2.4) Sei wieder: > a:=(i::posint)->i^2; (2.2.5) Wir werden also Schiffbruch erleiden: > Del2(a); Error, (in Delta) invalid input: a expects its 1st argument, i, to be of type posint, but received i+1 Wir setzen wieder > a:=i->i^2; (2.2.6) und erhalten nun: > Del2(a); (2.2.7) Damit sind wir aber immer noch nicht zufrieden. Wir verbessern unser Programm Delta ein wenig: > Delta:=proc(f::procedure) local i; unapply(expand(f(i+1)-f(i)),i) end proc: und erhalten schließlich: > Del2(a); (2.2.8) Man kann sich vorstellen, wie das weitergeht. Hier eine Wiederholung der Rechenoperationen von Folgen, die aus denen von Abbildungen folgen: MATH: Da man reelle Zahlen addieren und multiplizieren kann, kann man dies auch für reelle Folgen machen, nämlich werteweise. Z. B. bei der Multiplikation von Folgen und : . Ebenso lassen sich Folgen mit reellen Zahlen (Konstanten) multiplizieren. Die reellwertigen Folgen bilden also einen Ring, wie man nachrechnen kann. Hier einige Beispiele: > (a+g)(12); 171 (2.2.9) 2300 (2.2.10) 17 (2.2.11) > (a*g)(10); > (13+a)(2); > (13*a)(2); 52 (2.2.12) MAPLE: Dem letzten Beispiel liegt ein konstruktiver Trick von Maple zugrunde, nämlich: . Überzeuge dich: > 13(2); 13 (2.2.13) Das bedeutet, dass MAPLE 13 sowohl als die Zahl 13 , als auch als die konstante Abbildung interpretiert (für eine nicht näher definierte Menge ). MATH: Eine Folge , deren Differenzenfolge Progression. > b:=i->5*3^i; ein Vielfaches von ist, heißt geometrische (2.2.14) > Delta(b)(i); (2.2.15) Vergleiche mit: > (2*b)(i); (2.2.16) ÜBUNG [02]: Schreibe alle geometrischen Progressionen in Abhängigkeit von und der Zahl hin, wobei durch definiert ist. DENKANSTOSS: Wie kann man einfache Zinsrechnung mit arithmetischen Progressionen simulieren? Was haben geometrische Progressionen mit Zinseszinsrechnung zu tun? Vergleiche die beiden. Eine alternative Datenstruktur MAPLE: Die letzte Rechnung hat gezeigt, dass unsere Datenstruktur für Folgen als Funktionen aufgefasst manchmal etwas umständlich ist. Falls für ein geschlossener Ausdruck wie etwa bei arithmetischen Progressionen oder bei geometrischen Progressionen existiert, so genügt es, diesen anzugeben. Man muss dann aber die Disziplin haben, immer (oder einen anderen fest gewählten Variablennamen) zu benutzen und sich daran zu erinnern, dass für diesen nur natürliche Zahlen eingesetzt werden dürfen. > A:=a(n); (2.3.1) > subs(n=12,A); 144 (2.3.2) > map(i->subs(n=i,A),[$1..20]); (2.3.3) MAPLE: Man kommt zu der alten Datenstruktur zurück durch: > unapply(A,n); (2.3.4) > G:=g(n); (2.3.5) Komposition und Differenzenoperator in der neuen Datenstruktur: > tA:=subs(n=G,A); (2.3.6) > delta:=proc(a::algebraic) expand(subs(n=n+1,a)-a) end proc: > delta(A); (2.3.7) > delta(delta(A)); 2 > expand(delta(binomial(n,3))-binomial(n,2)); 0 (2.3.8) (2.3.9) MATH: Man kann nicht erwarten, dass die gerade diskutierte Datenstruktur für Folgen immer angewendet werden kann. Ist z. B. die Folge rekursiv definiert, so ist nicht klar, ob man einen geeigneten Ausdruck findet. > h:=proc(i) if i=1 then return 1 end if; > return (i^2+1)*h(i-1); end proc: > map(n->h(n),[$1..10]); (2.3.10) > h(n); Error, (in h) too many levels of recursion In diesem Fall ist es fatal, die p o s i n t-Abfrage in der Funktionsdefinition wegzulassen. Jedenfalls erwartet man im vorliegenden Fall keinen geschlossenen Ausdruck für , oder zumindest keinen, den Maple sofort hinschreiben kann. > h:=proc(i::posint) if i=1 then return 1; end if; return (i^2+1)*h(i-1); end proc: > h(n); Error, invalid input: h expects its 1st argument, i, to be of type posint, but received n Will man die Fehlermeldung oben vermeiden, muss man beim Programmieren ein wenig aufpassen: > h:=proc(i::{posint,symbol}) if i::symbol then return 'procname(args)' end if; if i=1 then return 1 end if; return (i^2+1)*h(i-1); end proc: > S:=h(i); (2.3.11) > i:=3; S; 50 (2.3.12) 22100 (2.3.13) > i:=5; S; > i:='i';S; (2.3.14) ÜBUNG [03]: Sei fest gewählt. Was liefert der Differenzenoperator angewandt auf die Folge ? (Hinweis: Benutze den Maple-Befehl binomial. Mache zunächst Experimente für kleine , wobei der Befehl expand hilfreicher ist als der Befehl s i m p l i f y. Beweise dann deine Vermutung.) > Der Summenoperator: Reihen MATH: Der Differenzenoperator ist als Abbildung surjektiv, denn es gibt ein Rechtsinverses: den Summenoperator, wie unten programmiert. Man nennt die neu entstandene Folge die zugehörige Reihe. (Wir unterscheiden uns etwas von der gewöhnlichen Nomenklatur, weil bei unseren Reihen nur bis summiert wird und sonst bis .) > Sigma:=proc(f::procedure) local i; unapply(sum(f(i),i=1..n-1),n) end proc: > a:='a'; (2.4.1) > a:=i->i^2; (2.4.2) > Sigma(a)(n); (2.4.3) > as:=Sigma(a); (2.4.4) > map(as,[$1..20]); (2.4.5) > Delta(a); (2.4.6) > aa:=Delta(Sigma(a)); (2.4.7) > simplify(aa(n)); (2.4.8) Hier ist die entsprechende Funktion für die vereinfachte Datenstruktur: > sigma:=proc(A::algebraic) local k; subs(k=n-1,sum(A,n=1..k)) end proc: > A; (2.4.9) > sigma(A); (2.4.10) > delta(sigma(A)); (2.4.11) MAPLE: Es ist in Maple zwischen den Befehlen sum und add zu unterscheiden: Bei sum sucht Maple symbolisch eine Formel und setzt eventuell danach konkrete Werte ein. Bei add werden konkrete Zahlen aufaddiert. Insbesondere kann man bei add nicht mit unbestimmten Summationsgrenzen arbeiten. ÜBUNG [04]: 1) Rechne die Summenformel für die arithmetische Reihe, also die Reihe zu der in Aufgabe 01 bestimmten arithmetischen Progression, aus. 2) Benutze Maple um die Summenformel für die geometrische Reihe auszurechnen, also die zur in Aufgabe 02 bestimmten geometrischen Progression zugehörige Reihe. Vorsicht! Bei unserem Operator wird bis Formeln für die Summe bis n. DENKANSTOSS: summiert. In der Literatur findet man die . (Teleskopsumme) Komplexwertige Folgen MATH: Bislang haben wir uns auf reellwertige Folgen beschränkt. Außer dem Konzept der Monotonie übertragen sich alle Konzepte, die wir gerade kennengelernt haben. Wir geben nur ein Beispiel, wo man mit Hilfe der komplexwertigen Folgen gewisse reellwertige besser verstehen kann. > f:=proc(n) if n=1 then return 2 end if; if n=2 then return 0 end if; return 2*f(n-1)-2*f(n-2) end proc: > map(f,[$1..20]); (2.5.1) Später werden wir lernen, dass diese Folge etwas mit dem Polynom zu tun hat. Und in der Tat, diese reelle Folge ist Summe von zwei komplexwertigen geometrischen Progressionen : > fn:=n->(1+I)^n+(1-I)^n; (2.5.2) > map(fn,[$1..20]); (2.5.3) ÜBUNG [05]: Zeige . (Beachte: es genügt nicht, nur die ersten 10 oder 20 Glieder der Folgen zu vergleichen. (Warum nicht?)) Quotienten- und Produktoperator MATH: Für - oder -wertige Folgen, also reell- oder komplexwertige Folgen, die niemals den Wert Null annehmen, ergibt es Sinn, in Analogie zum Differenzen- und Summenoperator den Quotienten- und den Produktoperator einzuführen. (Schließlich ist bzw. zusammen mit der Multiplikation eine abelsche Gruppe, genau wie bzw. mit der Addition.) Wir begnügen uns mit der ersten Datenstruktur: > QuO:=proc(a::procedure) unapply(simplify(a(n+1)/a(n)),n); end proc: > QuO(n->12); (2.6.1) Also eine konstante Folge. Die geometrische Folge wird konstant bei Anwendung des Quotientenoperators: > QuO(n->a*q^n); (2.6.2) MATH: Eine Folge mit positiven Werten ist genau dann monoton steigend, wenn Werte liefert. BEISPIEL: nur ist eine monoton steigende Folge: > a:=n->(1+1/n)^n; (2.6.3) Dies ist sicher eine positive Folge, so dass wir mit dem Quotientenoperator versuchen können, die Monotonie zu entscheiden: ist genau dann monoton steigend, wenn > QuO(a); (2.6.4) größer als 1 ist. > simplify(((n+2)/(n+1))*(n/(n+1))); (2.6.5) Also bekommt man mit Hilfe der Bernoulli-Ungleichung: . > aa:=simplify((1-n/(n+1)^2)*(1+1/(n+1))); (2.6.6) > expand(numer(aa));expand(denom(aa)); (2.6.7) (2.6.7) also . Damit ist monoton steigend. ÜBUNG [06]: Zeige, dass die Folge monoton fallend ist. > b:=n->(1+1/n)^(n+1); (2.6.8) DENKANSTOSS: Der folgende Produktoperator ist rechtsinvers zum Quotientenoperator: > PrO:=proc(a::procedure) unapply(product(a(i),i=1..n-1),n); end proc: > PrO(n->2); (2.6.9) > PrO(n->n); (2.6.10) Vektorraumaspekt (freiwillig - basiert auf linearer Algebra) MATH: Die bisherigen Ausführungen über Folgen waren elementar in dem Sinne das meistens nur einzelne Folgen betrachtet oder untersucht wurden und kein Gebrauch davon gemacht wurde, dass ein -Vektorraum ist, sofern ein Körper ist. Sicher wirst du gemerkt haben, dass viele der Operatoren lineare Abbildungen waren und dass einige Begriffsbildungen in der Linearen Algebra bereits allgemeiner angesprochen worden sind. Wir gehen in der folgenden Aufgabe der Einfachheit halber von einem Körper aus, für den für alle gilt. freiwillige ÜBUNG: Gehe den gesammten Abschnitt unter dem Vektorraumaspekt durch. Insbesondere: 1.) Ist der Differenzenoperator eine lineare Abbildung? 2.) Wie heißen die Elemente von und die von ? 3.) Was ist die Dimension von für ? Kennst du eine Basis? Kennst du sogar eine besonders schöne Basis? 4.) Wie heißen die Eigenvektoren zum Eigenwert von ? 5.) Was ist die Dimension des Eigenraumes für ? 6.) Ist der Summenoperator eine lineare Abbildung? 7.) Sind Produkt und Quotientenoperatoren auch linear? Antworte kurz, aber mit Verständnis (außer bei 3., dort kann die Antwort lang sein, aber dennoch mit Verständnis)! freiwillige ÜBUNG: Betrachte die Folge aus dem Unterabschnitt komplexwertige Folgen: 1.) Mache dir klar, dass gilt. Der Teilraum ist also -invariant. 2.) Gib die Matrix der Einschränkung von auf diesen Teilraum bzgl. der Basis an. 3.) Erkläre hiermit, warum die angegebene Zerlegung der Folge in die Summe zweier Folgen in existiert, nicht aber in .