Beispiel zu 6.25 (d)
> | restart: |
> | with(linalg): |
Warning, the protected names norm and trace have been redefined and unprotected
Gegeben seien folgende Vektoren mit Einträgen aus dem Körper der rationalen Zahlen:
> | v1 := vector([0, 1, -1, 1]);v2 := vector([1, 0, 1, 1]);v3 := vector([1, 2, 1, 1]);v4 := vector([1, 1, 1, 1]); |
Sei U=<v1,v2,v3,v4> , der von den Vektoren v1,v2,v3,v4 erzeugte Untervektorraum von .
Die Vektoren v1,v2,v3,v4 als Spalten zusammengefasst zu einer Matrix M:
> | M:=concat(v1,v2,v3,v4); |
Aufgabe:
Ergänze die linear unabhängigen Vektoren , aus U zu einer Basis von U.
> | u1:=vector([ 3, 4, 2, 4]);u2:=vector([5, 5, 4, 6]); |
u1 und u2 liegen tatsächlich in U. Probe !
> | #linsolve(M,u1),linsolve(M,u2); |
Sind u1,u2 tatsächlich linear unabhängig ? Probe!
> | #concat(u1,u2);rank(%); |
Als erstes berechne ich selbst eine Basis von U durch Spaltenumformumgen an M (hier nicht ausgeführt) oder mit Hilfe von Maple eine Basis des Spaltenraums von M der ja gerade U ist:
> | ZRM:=colspace(M); |
Die Basisvektoren bezeichnen wir mit w1,w2,w3:
> | w1:=vector([1, 0, 0, 2]);w2:=vector([0, 1, 0, 0]);w3:=vector([0, 0, 1, -1]); |
Als Spalten zu einer Matrix zusammengesetzt:
> | B:=concat(op(ZRM)); |
Ergänzung von (u1,u2) zu einer Basis von U mit Hife des Austauschlemmas:
Dazu stelle ich u dar als Linearkombination der Basis B von U.
> | linsolve(B,u1); |
Demnach ist u=3 +4 +2 .
Alle Vektoren in dieser Linearkombination haben von 0 verschiede Koeffizienten und können daher durch u1 ersetzt werden, ohne die Basiseigenschaft zu zerstören. Nach der Ersetzung etwa von v1 durch u1 liegt die Basis (u1,w2,w3) vor, die u1 enthält.
Nun ist u2 mit der neuen Basis darzustellen:
> | C:=concat(u1,w2,w3); |
> | linsolve(C,u2); |
Auch hier kann jetzt u2 gegen jeden der Basisvektoren ausgetauscht werden. Natürlich werfen wir nicht u1 wieder weg. Ich tausche w2 aus und erhalte die Basis (u1,u2,w3) von U , die beide vorgegebenen Vektoren u1,u2 enthält.
> |
Ergänzung von (u1,u2) zu einer Basis von U mit Hife elementarer Zeilenumformungen:
Danach bilde ich die Matrix [ 1,u2, w1,w2,w3] , berechne (Teilschritt I) eine SSF nur (!) für die ersten beiden Spalten (die u-s), räume mit deren Eckeinträgen nach rechts aus (Teilschritt II) und berechne dann eine SSF für die neuen w-Spalten:
> | uw:=concat(u1,u2,w1,w2,w3); |
> | uw_I:=addcol(uw,1,2,-5/3); |
> | uw_II_1:=addcol(uw_I,1,3,-1/3); |
> |
> | uw_II_2:=addcol(addcol(uw_II_1,2,3,-4/5),2,4,3/5); |
> | uw_III:=addcol(addcol(uw_II_2,3,4,1/3),3,5,5/6); |
Normiert sieht es schöner aus:
> | uw_III:=mulcol(mulcol(uw_III,2,-3),3,-5/6); |
> |
Jetzt stellt die dritte Spalte von uw_III eine Ergänzung von (u1,u2) zu einer Basis von U dar.
Wie kann man hier eine Probe machen ?
Man kann z.B. die reduzierten Spaltenstufenformen von B und uw_III vergleichen. Die reduzierte SSF von uw_III ist:
> | transpose(rref(transpose(submatrix(uw_III,1..4,1..3)))); |
Letzteres ist genau die Matrix B. Die Spalten von uw_III und B erzeugen also (warum ?!) denselben Untervektorraum, und zwar U.
Eine andere Möglichkeit zu überprüfen, ob tatsächlich die neue Basis U erzeugbesteht z.B. darin zu klären, ob alle Vektoren in U liegen. Da sie linear unabhängig sind, müssen Sie aus Dimensionsgründen U erzeugen !
> |