QR-Zerlegung mit GS

Neue Frage »

Bjoern1982 Auf diesen Beitrag antworten »
QR-Zerlegung mit GS
Hallo,

ich bitte mal um Kontrolle für die QR-Zerlegung der folgenden Matrix mittels GS:



Meine 3 orthonormierten Vektoren lauten:







Also



mit




Wenn ich noch Zwischenschritte posten soll einfach melden Augenzwinkern

Gruß Björn
tigerbine Auf diesen Beitrag antworten »
RE: QR-Zerlegung mit GS
Das "schwierige" hier ist ja, wie u bestimmt werden. Augenzwinkern Da wäre eine Rechnung nett.
Bjoern1982 Auf diesen Beitrag antworten »

Hmm schade, ich dachte ich komme drum rum Big Laugh

Aber hast schon Recht, das ist wohl das einzig "anspruchsvolle" gewesen an der Aufgabe, also hier folgt die Berechnung der zuerst nur zueinander orthogonalen Vektoren u1',u2' und u3':








Die normierten Vektoren u1,u2 und u3 stehen dann oben - da wurde dann ja jeweils nur nurch den Betrag den Vektors dividiert.
tigerbine Auf diesen Beitrag antworten »

noch mal zu deinen Überlegungen. A ist ja nicht quadratisch. Q soll eine Orthogonale Matrix sein. Was bedeutet dass denn? Augenzwinkern

Welche Zerlegung können wir hier also "nur" berechnen?
Bjoern1982 Auf diesen Beitrag antworten »

Zitat:
Q soll eine Orthogonale Matrix sein. Was bedeutet dass denn?


weshalb man in A=QR durch Linksmultiplikation von nach R auflösen kann.

Zitat:
Welche Zerlegung können wir hier also "nur" berechnen?


Nur QR und nicht LR oder was meinst du ?
tigerbine Auf diesen Beitrag antworten »

Kann denn eine nichtquadratische Matrix regulär sein? Augenzwinkern Schau dir mal dein Q an.

Bei LR hätten wir das gleiche Problem. Bei QR sollten dir 2 Begriffe noch einfallen. Gerade weil man sie ja bei nichtquadratischen Matrizen benutzt.
 
 
Bjoern1982 Auf diesen Beitrag antworten »

Ich mache erstmal eine Pause, ich sehe im Moment nur noch Matrizen vor meinen Augen Augenzwinkern

Wahrscheinlich spielst du darauf an, dass Q ja nicht herkömmlich invertierbar ist und nur eine sogenannte Pseudoinverse existiert.

Sollte ich dann da noch etwas in meine Lösung einfügen ?

Bis nachher Wink
tigerbine Auf diesen Beitrag antworten »

Nein, das meine ich nicht. Ich meine die Begriffe "reduzierte" und "vollständige" QR-Zerlegung.
tigerbine Auf diesen Beitrag antworten »

Wir haben hier A als 4x3 Matrix vorliegen. Für die reduzierte QR-Zerlegung gilt dann:




Der Algorithmus setzt mit folgender Darstellung an:




So bestimmt man nun nach und nach die Vektoren.



Macht hier dann also:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
>> QRmitGS
Es wird eine QR-Zerlegung mitGram-Schmidt berechnet.
====================================================
 
A0 =
     2     0    11
     2    -8    -2
     0    -2   -10
    -1     2    -9
 
Durchgang 1
-----------
R =
     3
Q =
    0.6667
    0.6667
         0
   -0.3333
 
Durchgang 2 
----------------
 
R =
     3    -6
     0     6
Q =
    0.6667    0.6667
    0.6667   -0.6667
         0   -0.3333
   -0.3333         0
Durchgang 3 
----------------
 
R =
     3    -6     9
     0     6    12
     0     0     9
Q =
    0.6667    0.6667   -0.3333
    0.6667   -0.6667         0
         0   -0.3333   -0.6667
   -0.3333         0   -0.6667
 
 
Die QR-Zerlegung mit Gram-Schmidt
---------------------------------
A =
     2     0    11
     2    -8    -2
     0    -2   -10
    -1     2    -9
Q =
    0.6667    0.6667   -0.3333
    0.6667   -0.6667         0
         0   -0.3333   -0.6667
   -0.3333         0   -0.6667
R =
     3    -6     9
     0     6    12
     0     0     9


Es stimmen die beiden Lösungen überein, aber dein Q ist nicht invertierbar. Es gilt aber, wegen den orthonormalen Spaltenvektoren




