Vorkonditionierer – Wikipedia
In Mathematik, Vorkonditionierung ist die Anwendung einer Transformation, die als Vorkonditionierer, dass ein gegebenes Problem in eine Form gebracht wird, die für numerische Lösungsverfahren besser geeignet ist. Die Vorkonditionierung hängt normalerweise mit der Reduzierung einer Bedingungsnummer des Problems zusammen. Das vorkonditionierte Problem wird dann normalerweise durch eine iterative Methode gelöst.
Vorkonditionierung für lineare Systeme[edit]
In der linearen Algebra und der numerischen Analyse a Vorkonditionierer
einer Matrix
ist eine Matrix, so dass
hat eine kleinere Bedingungsnummer als
. Es ist auch üblich anzurufen
der Vorkonditionierer, anstatt
, schon seit
selbst ist selten explizit verfügbar. In der modernen Vorkonditionierung ist die Anwendung von
dh Multiplikation eines Spaltenvektors oder eines Blocks von Spaltenvektoren mit
wird üblicherweise von ziemlich hoch entwickelten Computer-Softwarepaketen matrixfrei ausgeführt, dh wo beides nicht der Fall ist
, Noch
(und oft nicht einmal
) sind explizit in einer Matrixform verfügbar.
Vorkonditionierer sind bei iterativen Methoden zur Lösung eines linearen Systems nützlich
zum
da die Konvergenzrate für die meisten iterativen linearen Löser zunimmt, weil die Bedingungszahl einer Matrix infolge der Vorkonditionierung abnimmt. Vorkonditionierte iterative Löser übertreffen in der Regel direkte Löser, z. B. die Gaußsche Eliminierung, für große, insbesondere für spärliche Matrizen. Iterative Löser können als matrixfreie Methoden verwendet werden, dh werden die einzige Wahl, wenn die Koeffizientenmatrix
wird nicht explizit gespeichert, sondern durch Auswertung von Matrixvektorprodukten aufgerufen.
Beschreibung[edit]
Anstatt das ursprüngliche lineare System oben zu lösen, kann man das richtige vorkonditionierte System lösen:
über das Lösen
zum
und
zum
.
Alternativ kann man das linke vorkonditionierte System lösen:
Beide Systeme ergeben die gleiche Lösung wie das ursprüngliche System, solange die Vorkonditionierermatrix vorhanden ist
ist nicht singulär. Die linke Vorkonditionierung ist häufiger.
Das Ziel dieses vorkonditionierten Systems ist es, die Bedingungsnummer der linken oder rechten vorkonditionierten Systemmatrix zu reduzieren
oder
beziehungsweise. Die vorkonditionierte Matrix
oder
wird fast nie explizit gebildet. Nur die Aktion des Aufbringens des Vorkonditionierers löst den Vorgang
zu einem bestimmten Vektor müssen in iterativen Methoden berechnet werden.
In der Regel gibt es einen Kompromiss bei der Auswahl von
. Da der Betreiber
muss bei jedem Schritt des iterativen linearen Lösers angewendet werden, es sollte einen geringen Aufwand (Rechenzeit) für das Anwenden des haben
Betrieb. Der billigste Vorkonditionierer wäre daher
seit damals
Dies führt eindeutig zu dem ursprünglichen linearen System und der Vorkonditionierer tut nichts. Im anderen Extrem die Wahl
gibt
die die optimale Bedingungsnummer 1 hat und eine einzige Iteration für die Konvergenz erfordert; jedoch in diesem Fall
Das Aufbringen des Vorkonditionierers ist ebenso schwierig wie das Lösen des ursprünglichen Systems. Man wählt daher
als irgendwo zwischen diesen beiden Extremen, um eine minimale Anzahl linearer Iterationen zu erreichen, während der Operator erhalten bleibt
so einfach wie möglich. Einige Beispiele für typische Vorkonditionierungsansätze sind nachstehend aufgeführt.
Vorkonditionierte iterative Methoden[edit]
Vorkonditionierte iterative Methoden für
sind in den meisten Fällen mathematisch äquivalent zu iterativen Standardmethoden, die auf das vorkonditionierte System angewendet werden
Zum Beispiel die Standard-Richardson-Iteration zum Lösen
ist
Auf das vorkonditionierte System angewendet
es wird zu einer vorkonditionierten Methode
Beispiele für beliebte vorkonditionierte iterative Verfahren für lineare Systeme umfassen das vorkonditionierte konjugierte Gradientenverfahren, das bikonjugierte Gradientenverfahren und das verallgemeinerte Minimalrestverfahren. Iterative Methoden, die Skalarprodukte zur Berechnung der iterativen Parameter verwenden, erfordern entsprechende Änderungen des Skalarprodukts zusammen mit dem Ersetzen
zum
Lineare Vorkonditionierung[edit]
Eine lineare iterative Methode sei durch die Matrixaufteilung gegeben
und Iterationsmatrix
.
Nehmen Sie Folgendes an
Dann die Reduzierung der Zustandsnummer des Systems
kann von oben begrenzt werden durch
Geometrische Interpretation[edit]
Für eine symmetrische positive definitive Matrix
der Vorkonditionierer
wird typischerweise auch symmetrisch positiv definit gewählt. Der vorkonditionierte Bediener
ist dann auch symmetrisch positiv definit, aber in bezug auf die
-basiertes Skalarprodukt. In diesem Fall besteht der gewünschte Effekt beim Aufbringen eines Vorkonditionierers darin, die quadratische Form des vorkonditionierten Operators zu erhalten
in Bezug auf die
-basiertes Skalarprodukt soll nahezu kugelförmig sein.[1]
Variable und nichtlineare Vorkonditionierung[edit]
Bezeichnen
Wir heben hervor, dass die Vorkonditionierung praktisch als Multiplikation eines Vektors implementiert wird
durch
dh Berechnen des Produkts
In vielen Anwendungen
wird nicht als Matrix angegeben, sondern als Operator
auf den Vektor einwirken
. Einige beliebte Vorkonditionierer ändern sich jedoch mit
und die Abhängigkeit von
kann nicht linear sein. Typische Beispiele umfassen die Verwendung nichtlinearer iterativer Verfahren, z. B. des konjugierten Gradientenverfahrens, als Teil der Vorkonditionierungskonstruktion. Solche Vorkonditionierer können praktisch sehr effizient sein, ihr Verhalten ist jedoch theoretisch schwer vorherzusagen.
Spektral äquivalente Vorkonditionierung[edit]
Die häufigste Verwendung der Vorkonditionierung ist die iterative Lösung linearer Systeme, die sich aus Approximationen partieller Differentialgleichungen ergibt. Je besser die Approximationsqualität ist, desto größer ist die Matrixgröße. In einem solchen Fall besteht das Ziel einer optimalen Vorkonditionierung einerseits darin, die Spektralbedingungszahl von zu machen
von oben durch eine von der Matrixgröße unabhängige Konstante begrenzt werden, die aufgerufen wird spektral äquivalent Vorkonditionierung durch D’yakonov. Auf der anderen Seite sind die Kosten für die Anwendung der
sollte idealerweise proportional (auch unabhängig von der Matrixgröße) zu den Multiplikationskosten von sein
durch einen Vektor.
Beispiele[edit]
Jacobi (oder diagonaler) Vorkonditionierer[edit]
Das Jacobi Vorkonditionierer ist eine der einfachsten Formen der Vorkonditionierung, bei der der Vorkonditionierer als Diagonale der Matrix gewählt wird
Vorausgesetzt
, wir bekommen
Es ist effizient für diagonal dominante Matrizen
.
SPAI[edit]
Das Sparse Approximate Inverse Vorkonditionierer minimiert
wo
ist die Frobenius-Norm und
stammt aus einem geeignet beschränkten Satz von spärlichen Matrizen. Nach der Frobenius-Norm reduziert sich dies auf die Lösung zahlreicher unabhängiger Probleme der kleinsten Quadrate (eines für jede Spalte). Die Einträge in
muss auf ein Sparsity-Muster beschränkt sein, sonst bleibt das Problem so schwierig und zeitaufwändig wie das Finden der genauen Umkehrung von
. Die Methode wurde von MJ Grote und T. Huckle zusammen mit einem Ansatz zur Auswahl von Sparsity-Mustern eingeführt.[2]
Andere Vorkonditionierer[edit]
Externe Links[edit]
Vorkonditionierung für Eigenwertprobleme[edit]
Eigenwertprobleme können auf verschiedene alternative Arten dargestellt werden, die jeweils zu einer eigenen Vorkonditionierung führen. Die traditionelle Vorkonditionierung basiert auf der sogenannten spektrale Transformationen. Wenn man (ungefähr) den angestrebten Eigenwert kennt, kann man den entsprechenden Eigenvektor berechnen, indem man das verwandte homogene lineare System löst, wodurch die Vorkonditionierung für das lineare System verwendet werden kann. Schließlich bringt die Formulierung des Eigenwertproblems als Optimierung des Rayleigh-Quotienten vorkonditionierte Optimierungstechniken in die Szene.[3]
Spektrale Transformationen[edit]
In Analogie zu linearen Systemen für ein Eigenwertproblem
man könnte versucht sein, die Matrix zu ersetzen
mit der Matrix
mit einem Vorkonditionierer
. Dies ist jedoch nur dann sinnvoll, wenn die suchenden Eigenvektoren von
und
sind gleich. Dies ist bei spektralen Transformationen der Fall.
Die beliebteste spektrale Transformation ist die sogenannte Shift-and-Invert Transformation, wo für einen gegebenen Skalar
, genannt die Verschiebung, das ursprüngliche Eigenwertproblem
wird durch das Shift-and-Invert-Problem ersetzt
. Die Eigenvektoren bleiben erhalten, und man kann das Shift-and-Invert-Problem durch einen iterativen Löser lösen, z. B. die Potenziteration. Dies ergibt die inverse Iteration, die normalerweise gegen den Eigenvektor konvergiert, entsprechend dem Eigenwert, der der Verschiebung am nächsten liegt
. Die Rayleigh-Quotienteniteration ist eine Shift-and-Invert-Methode mit variabler Verschiebung.
Spektrale Transformationen sind spezifisch für Eigenwertprobleme und haben keine Analoga für lineare Systeme. Sie erfordern eine genaue numerische Berechnung der Transformation, die zum Hauptengpass für große Probleme wird.
Allgemeine Vorkonditionierung[edit]
Um eine enge Verbindung zu linearen Systemen herzustellen, nehmen wir an, dass der angestrebte Eigenwert
ist bekannt (ungefähr). Dann kann man den entsprechenden Eigenvektor aus dem homogenen linearen System berechnen
. Mit dem Konzept der linken Vorkonditionierung für lineare Systeme erhalten wir
, wo
ist der Vorkonditionierer, den wir mit der Richardson-Iteration lösen können
Das Ideal Vorkonditionierung[3][edit]
Die Moore-Penrose-Pseudoinverse
ist der Vorkonditionierer, der die obige Richardson-Iteration in einem Schritt mit konvergieren lässt
, schon seit
, bezeichnet durch
ist der orthogonale Projektor auf dem Eigenraum, entsprechend
. Die Wahl
ist aus drei unabhängigen Gründen unpraktisch. Zuerst,
ist eigentlich nicht bekannt, obwohl es durch seine Annäherung ersetzt werden kann
. Zweitens erfordert die genaue Moore-Penrose-Pseudoinverse die Kenntnis des Eigenvektors, den wir zu finden versuchen. Dies kann durch die Verwendung des Jacobi-Davidson-Vorkonditionierers etwas umgangen werden
, wo
ungefähr
. Last but not least erfordert dieser Ansatz eine genaue numerische Lösung des linearen Systems mit der Systemmatrix
, was für große Probleme genauso teuer wird wie das obige Shift-and-Invert-Verfahren. Wenn die Lösung nicht genau genug ist, ist Schritt zwei möglicherweise redundant.
Praktische Vorkonditionierung[edit]
Ersetzen wir zunächst den theoretischen Wert
in der obigen Richardson-Iteration mit ihrer aktuellen Annäherung
um einen praktischen Algorithmus zu erhalten
Eine beliebte Wahl ist
mit der Rayleigh-Quotientenfunktion
. Praktische Vorkonditionierung kann so trivial sein wie nur die Verwendung
oder
Für einige Klassen von Eigenwertproblemen ist die Effizienz von
wurde sowohl numerisch als auch theoretisch demonstriert. Die Wahl
ermöglicht es, die Vielzahl von Vorkonditionierern, die für lineare Systeme entwickelt wurden, leicht für Eigenwertprobleme zu nutzen.
Aufgrund des sich ändernden Wertes
Eine umfassende theoretische Konvergenzanalyse ist im Vergleich zum Fall linearer Systeme selbst für die einfachsten Methoden wie die Richardson-Iteration viel schwieriger.
Externe Links[edit]
Vorkonditionierung in der Optimierung[edit]
Bei der Optimierung wird die Vorkonditionierung typischerweise verwendet, um Optimierungsalgorithmen erster Ordnung zu beschleunigen.
Beschreibung[edit]
Zum Beispiel, um ein lokales Minimum einer reellen Funktion zu finden
Bei Verwendung des Gradientenabfalls werden Schritte proportional zum Negativ des Gradienten
(oder des ungefähren Gradienten) der Funktion am aktuellen Punkt:
Der Vorkonditionierer wird auf den Gradienten angewendet:
Die Vorkonditionierung kann hier als Änderung der Geometrie des Vektorraums mit dem Ziel angesehen werden, dass die Ebenensätze wie Kreise aussehen.[4] In diesem Fall zielt der vorkonditionierte Gradient näher an den Punkt der Extrema als in der Abbildung, was die Konvergenz beschleunigt.
Anschluss an lineare Systeme[edit]
Das Minimum einer quadratischen Funktion
- ,
wo
und
sind echte Spaltenvektoren und
ist eine reelle symmetrische positiv-definitive Matrix, ist genau die Lösung der linearen Gleichung
. Schon seit
, das vorkonditionierte Gradientenabstiegsverfahren zur Minimierung
ist
Dies ist die vorkonditionierte Richardson-Iteration zum Lösen eines linearen Gleichungssystems.
Verbindung zu Eigenwertproblemen[edit]
Das Minimum des Rayleigh-Quotienten
wo
ist ein reeller Spaltenvektor ungleich Null und
ist eine reelle symmetrische positiv-definitive Matrix, ist der kleinste Eigenwert von
, während der Minimierer der entsprechende Eigenvektor ist. Schon seit
ist proportional zu
, das vorkonditionierte Gradientenabstiegsverfahren zur Minimierung
ist
Dies ist ein Analogon der vorkonditionierten Richardson-Iteration zur Lösung von Eigenwertproblemen.
Variable Vorkonditionierung[edit]
In vielen Fällen kann es vorteilhaft sein, den Vorkonditionierer bei einigen oder sogar jedem Schritt eines iterativen Algorithmus zu ändern, um einer sich ändernden Form der Pegelsätze Rechnung zu tragen, wie in
Man sollte jedoch bedenken, dass der Aufbau eines effizienten Vorkonditionierers sehr oft rechenintensiv ist. Die erhöhten Kosten für die Aktualisierung des Vorkonditionierers können den positiven Effekt einer schnelleren Konvergenz leicht außer Kraft setzen.
Verweise[edit]
Quellen[edit]
Recent Comments