Bedeutet eine winzige Determinante eine schlechte Konditionierung einer Matrix?

29

Wenn ich eine quadratische invertierbare Matrix habe und ihre Determinante nehme und finde , bedeutet dies, dass die Matrix schlecht konditioniert ist?det(A)0

Ist das Gegenteil auch wahr? Hat eine schlecht konditionierte Matrix eine Determinante von nahezu Null?

Folgendes habe ich in Octave ausprobiert:

a = rand(4,4);
det(a) %0.008
cond(a)%125
a(:,4) = 1*a(:,1) + 2*a(:,2) = 0.000000001*ones(4,1);
det(a)%1.8E-11
cond(a)%3.46E10
Anfrage
quelle
1
Die Determinante zeigt, ob eine Matrix regulär oder singulär ist. Es zeigt nicht, ob es gut oder schlecht konditioniert ist.
Allan P. Engsig-Karup
5
Die Größe der Determinante kann die schlechte Konditionierung nicht widerspiegeln: κ(A)=κ(A1) aber det(A1)=(detA)1 .
Faleichik
Sollte es irgendwo eine oder ?
Anfrage
3
Wenn Sie mehr über die Auswirkungen der Gleitkomma-Mathematik auf Matrixspektren erfahren möchten, lesen Sie das Buch von Nick Trefethen: Spektren und Pseudospektren: Das Verhalten nicht normaler Matrizen und Operatoren und das Pseudospektren-Gateway .
Aron Ahmadia

Antworten:

38

Es ist die Größe der Bedingungsnummer κ(EIN) , die die Nähe zur Singularität misst, nicht die Kleinheit der Determinante.

Zum Beispiel hat die Diagonalmatrix 10-50ich eine winzige Determinante, ist aber gut konditioniert.

Betrachten Sie auf der anderen Seite die folgende Familie von quadratischen oberen Dreiecksmatrizen, die von Alexander Ostrowski (und auch von Jim Wilkinson untersucht) stammt:

U=(122121)

Die Determinante der Matrix ist immer , aber das Verhältnis des größten zum kleinsten Singularwert (dh die 2-Norm-Bedingungszahl wurde von Ostrowski gezeigt, dass ) gleich , was sich mit zunehmendem erhöht .U 1 & kgr; 2 ( U ) = & sgr; 1n×nU1 cot2πκ2(U)=σ1σn nKinderbett2π4nn

JM
quelle
1
@Nunoxic: ganz bestimmt nicht; Kennen Sie sich bereits mit der Zerlegung von Singularwerten aus, bevor ich auf Details eingehe?
JM
2
Sehr gut. Das ist alles was du wissen musst. Die Idee ist, dass sehr wichtige Informationen über die Konditionierung in . Insbesondere sollten Sie in der Diagonale dieser Matrix nach den größten und kleinsten Werten suchen (denken Sie daran, dass die Zerlegung so definiert ist, dass die diagonalen Einträge von nicht negativ sind). Das Verhältnis des größten zum kleinsten diagonalen Eintrag ist die Bedingungsnummer . Mit welcher Größe der Zustandsnummer Sie sich befassen sollten, hängt von der Maschine ab, an der Sie arbeiten ...ΣΣκ
JM
2
... aber im Allgemeinen verlieren Sie beim Lösen von linearen Gleichungen mit dieser Matrix base- Stellen in Ihrer Lösung. Das ist eine grobe Faustregel für die Bedingungsnummer. Wenn Sie also nur mit 16 Ziffern arbeiten, sollte ein von Anlass zur Sorge geben. Logbκbκ1013
JM
1
Ja, aber dies ist nicht die empfohlene Methode zur Bestimmung der Bedingungsnummer (deren Erklärung für eine andere Frage gilt). Ich nehme an, Sie wissen, wie man eine Diagonalmatrix invertiert, nein?
JM
2
"Regd. Den Verlust von Ziffern, könnten Sie mir einen Hinweis dafür geben?" - Ich könnte, aber das ist wirklich eines der Dinge, die Sie selbst in einer Computerumgebung zur Verstärkung ausprobieren sollten.
JM
17

Da , kann die Determinante durch einfaches Neuskalieren beliebig groß oder klein gemacht werden (was die Bedingungsnummer nicht ändert). Gerade in hohen Dimensionen verändert eine Skalierung um den unschuldigen Faktor 2 die Determinante um ein Vielfaches.det(kA)=kndetA

Verwenden Sie daher niemals die Determinante, um den Zustand oder die Nähe zur Singularität zu beurteilen.

Andererseits hängt die Bedingung für fast alle gut gestellten numerischen Probleme eng mit der Entfernung zur Singularität im Sinne der kleinsten relativen Störung zusammen, die erforderlich ist, um das Problem schlecht zu stellen. Dies gilt insbesondere für lineare Systeme.

Arnold Neumaier
quelle