11.07.2015 Aufrufe

Zusammenfassung: Euklidischer Algorithmus ...

Zusammenfassung: Euklidischer Algorithmus ...

Zusammenfassung: Euklidischer Algorithmus ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

angegebenen Arten). Achte dabei auf folgende Punkte:1) Ein Funktionsheader mit Eingabeüberprüfung ist bereits vorgegeben.Dieser darf (sollte?) verwendet werden.2) Der <strong>Algorithmus</strong> muss so allgemein implementiert sein, dass er mitallen Matrixklassen (und damit insbesondere mit allen Körpern)funktioniert.3) Die Implementierung muss mit rechten Seiten - Wie oben durch dieMatrix gegeben - arbeiten können.4) Sei in der Lage zu erklären, wie die einzelnen Konstruktionen für Körper,Vektorräume, Matrizen und Elementarmatrizen in der Implementierungeingehen.5) Insbesondere: Warum ist der Gaußalgorithmus nicht für Ringe, welchekeine Körper sind, durchführbar?6) Mache ein paar einfache Tests.7) Geschwindigkeit ist (hier) kein Kriterium, jedoch sollten die folgenden(kleinen) Beispiele und Übungen in diesem Abschnitt funktionieren.>Gauss:=proc(Matrixklasse,AA,BB)local A,B;A:=AA;B:=BB;if not(assigned(Matrixklasse[`Vektorraum`]) andassigned(Matrixklasse[`type`]) andassigned(Matrixklasse[`+`]) andassigned(Matrixklasse[`-`]) andassigned(Matrixklasse[`0`]) andassigned(Matrixklasse[`*`]) andassigned(Matrixklasse[`MatrixMalMatrix`]) andassigned(Matrixklasse[`MatrixMalSpalte`]) andassigned(Matrixklasse[`=`]) andMatrixklasse[`type`](A) andMatrixklasse[`type`](B))thenerror("Arguments do not match specification");fi;if not nops(A[1])=nops(B[1]) thenerror("Arguments do not match specification: inputmatrices must have equal number of rows");fi;#Hauptprogrammreturn A,B;end proc:Proben:> L:=[[1,1],[0,1]];


R:=[[1,0],[0,1]];Gauss(MQ,L,R); #[[1, 0], [0, 1]], [[1, -1], [0, 1]](2.1.1)>L2:=[[[1,1],[1,1]],[[0,1],[1,1]]];R2:=[[[1,1],[0,1]],[[0,1],[1,1]]];Gauss(MQ2,L2,R2); #[[[1, 1], [0, 1]], [[0, 1], [1, 1]]], [[[1, 1], [-1, 1]], [[0, 1], [1, 1]]]>(2.1.2)A:=[[1,1,0,2],[2,2,0,4],[3,3,0,6],[4,5,1,6],[5,11,6,-2]];MQ[`Einheitsmatrix`](4);Gauss(MQ,A,%); #[[1, 0, 0, 0], [2, 0, 0, 0], [3, 0, 0, 0],[0, 1, 0, 0], [-19, 6, 0, 0]], [[5, -1, 1, -4], [-4, 1,-1, 2], [0, 0, 1, 0], [0, 0, 0, 1]](2.1.3)>A2:=map(a->map(b->[b,1],a),A);MQ2[`Einheitsmatrix`](4);Gauss(MQ2,%%,%); #[[[1, 1], [0, 1], [0, 1], [0, 1]], [[2,1], [0, 1], [0, 1], [0, 1]], [[3, 1], [0, 1], [0, 1], [0,1]], [[0, 1], [1, 1], [0, 1], [0, 1]], [[-19, 1], [6, 1],[0, 1], [0, 1]]], [[[5, 1], [-1, 1], [1, 1], [-4, 1]], [[-4, 1], [1, 1], [-1, 1], [2, 1]], [[0, 1], [0, 1], [1,1], [0, 1]], [[0, 1], [0, 1], [0, 1], [1, 1]]](2.1.4)Vergleiche mit:> LinearAlgebra[Transpose](convert([[1,1,0,2],[2,2,0,4],[3,3,0,6],[4,5,1,6],[5,11,6,-2]],Matrix));LinearAlgebra[ReducedRowEchelonForm](%);


