Ich habe eine Liste symmetrischer Matrizen, die ich auf positive Halbbestimmtheit prüfen muss (dh ihre Eigenwerte sind nicht negativ).
Der obige Kommentar impliziert, dass man dies tun könnte, indem man die jeweiligen Eigenwerte berechnet und prüft, ob sie nicht negativ sind (möglicherweise muss man sich um Rundungsfehler kümmern).
Das Berechnen der Eigenwerte ist in meinem Szenario ziemlich teuer, aber ich habe festgestellt, dass die Bibliothek, die ich verwende, einen ziemlich schnellen Test auf positive Bestimmtheit hat (dh wenn die Eigenwerte einer Matrix streng positiv sind).
Daher wäre die Idee, dass man bei einer Matrix testet, ob positiv definitiv ist. Wenn dies nicht der Fall ist, ist nicht positiv semidefinit, andernfalls kann man die Eigenwerte von berechnen , um sicherzustellen, dass es tatsächlich positiv semidefinit ist. B + ϵ I B B.
Meine Frage ist jetzt:
Gibt es eine direktere und effizientere Methode, um zu testen, ob eine Matrix positiv semidefinit ist, vorausgesetzt, es wird ein effizienter Test für die positive Bestimmtheit durchgeführt?
quelle
Antworten:
Was ist Ihre Arbeitsdefinition von "positiv semidefinit" oder "positiv definit"? In der Gleitkomma-Arithmetik müssen Sie hierfür eine Toleranz angeben.
Sie können dies anhand der berechneten Eigenwerte der Matrix definieren. Sie sollten jedoch zuerst beachten, dass die berechneten Eigenwerte einer Matrix linear mit der Matrix skalieren, so dass beispielsweise bei der Matrix, die ich durch Multiplizieren von mit einem Faktor von einer Million erhalte, die Eigenwerte mit einer Million multipliziert werden. Ist ein negativer Eigenwert? Wenn alle anderen Eigenwerte Ihrer Matrix positiv sind und in der Größenordnung von , ist effektiv 0 und sollte nicht als negativer Eigenwert behandelt werden. Daher ist es wichtig, die Skalierung zu berücksichtigen. λ = - 1,0 10 30 λ = - 1,0EIN λ = - 1,0 1030 λ = - 1,0
Ein vernünftiger Ansatz besteht darin, die Eigenwerte Ihrer Matrix zu berechnen und zu erklären, dass die Matrix numerisch positiv semidefinit ist, wenn alle Eigenwerte größer als, wobei der größte Eigenwert ist.- ϵ | λmax| λmax
Leider ist die Berechnung aller Eigenwerte einer Matrix ziemlich zeitaufwändig. Ein anderer häufig verwendeter Ansatz besteht darin, dass eine symmetrische Matrix als positiv definitiv angesehen wird, wenn die Matrix eine Cholesky-Faktorisierung in der Gleitkomma-Arithmetik aufweist. Die Berechnung der Cholesky-Faktorisierung ist eine Größenordnung schneller als die Berechnung der Eigenwerte. Sie können dies auf eine positive Halbwertszeit erweitern, indem Sie der Matrix ein kleines Vielfaches der Identität hinzufügen. Auch hier gibt es Skalierungsprobleme. Ein schneller Ansatz besteht darin, eine symmetrische Skalierung der Matrix durchzuführen, sodass die diagonalen Elemente 1,0 sind, und der Diagonale hinzuzufügen , bevor die Cholesky-Faktorisierung berechnet wird.ϵ
Sie sollten jedoch vorsichtig sein, da es einige Probleme mit dem Ansatz gibt. Zum Beispiel gibt es Umstände, in denen und in dem Sinne positiv sind, dass sie Gleitkomma-Cholesky-Faktorisierungen haben, jedoch keine Cholesky-Faktorisierung. Somit ist die Menge der "Gleitkomma-Cholesky-faktorisierbaren positiven bestimmten Matrizen" nicht konvex! B ( A + B ) / 2A B (A+B)/2
quelle
Kerr, TH, " Testen von Matrizen auf Bestimmtheit und Anwendungsbeispiele, die den Bedarf hervorbringen ", AIAA Journal of Guidance , Control and Dynamics, Vol. 3, No. 5, S. 503-506, Sept.-Okt. 1987.
Kerr, TH, " Über falsche Angaben des Tests für positive semidefinite Matrizen ", AIAA Journal of Guidance, Control and Dynamics , Vol. 3 , No. 3, S. 571-572, May-Jun. 1990. (wie in der Navigations- und Zielverfolgungssoftware in den 1970er und 1980er Jahren unter Verwendung von Gegenbeispielen)
Kerr, TH, " Irrtümer bei der rechnergestützten Prüfung von Matrix-positiver Bestimmtheit / Semidefinitität ", IEEE Transactions on Aerospace and Electronic Systems , Vol. 3 , No. 26, No. 2, S. 415-421, März 1990. [Listet trügerische Algorithmen auf, die der Autor in den späten 1970er und frühen 1980er Jahren routinemäßig in der U-Boot-Navigations- und Sonobuoy-Software der US Navy gefunden hat, und verwendet Gegenbeispiele, um auf die Probleme hinzuweisen. ]]
quelle