Kaczmarz-Methode

Aus testwiki
Version vom 13. Januar 2025, 07:40 Uhr von imported>Mantelmoewe (growthexperiments-addlink-summary-summary:2|0|1)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Die auf der Arbeit des polnischen Mathematikers Stefan Kaczmarz basierte Kaczmarz-Methode dient der iterativen Lösung linearer Gleichungssysteme der Form Ax=b, wobei Am×n eine, evtl. nicht-quadratische, Matrix, b die gegebene rechte Seite und x der gesuchte Lösungsvektor ist. Es handelt sich dabei um einen iterativen Algorithmus, der unter anderem Einzug in die Computertomographie und digitale Signalverarbeitung gefunden hat.

Im Gegensatz zu den meisten anderen iterativen Lösungsverfahren, wie zum Beispiel dem Gauß-Seidel-Verfahren, benötigt der Kaczmarz-Algorithmus keine invertierbare Matrix A. Insbesondere im unter-bestimmten Fall mit m<n lässt sich damit die Lösung x+=A+b kleinster Norm zur Pseudoinversen A+ berechnen. Aus diesem Grund kann das Verfahren für praktisch alle Anwendungen problemlos eingesetzt werden, obwohl Verfahren für spezielle Problemstellungen wesentlich schneller sein können. Allerdings zeigt eine randomisierte Variante des Kaczmarz-Verfahrens wesentlich bessere Konvergenz im Falle überbestimmter Gleichungssysteme als andere iterative Lösungsverfahren.

Der ursprüngliche Algorithmus

Gegeben ist eine reelle (oder auch komplexe) m × n Matrix Am×n von vollem Rang, sowie ein Vektor b=(bi)m. Die folgende Iterationsformel verbessert bei jedem Durchlauf die Annäherung xk an eine Lösung x der Gleichung Ax = b:

xk+1=xk+ωkbiaiTxkai2ai.,

Bei der deterministischen Variante wird der Index i zyklisch gewählt,

i=(kmodm)+1

und ωk ist ein positiver Relaxationsparameter, der in der ursprünglichen Version gleich eins war. Dabei ist mit aim die transponierte i-te Zeile der Matrix A gemeint, ai2 ist die quadrierte euklidische Norm von ai, die Summe der quadrierten Einträge von ai bzw. das Skalarprodukt ai,ai=aiTai. Das Verfahren ist besonders effizient bei dünn-besetzter Matrix, wenn die Vektoren ai nur wenige nichttriviale Elemente besitzen.

Geometrisch projiziert der einzelne Iterationsschritt den aktuellen Näherungsvektor xk orthogonal auf die i-te Hyperebene, es gilt aiTxk+1=bi.

Mit dem Startwert x0=0 konvergiert die Iteration im unterbestimmten Fall m<n gegen die Lösung x+=A+b kleinster Norm zur Pseudoinversen A+. Im überbestimmten, inkonsistenten Fall m>n springen die Iterierten am Ende allerdings zwischen den Hyperebenen hin und her, und man bekommt nur bei starker Unter-Relaxation mit ωk1 eine brauchbare Näherung an die Kleinste-Quadrate-Lösung x+=A+b.

Querverbindung zu anderen Iterationsverfahren

Im unterbestimmten Fall m<n mit vollem Rang von A liegt die Lösung minimaler Norm im orthogonalen Komplement des Kerns/Nullraums x+N(A)=B(AT), der mit dem Bildraum der transponierten Matrix übereinstimmt. Daher lässt sich x+ darstellen als x+=ATy+,y+m. Somit ist x+ die eindeutige Lösung des Gleichungssystems

AATy=b,x=ATy,

mit positiv definiter Matrix AAT. Wenn man die Iteration mit dem Startwert x0=0 beginnt, liegen offensichtlich auch alle Iterierten im Bildraum von AT. Daher hat jede Iterierte eine eindeutige Darstellung xk=ATyk,ykm. Mit dieser wird der Iterationsschritt zu

ATyk+1=AT(yk+ωkbiaiTATykai2ei),

wobei ei den i-ten Einheitsvektor bezeichnet. Da A vollen Rang besitzt, bedeutet das

yk+1=yk+ωkbiaiTATykai2ei.

Dies ist aber genau der Teilschritt in einer einzelnen Komponente für das Einzelschritt-/Gauß-Seidel-Verfahren (ωk=1) beziehungsweise mit allgemeinem ωk das SOR-Verfahren zum System AATy=b, deren wohlbekannte Konvergenzaussagen sich also auf die Kaczmarz-Iteration übertragen. Z.B. konvergiert diese für festes ωkω(0,2).

Randomisierter Algorithmus

Wie bereits weiter oben erwähnt, gibt es eine Variante des Verfahrens, die im Falle überbestimmter Gleichungssysteme wesentlich schneller konvergiert.[1] Dabei wird bessere Konvergenz nicht nur für das Lösen hochgradig überbestimmter Gleichungssysteme erreicht, sondern bspw. auch beim Lösen von Systemen mit 10 % mehr Gleichungen als Unbekannten. Hierzu muss bei der obigen Iterationsgleichung das i nicht abhängig von k, sondern zufällig (daher der Name der Methode) gewählt werden. Die Wahrscheinlichkeit für ein bestimmtes i ist hierbei proportional zu ai2 für jede Iteration.

Ungleichungssysteme

Eine einfache Modifikation des Verfahrens kann zulässige Lösungen für Ungleichungssysteme Axb,mn, berechnen. Beim Schritt

xk+1=xk+max{0,biaiTxk}ai2ai,

wird eine Änderung nur durchgeführt, wenn biaiTxk>0 ist, also die i-te Ungleichung aiTxkbi verletzt ist. Dann wird xk von außen auf den i-ten Halbraum projiziert.

Auf diese Weise lassen sich mit dem Verfahren sogar Lineare Programme lösen über die Äquivalenz von Optimierungs- und Zulässigkeitsproblemen.

Quellen

  • S. Kaczmarz: Przyblizone rozwiazywanie ukladów równan liniowych. – Angenäherte Auflösung von Systemen linearer Gleichungen. Bulletin International de l’Académie Polonaise des Sciences et des Lettres. Classe des Sciences Mathématiques et Naturelles. Série A, Sciences Mathématiques, S. 355–357, 1937. (Achtung: Dieser Artikel wird sehr verbreitet mit der falschen Seitenangabe 335–357 zitiert.)
  • M. Hanke-Bourgeois; W. Niethammer: On the acceleration of Kaczmarz's method for inconsistent linear systems; Linear Algebra Applcs 130 (1990), 83–98
  • A.Björck, T. Elfving: Accelerated projection methods for computing pseudoinverse solutions of systems of linear equations, BIT 19 (1979), 145–163
  • T. Strohmer, R. Vershynin: A randomized Kaczmarz algorithm with exponential convergence, J. Fourier Anal. Appl. 15(1), 262–278, 2009
  • W. Hackbusch: Iterative Lösung großer schwachbesetzter Gleichungssysteme. Teubner Studienbücher, 1993, S. 202–203

Einzelnachweis

  1. Thomas Strohmer, Roman Vershynin: A randomized solver for linear systems with exponential convergence. (PDF; 155 kB)