Zeilensummen kriterium und SP < Lin. Gleich.-systeme < Numerik < Hochschule < Mathe < Vorhilfe
|
Aufgabe | Ist mein Rechung richtig? |
Ich habe versucht das Zeilensummenkriterium und Spaltensummenkriterium einer Matrix zu berechnen und wollte fragen ob mein Gedankegang richtig ist....
meine Lösung: ich rechne die Summe der Beträge der Elemente einer Zeile zusammen außer das Diagonalelement.
Danach teile ich die Summe einer Zeile/Diagonalelement-->daran kann ich ablesen ob eine Matrix konvergiert bei Jacobi Verfahren muss der Wert kleiner 1 sein
Code:
%Zeilensummenkriterium
D=diag(Atest);
Q=sum(abs(Atest')); %summe der Zeilen bilden
erg=Q'-abs(D); %das Diagonalelement wieder abziehen
for i=1:1:2250
erg1(i,1)=erg(i,1)/D(i,1);
end
beim Spaltensummenkriterium genau das selbe nur mit den Summen der Spalten
|
|
|
|
Aufgabe | Lösung mit Matlab |
ich habe eine vielzahl von Lösungsmöglichkeiten gefunden. Wie hängen Zeilensummenkriterium und Zeilensummennorm zusammen oder ist das das selbe.
kann mir jemand erklären wie man das berechnet und wann ich sehe ob es konvergiert...
danke
|
|
|
|
|
Hallo,
> Lösung mit Matlab
> ich habe eine vielzahl von Lösungsmöglichkeiten
> gefunden. Wie hängen Zeilensummenkriterium und
> Zeilensummennorm zusammen oder ist das das selbe.
Es ist nicht dasselbe.
> kann mir jemand erklären wie man das berechnet und wann
> ich sehe ob es konvergiert...
Siehe andere Antwort.
grüße
mathemaduenn
|
|
|
|
|
Hallo melchior2K,
> meine Lösung: ich rechne die Summe der Beträge der
> Elemente einer Zeile zusammen außer das Diagonalelement.
> Danach teile ich die Summe einer
> Zeile/Diagonalelement-->daran kann ich ablesen ob eine
> Matrix konvergiert bei Jacobi Verfahren muss der Wert
> kleiner 1 sein
>
> Code:
> %Zeilensummenkriterium
> D=diag(Atest);
> Q=sum(abs(Atest')); %summe der Zeilen bilden
> erg=Q'-abs(D); %das Diagonalelement wieder abziehen
> for i=1:1:2250
> erg1(i,1)=erg(i,1)/D(i,1);
> end
>
>
>
> beim Spaltensummenkriterium genau das selbe nur mit den
> Summen der Spalten
Für Diagonaldominanz müsste erg nur negative Einträge haben. Dividieren brauchst Du da nichts. Um für ein Iterationsverfahren der Form [mm] $x_{k+1}=M*x_k+m$ [/mm] ein allgemeingültiges Konvergenzkriterium zu erhalten kannst Du die Spetralnorm der Matrix M betrachten. In dieser Notation wäre M = inv(D)*(D-A). Mit Matlab kannst Du eine Singulärwertzerlegung brechnen. Die Spektralnorm ist dann der erste(sprich größte ) Eintrag der Matrix S. Dieser muss für Konvergenz kleiner 1 sein.
viele Grüße
mathemaduenn
|
|
|
|
|
Aufgabe | Bei svd ist der größte Wert kleiner 1 und erg ist nicht negativ das widerspricht sich doch.... |
ich bilde die Summe einer Zeile mit ausnahme des Diagonalelements
dann ziehe ich von der Summe das Diagonalelement ab...sollte der Wert negativ sein konvergiert das Verfahren....so habe ich es verstanden...bei mir sind die Werte nicht negativ-->keine Konvergenz....soo bei der Svd zerlegung von A war aber kein Wert größer 1 ...--->widerspruch? und der größte Wert von S sah wie mein größter Eigenwert aus...
D=diag(Atest);
Q=sum(abs(Atest')); %summe der Zeilen bilden
erg=Q'-abs(D); %diagonalelement darf ja nicht in eigentlicher SUmme vorhanden sein
for i=1:1:2250
erg1(i,1)=erg(i,1)-D(i,1);%abziehen des Diagonalelements
end
|
|
|
|
|
Hallo,
> Bei svd ist der größte Wert kleiner 1 und erg ist nicht
> negativ das widerspricht sich doch....
Nicht unbedingt
> ich bilde die Summe einer Zeile mit ausnahme des
> Diagonalelements
> dann ziehe ich von der Summe das Diagonalelement
> ab...sollte der Wert negativ sein konvergiert das
> Verfahren....so habe ich es verstanden...bei mir sind die
> Werte nicht negativ-->keine Konvergenz....
Das ist so nicht richtig nur der Umkehrschluss gilt:
Alle Werte negativ -> Konvergenz.
> soo bei der Svd
> zerlegung von A war aber kein Wert größer 1
> ...--->widerspruch? und der größte Wert von S sah wie
> mein größter Eigenwert aus...
Dann müsste das Verfahren konvergieren.
viele Grüße
mathemaduenn
PS: Du denkst dran - Eine Gleichungssystem mit singulärer Matrix komplett lösen geht nicht - ja?
|
|
|
|
|
Aufgabe | schlechte Kondition |
Das Verfahren konvergiert aber eben nur gegen unendlich...die Matrix (A'*A) soll ja invertierbar sein aber da kommt das:
Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 9.742977e-025.
Die Kondition der Matrix ist so schlecht...das es vielleicht deswegen nicht konvergiert
das spielt denke ich eine Rolle...mir ist klar das ich wenn ich mit A' multipliziere nie das eigentliche Ergebniss erreichen werde...
aber warum konvergiert Richardson dann so gut...komische Sache....und gausseidel konvergiert arg schlecht als Beispiel hat richardson einen Unterschied von 2m zum eigentlichen Ergebniss und Gausseidel hat 30m Unterschied...also bis jetzt ist nur Richardson eine "gute" Lösung
|
|
|
|
|
Hallo,
Die Splittingverfahren sind Fixpunktverfahren, die darauf beruhen, dass am Fixpunkt x gilt Ax=b. Bei einer singulären Matrix gibt es nicht ein solches x sondern viele. Ist die Matrix fast singulär kann es eben auch an kleinen Rechenungenauigkeiten liegen, welcher Fixpunkt ausgerechnet wird, bzw. ob überhaupt einer ausgerechnet wird. Das Richardsonverfahren ist aber dennoch recht stabil. Woher hast Du denn die "gute" Lösung?
viele Grüße
mathemaduenn
|
|
|
|
|
Aufgabe | Richardson verfahren |
Das Richardson Verfahren habe ich aus dem Buch "Numerik linearer Gleichungssysteme" von Andreas Meister....
Richardson Verfahren sieht so aus:
Ax=b
[mm] A^T Ax=A^T [/mm] b A∈ R^(m×n)
Bx=y B∈ R^(n×n),y∈ R^(m×n)
B=I+(B-I)
((I+(B-I))x=y
Ix+(B-I)x=y
x_neu=(I-B) x_alt+y
Um die Konvergenz des Verfahrens zu verbessern wird ein sogenannter Relaxionsparameter (⊝) bestimmt.
0< ⊖ < 2/maxeigw
Der Optimale Relaxionsparameter berechnet sich nach
⊖opt= 2/(maxeigw+mineigw)
x_neu=(I-⊝B) x_alt+⊝y
Ich habe schon sehr viele Verfahren versucht....aber so das Richtige habe ich leider noch nicht gefunden...aber ich werde mich weiter versuchen...da ich kein Mathematiker bin muss ich mich erstmal erstmal einarbeiten da Mathematik nur im 1. und 2. Semester angeboten wurde.
Noch eine kleine Frage wenn Eigenwerte keine Nullstellen sind was ist es dann nur eine Eigenschaft einer Matrix?
|
|
|
|
|
Hallo
> Noch eine kleine Frage wenn Eigenwerte keine Nullstellen
> sind was ist es dann nur eine Eigenschaft einer Matrix?
Wenn [mm] $Ax=\lambda [/mm] x$ dan ist [mm] $\lambda$ [/mm] Eigenwert und x ein Eigenvektor der Matrix. Also sind Eigenwerte in gewisser Weise "Eigenschaften" der Matrix.
Grüße
mathemaduenn
|
|
|
|
|
Hallo nochmal,
Ich hätte mal eine kleine Aufgabe für Dich um zu verstehen ob Du mich verstanden hast. Nimm Dir doch mal eine kleine Matrix A mit 2 Zeilen und 3 Spalten und entsprechendem b und berechne das x nach deinem Ansatz:
$A^TAx=A^Tb$
händisch. z.B. mit Gaußverfahren.
nimm z.B.:
[mm] A=\pmat{ 1 & 2 & 3 \\ 4 & 5 & 6 } [/mm] und [mm] b=\vektor{1 \\ 2}
[/mm]
oder denk Dir selbst was aus
Was kriegst du raus?
viele Grüße
mathemaduenn
|
|
|
|