(2.1.5)MAPLE: Wir geben eine Implementierung für einen endlichen Körper names, welcher nicht von Primzahlordnung ist. Er hat 9 Elemente:. Wir rechnen immer modulo 3. Man machesich klar, dass dann die Multiplikation durch die Angabevollständig bestimmt ist.>alias(omega=RootOf(x^2+x+2));(2.1.6)>>F9:='F9':F9[`type`]:=a->type(a,polynom(integer,omega)):F9[`=`]:=(a,b)->evalb(evala(a) mod 3=evala(b) mod 3):F9[`+`]:=(a,b)->evala(a+b) mod 3:F9[`0`]:=0:F9[`-`]:=(a,b)->evala(a-b) mod 3:F9[`*`]:=(a,b)->evala(a*b) mod 3:F9[`1`]:=1:F9[`/`]:=(a,b)->if F9[`=`](F9[`0`],b) then error("Divisiondurch 0") else evala(a/b) mod 3 fi:F9[`type`](omega+1);F9[`*`](omega,omega);true(2.1.7)ÜBUNG [02]:1) Invertiere die Matrix> ;(2.1.8)mit Hilfe deiner Implementierung des Gaußalgorithmus.2) Mache eine Probe.MAPLE: Wir wollen nun die Implementierung auch nutzen können, um


Vektorraumoperationen (Addition und Multiplikation mit Körperelementen)sind von denen von induziert, was man auch so formulieren kann:Die Abbildung/die jeder Potenzreiheihre Äquivalenzklasse zuordnet, ist linear.ÜBUNG [02]:Zeige / ist nicht endlich erzeugt.(Hinweis: Gebe dazu (konkret) ein unendliches System von linearunabhängigen Elementen von / an. Man denke zum Beispiel anperiodische Folgen.)Rang und DimensionsformelnMATH: Isteine Teilmengeein -Tupel von Vektoren, so ist klar, dass esgibt, welche maximal ist mit der Eigenschaft, dasswo also der Kern vonlinear unabhängig,trivial ist. Dies bedeutet, dass die mitLinearkombinationen der mit sind.Es folgt:.MATH: Sei wieder . Nehmen wir die Dimension als Maßfür die lineare Abhängigkeit von und die Dimension alsMaß für die Erzeugungsfähigkeit von , so sagt unsere Bilanz, dass dieSumme dieser beiden Maße immer ist. In anderen Worten: erzeugen undlinear abhängig sein verhalten sich dual zueinander.MATH: Nehmen wir speziell , so kann man auch als Matrixaus deuten und . In diesem Fall nennt man auchden Rang der MatrixDENKANSTOSS: Man interpretiere als die Matrix eines linearenGleichungsystems. Was sagt dann unsere Bilangzgleichung?ÜBUNG [03]:Gib ein lineares Gleichsystem über < an, dessen Lösungsmenge die>


Restklasse von> v:=;(3.3.1)nach dem Spaltenraum von A ist, wobei> A:=Matrix(6,2,(i,j)->i+j);(3.3.2)Wie konstruiert man ein solches Gleichungssystem für allgemeine und ?MATH: Die Basen endlich erzeugter -Vektorräume kann man auf drei Artencharakterisieren:Sei . Dann sind äquivalent:1.) ist eine Basis von , d. h. ist ein Isomorphismus.2.) ist maximal linear unabhängig, d. h. durch Hinzunahme eines weiterenVektors von wird das System linear abhängig.3.) ist minimales Erzeugendensystem, d. h. sobald man eines derweglässt, hat man kein Erzeugendensystem mehr.Koordinatenabbildung, Standardbasen (freiwillig)MATH: Hat man eine Basis , so parametrisiert denVektorraum durch . Rechnerisch beherrschen tut man jedoch erst,wenn man die Koordinatenabbildungexplizit zur Verfügung hat. Häufig ist es so, dass Teilraum einesVektorraumes mit einer "Standardbasis" ist, wie etwa der mit denSpalten der Einheitsmatrix als Standardbasis oder mit der Basis derMatrizen, deren sämtliche Einträge gleich Null sind mit Ausnahme genaueines Eintrag, der dann gleich 1 ist.


Beispiel:> B23:=map(j->op(map(i->Matrix(2,3,(k,l)->if k=i and l=jthen 1 else 0 fi), [$1..2])), [$1..3]);(3.4.1)MATH: Als Anwendung der Standardbasis eines Vektorraumeseinerseits und des Gauß-<strong>Algorithmus</strong> andererseits bekommt man fürjeden Teilraum von ebenfalls eine Standardbasis, die durch undeindeutig bestimmt ist, indem man einfach den Gauß-<strong>Algorithmus</strong> (fürSpalten statt Zeilen) auf für irgendein endliches Erzeugendensystemvon anwendet und dann wieder Urbilder unter nimmt.Beispiel:> A:=Matrix(3,3,(i,j)->i+j^2);(3.4.2)>B33:=map(j->op(map(i->Matrix(3,3,(k,l)->if k=i and l=jthen 1 else 0 fi), [$1..3])), [$1..3]);(3.4.3)Wir wollen die Standardbasis des von den PotenzenerzeugtenTeilraumes von bestimmen.> kappaS:=(A::Matrix(3,3))->Column(A,i),[$1..3]))>:Hier die Koordinatenspalten:> map(kappaS,[IdentityMatrix(3),A,A^2,A^3,A^4]);(3.4.4)


(3.4.4)Hier die Vorbereitung für den Gaußalgorithmus: Wir müssen Transponieren,weil wir nur den Gauß-<strong>Algorithmus</strong> für Zeilen haben:> EE:=Transpose(Matrix(%));(3.4.5)>EE:=ReducedRowEchelonForm(EE);(3.4.6)Weil wir mindestens eine Nullzeile bekommen haben, wissen wir, daß wir beiden Potenzen von hinreichend weit gegangen sind (warum?). Jedenfallskönnen wir jetzt die Standardbasis bezüglich unserer Standardbasis vonausrechnen:> SA:=map(r->add(EE[r,i]*B33[i],i=1..9),[$1..3]);(3.4.7)Probe:> A;


2*SA[1] + 3*SA[2] + 4*SA[3];(3.4.8)freiwillige ÜBUNG:Für die nachfolgende Matrix untersuche man, ob ihre Potenzendenselben Teilraum von aufspannen, wie die Potenzen von .> A1 := Matrix(3, 3, {(1, 1) = 1287, (1, 2) = 2430, (1, 3)= 4335, (2, 1) = 1500, (2, 2) = 2832, (2, 3) = 5052, (3,1) = 1713, (3, 2) = 3234, (3, 3) = 5769});(3.4.9)Matrix einer linearen AbbildungAufbauend auf den Abschnitten: "Matrizen und lineare Abbildungen", "Basen","Lineare Abbildungen"Aufgaben: 4> restart;with(LinearAlgebra):DefinitionenMATH: Seien und Vektorräume über dem Körper mit Basen und. Wir wollen eine bequeme Art finden, eine lineare Abbildungzu beschreiben. Bekanntlich haben wir dann Isomorphismen,wobeidie Koordinatenspalte von v bezüglich B bezeichnet und,so dass die Kompositionauch eine lineare Abbildung ist. Jede lineare Abbildungwirdaber durch eine eindeutig bestimmte Matrix aus beschrieben. Nennen


wir diese Matrixdie Matrix von bezüglich der beiden Basen und , so haben wir:= .Mit anderen Worten: Die -te Spalte von ist die Koordinatenspalte vonbezüglich der Basis von .Beispiel: und Identität von . Dann heißt die Matrix derBasistransformation von nach . Multipliziert man an dieKoordinatenspalte eines Vektors bezüglich so erhält man dieKoordinatenspalte bezüglich .DENKANSTOSS: Interpretiere und beweise die Formel:oder die allgemeinere Formel.Hinweis:für alle .MATH: Jede invertierbare Matrixlässt sich als Matrix vielerBasistransformation interpretieren, sagen wir von einer Basis zu einer Basis. Sind zwei der drei Daten gegeben, so lässt sich die dritte eindeutigbestimmen. Ist z. B. die Standardbasis von , so besteht aus denSpaltenvektoren von .DENKANSTOSS: Wie steht es mit den beiden anderen Möglichkeiten, d.h. wobzw. gegeben sind?Beispiel:> C:=map(i->x^i,[$0..5]);> B:=map(i->(1+x)^i,[$0..5]);sind beides Basen von . Die Matrix ist also> CidB:=Matrix(6,6,(i,j)->coeff(B[j],x,i-1));(4.1.1)(4.1.2)(4.1.3)Wir fragen nach .


MATH: Ist eine weitere lineare Abbildung und eine Basisvon , so gilt:wo also links die Matrix der Komposition zweier linearer Abbildungen stehtund rechts das Produkt der Matrizen dieser beiden linearen Abbildungen.BEISPIEL (Fortsetzung von oben): und . Da offenbarbekommen wir:>CidB^(-1);Einheitsmatix,.(4.1.4)ÜBUNG [01]:Sei wie oben und die unten angegebene Basis von .1) Finde die Matrizenund .2) Wie können diese uns helfen, einen Vektor aus einer Basis in die andereumzurechnen?3) Stelle das Polynom in der Basis dar und rechne es mit Hilfeder obigen Matrizen in die Basis um.> C;unprotect(D):D:=map(i->(2+x)^i,[$0..5]);(4.1.5)Lineare (Un)abhängigkeitWir wollen noch sehen, wie man lineare Abbildungen und Matrizen benutzenkann, um lineare Unabhängigkeit nachzuweisen.> f:='f':g:='g':MATH: -wertige Folgen, also Abbildungen bilden einen K-Vektorraum .