Würde man das ganze mit Householder oder Givens machen, so sind die Spiegelungen bzw. Drehungen ja quadratische Matrizen. Der Algo liefert eine volle QR-Zerlegung

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
>> QRmitH
Es wird eine QR-Zerlegung mit Householder berechnet.
====================================================
---------------------------
| H=I-ß*uu^T              |
| u=x+sign(x1)*||x||_2*e1 |
| ß=2/(u^Tu)              |
---------------------------
 
Matrix A eingeben: [2,0,11;2,-8,-2;0,-2,-10;-1,2,-9]
A0 =
     2     0    11
     2    -8    -2
     0    -2   -10
    -1     2    -9
 
Durchgang 1 
================
x =
     2
     2
     0
    -1
signx =
     1
e1 =
     1
     0
     0
     0
u =
     5
     2
     0
    -1
beta =
    0.0667
 
H =
   -0.6667   -0.6667         0    0.3333
   -0.6667    0.7333         0    0.1333
         0         0    1.0000         0
    0.3333    0.1333         0    0.9333
Qk =
   -0.6667   -0.6667         0    0.3333
   -0.6667    0.7333         0    0.1333
         0         0    1.0000         0
    0.3333    0.1333         0    0.9333
Ak =
   -3.0000    6.0000   -9.0000
    0.0000   -5.6000  -10.0000
         0   -2.0000  -10.0000
         0    0.8000   -5.0000
 
Durchgang 2 
================
x =
   -5.6000
   -2.0000
    0.8000
signx =
    -1
e1 =
     1
     0
     0
u =
  -11.6000
   -2.0000
    0.8000
beta =
    0.0144
 
H =
   -0.9333   -0.3333    0.1333
   -0.3333    0.9425    0.0230
    0.1333    0.0230    0.9908
Qk =
    1.0000         0         0         0
         0   -0.9333   -0.3333    0.1333
         0   -0.3333    0.9425    0.0230
         0    0.1333    0.0230    0.9908
Ak =
   -3.0000    6.0000   -9.0000
   -0.0000    6.0000   12.0000
   -0.0000    0.0000   -6.2069
    0.0000         0   -6.5172
 
Durchgang 3 
================
x =
   -6.2069
   -6.5172
signx =
    -1
e1 =
     1
     0
u =
  -15.2069
   -6.5172
beta =
    0.0073
 
H =
   -0.6897   -0.7241
   -0.7241    0.6897
Qk =
    1.0000         0         0         0
         0    1.0000         0         0
         0         0   -0.6897   -0.7241
         0         0   -0.7241    0.6897
Ak =
   -3.0000    6.0000   -9.0000
   -0.0000    6.0000   12.0000
    0.0000   -0.0000    9.0000
    0.0000   -0.0000   -0.0000
 
 
Die QR-Zerlegung mit Householder
--------------------------------
A =
     2     0    11
     2    -8    -2
     0    -2   -10
    -1     2    -9
Q =
   -0.6667    0.6667   -0.3333    0.0000
   -0.6667   -0.6667   -0.0000    0.3333
         0   -0.3333   -0.6667   -0.6667
    0.3333   -0.0000   -0.6667    0.6667
R =
   -3.0000    6.0000   -9.0000
   -0.0000    6.0000   12.0000
    0.0000   -0.0000    9.0000
    0.0000   -0.0000   -0.0000
Bjoern1982 Auf diesen Beitrag antworten »

Das war mir in der Tat noch gar nicht wirklich bekannt und ich habe einfach mal drauf los die Matrix Q so kreiiert analog wie ich es auch machen würde wenn es um das Diagonalisieren einer Matrix geht und dann eben mal ganz dreist durch A=QR mit dem gegebenen Q dann nach R aufgelöst Augenzwinkern

Nach dem Algo wird R ja quasi parallel durch die jeweiligen q's und a's erzeugt.

Dann sollte ich es besser so aufschreiben wie in deinen 3 Durchgängen oder ?
tigerbine Auf diesen Beitrag antworten »

Ich weiß ja nicht wie ihr es in der Vorlesung aufgeschrieben habt. Der Algorithmus basiert ja schon auf dem Gram Schmidt verfahren, betrachtet halt eben gleich die Zerlegung.

Wichtig(er) wäre es mir hier, mit dir die Begriffe volle und red. QR-Zerlegung zu klären. Denn die verschiedenen Alg. liefern ja verschiedenes, wie du siehst. (Vgl. nächste Aufgabe - wo ihr nur einen Schritt machen sollt)
Bjoern1982 Auf diesen Beitrag antworten »

Ich bin doch noch fündig geworden, denn im Skript selbst stand der Algo nicht, jedoch in einem Zusatz über die QR Zerlegung, der auf der Numerikseite hochgeladen wurde (siehe Anhang)

Demnach wird für j aus {1,2,3} parallel immer jeweils die j-te Zeile der R-Matrix berechnet.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »