Wie kann man die Bedingungsnummer einer großen Matrix approximieren?


9

Wie approximiere ich die Bedingungszahl einer großen Matrix , wenn eine Kombination aus Fourier-Transformationen (ungleichmäßig oder einheitlich), endlichen Differenzen und Diagonalmatrizen ?G F R S.GGFRS

Die Matrizen sind sehr groß und nicht im Speicher gespeichert und stehen nur als Funktionen zur Verfügung.

Insbesondere habe ich folgende Matrix:

Gμ=SHFHFS+μRHR

Ich möchte die Beziehung zwischen und der Bedingungsnummer .k ( G μ )μk(Gμ)

Ich nehme an, man braucht einen iterativen Ansatz? Optimalerweise wäre MATLAB-Code verfügbar.


1
Wie wäre es mit der Definition der Bedingungsnummer und der Verwendung von Dreiecksungleichheit und Submultiplikativität? Ich denke, Sie sollten in der Lage sein, etwas über Normen / Bedingungen jeder Ihrer Matrizen zu sagen. Auf diese Weise erhalten Sie eine Schätzung der Bedingungsnummer von . Gμ
Anke

Antworten:


11

MATLAB hat ein paar „exakt“ Funktionen für diese, condund rcondmit dieser einen Kehrwert der Konditionszahl zurück. Die ungefähre Funktion von Matlab condestwird nachstehend ausführlicher beschrieben.

Häufig werden Schätzungen der Bedingungsnummer als Nebenprodukte der Lösung eines linearen Systems für die Matrix generiert, sodass Sie möglicherweise die Schätzungen der Bedingungsnummer für andere Arbeiten, die Sie ohnehin ausführen müssen, huckepack nehmen können. Sehen Sie hier eine kurze Beschreibung, wie Schätzungen berechnet werden. In der AztecOO-Dokumentation von Sandia Labs wird auch darauf hingewiesen (siehe Abschnitt 3.1), dass optionale Schätzungen der Bedingungsnummer von iterativen Lösern verfügbar sind (unter Verwendung der generierten tridiagonalen Lanczos-Matrix mit konjugierten Gradienten oder der generierten Hessenburg-Matrix mit neu gestartetem GMRES).

Da Ihre Matrizen "sehr groß" und "nur als Funktionen verfügbar" sind, wäre der logische Ansatz eine Methode, die auf einen konjugierten Gradientenlöser oder eine konjugierte Variante zurückgreift.

Ein kürzlich veröffentlichter Artikel von arXiv.org über instationäre extreme Eigenwertnäherungen in iterativen Lösungen linearer Systeme und Schätzer für relative Fehler schlägt einen solchen Ansatz vor und enthält einige Zitate zur früheren Literatur.

Nun, da ich nachschaue, hat dieses Forum eine Reihe eng verwandter vorheriger Fragen (nicht alle mit Antworten, aber überprüfen Sie die Kommentare):

Schätzen Sie extreme Eigenwerte mit CG

Schätzung der Bedingungszahlen für sehr große Matrizen

Schnellster Algorithmus zur Berechnung der Bedingungsnummer einer großen Matrix in Matlab / Octave


Da die Verfügbarkeit von MATLAB-Code Teil der Frage war, finden Sie hier einige Informationen zu condesteiner integrierten Funktion, die die 1-Norm-Bedingungsnummer schätzt . Die Idee stammt von Hager (1984), mit einer Beschreibung von 2010 und Erweiterungen hier , um (maximale 1-Norm einer Spalte finden) explizit zu berechnen und schätzen durch eine Gradientenmethode. Siehe auch John Burkardts CONDITION , eine MATLAB-Bibliothek (andere verfügbare Sprachen) "zum Berechnen oder Schätzen der Bedingungsnummer einer Matrix".A 1A - 11A1A11A1A11

Da Ihre Matrix anscheinend hermitisch und eindeutig positiv ist, ist möglicherweise die 2-Norm-Bedingungszahl von größerem Interesse. Das Problem besteht dann darin, das Verhältnis der größten zu den kleinsten (absoluten) Eigenwerten zu schätzen. Die Herausforderung ist insofern etwas parallel zum 1-Norm-Fall, als im Allgemeinen eine gute Schätzung für den größten Eigenwert leicht erhalten werden kann, die Schätzung des kleinsten Eigenwerts sich jedoch als schwieriger erweist.

Obwohl dieses kürzlich erschienene arXiv.org-Papier, Reliable Iterative Condition-Number Estimation , auf Fälle ohne SPD (und sogar ohne Quadrat) abzielt , bietet es einen guten Überblick über das kleinste Problem der Eigenwertschätzung und eine vielversprechende Angriffslinie durch einen Krylov-Subraum Methode (LSQR), die im SPD-Fall Gradienten konjugieren entspricht.


Vielen Dank für Ihre Antwort. Wie erhalte ich die Bedingungsnummer als Nebenprodukt eines konjugierten Gradientenlösers?
Stiefel

@Stiefel: Es gibt eine Arbeit von 1992 über die ungefähre Berechnung extremer Eigenwerte und die Bedingungszahl nicht singulärer Matrizen von Lei Guang-yao. Lassen Sie mich sehen, ob ich eine bessere Referenz finden kann (nicht hinter einer Pay-Wall).
Hardmath

@Stiefel: Einige Links hinzugefügt. Möglicherweise möchten Sie auch in Google Books (oder einer Bibliothek) nach den iterativen Lösungsmethoden von Owe Axelsson (1996) suchen. Kerl. 13 Die Konvergenzrate der Konjugatgradientenmethode , wobei der Schwerpunkt darauf liegt, bessere Schätzungen der Anzahl der für die Konvergenz erforderlichen Iterationen zu erhalten, als die Bedingungszahl allein liefert.
Hardmath

1
@Stiefel Mit einem Namen wie Ihrem sollten Sie uns die CG-Methode beibringen :) Siehe en.wikipedia.org/wiki/Eduard_Stiefel
stali
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.