(f+g)[i] = f[i]+g[i];(4.2.1)definiert die Summe der Folgen und und für definiert> (k*f)[i] = k*f[i];(4.2.2)die Folge .MATH: Das Einschränken von Folgen auf eine Teilmenge von ist einelineare Abbildung. Wir diskutieren das Beispiel des Vektorraumes:>a0 := i -> 1;a1 := i -> i;a2 := i -> i^2;>B:=[a0,a1,a2];Wir betrachten die Restriktion der Folgen auf die Menge :> res:=map(a->map(a, [$1..4]),B);Die Koordinatenspalten der Elemente von res bezüglich dieser Basis sindgerade die Spalten von> resK:=Matrix(4,3,(i,j)->res[j][i]);(4.2.3)(4.2.4)(4.2.5)Auf dem Raumder Folgen der Länge 4 haben wir dieStandardbasis:> map(i->map(j->if i=j then 1 else 0 end if,[$1..4]),[$1..4]) ;(4.2.6)(4.2.7)Diese Spalten sind linear unabhängig, denn> NullSpace(resK);Damit ist also auch B linear unabhängig.(4.2.8)MATH: Wir wollen die gerade die gerade entwickelte Idee benutzen, ummögliche lineare Abhängigkeiten für


in zu finden.> a3:= i -> i^3;a4:= i -> add(j^2,j=1..i);> B:=[a0,a1,a2,a3,a4];Wir schränken auf ein:> n:=7;> XX:=map(r->map(i->r(i),[$1..n]),B);(4.2.9)(4.2.10)(4.2.11)(4.2.12)>A:=Matrix(n,5,(i,j)->XX[j][i]);(4.2.13)>N:=op(NullSpace(A));(4.2.14)Die einzige Möglichkeit für eine lineare Abhängigkeit von B steht in dieserSpalte.> map(i-> -1/6*a1(i) - 1/2*a2(i) - 1/3*a3(i) + a4(i), [$1..20]);(4.2.15)Jetzt haben wir die moralische Gewissheit, dass wir eine lineareAbhängigkeit haben. Da die Einschränkung auf nicht injektiv war,haben wir aber immer noch keinen Beweis.Man kann die Weisheit von Maple benutzen:> Sum(j^2,j=1..i) = expand(sum(j^2,j=1..i));(4.2.16)


Man kann jedoch an dieser Stelle auch den üblichen Induktionsbeweisführen, um diese Gleichheit nachzuweisen.ÜBUNG [02]:1) Benutze die obige Methode, um Kandidaten für eine geschlosseneFormel für(4.2.16)als Polynom in zu finden.2) Benutze sum und expand, um diese Formel zu testen.Beispiel: Arithmetische ProgressionenMATH: Auf dem haben wir den Differenzenoperator als lineareAbbildung:.Wir schränken auf den von erzeugten Teilraum ein.>[a0,a1];map(a->a(i), %);Die Elemente von heißen auch arithmetische Progressionen. DieserTeilraum hat offenbarals Basis. Weiter ist klar:.Hier ist die Matrix der Einschränkung von auf bezüglich desBasenpaares für den Definitionsbereich und für den Bildbereich:> BDeltaB:=;(4.3.1)(4.3.2)Die erste Spalte erhält man, da durch aufabgebildet wird. Analog erhält mandie zweite Spalte durch .ÜBUNG [03]:1) Die Einschränkung von auf liefert eine Abbildung


Bestimme die Matrix dieser Abbildung bezüglich der beiden Basenund .2) Man bestimmt alle Elemente aus , die im Kern von liegen.3) Man bestimmt alle Elemente aus , die von auf sich selberabgebildet werden, also alle mit .(Hinweis: Eine Einschränkung von.)liefert auch eine AbbildungBeispiel: DifferentialtionMATH: Die formale Ableitung für Polynome,definiert eine lineare Abbildung vonin sich. Wir schränken aufein, also auf den Raum der Polynome vom Gradlineare Abbildung, und erhalten eine>>diff(add(f[i]*x^i,i=0..5),x);coeff(diff(add(f[i]*x^i,i=0..5),x),x,0);f(4.4.1)(4.4.2)ÜBUNG [04]:1) Gib die Matrix der formalen zweifachen Ableitungbezüglich der Basen> B6:=map(i->(x+1)^i,[$0..6]);und> B4:=map(i->(x-1)^i,[$0..4]);einmal direkt an und zum anderen als Produkt der Matrizen, die dieformalen Ableitungenundbeschreiben, wobei als Basis voneinfach die Standardbasis> B5:=map(i->(x)^i,[$0..5]);benutzt wird.2) Bestimme mit Hilfe der Matrix von den Kern von .(4.4.3)(4.4.4)(4.4.5)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!