Ränderung

Aus testwiki
Zur Navigation springen Zur Suche springen

Vorlage:Dieser Artikel Als Ränderung (engl.: Bordering Method) bezeichnet man ein Verfahren zur Verbesserung der Lösungseigenschaften linearer Gleichungssysteme. Das Verfahren kommt in der linearen Algebra und der Numerik zur Anwendung.

Einem linearen Gleichungssystem

Ax=b

mit singulärer oder schlecht konditionierter Systemmatrix Am×n kann man durch Hinzufügen von Zeilen und Spalten zu A und entsprechendes Vergrößern von x und b ein erweitertes lineares Gleichungssystem zuordnen, bei dem die Systemmatrix gut konditioniert (also auch regulär) ist. Die einfachen Beispiele in den nächsten zwei Abschnitten sollen das verdeutlichen. Die durch Zeilen und Spalten ergänzte Systemmatrix bezeichnet man auch als geränderte Matrix.

Beispiel (Regularisierung)

Gegeben sei das Gleichungssystem

(0)(x1)=(1)

mit der 1×1-Systemmatrix A=(0), dem Einervektor x=(x1) der Unbekannten und der rechten Seite b=(1). Dieses kann durch Ränderung der Systemmatrix mit der Spalte (10) und der Zeile (10) regularisiert werden:

(0110)(x1x2)=(10).

Die zu dem ursprünglichen System hinzugekommenen Einträge sind überstrichen. Das geränderte System hat die eindeutige Lösung x2 mit x1=0,x2=1. Davon ist die durch die Ränderung dem ursprünglichen Problem zugeordnete Lösung x1=0. Die Größe von x2 drückt aus, wie stark der regularisierende Einfluss der Ränderung ist.

Beispiel (Verbesserung der Kondition)

In diesem Beispiel sei b2 ein bzgl. der euklidischen Norm mit 10 % Fehler behafteter Messwertvektor aus dem mit Hilfe der Gleichung

(11001)(x1x2)=(b1b2)A

die Größen x1,x2 ermittelt werden sollen. Für b=(10) ergibt sich die Lösung x=(10). Für die um ca 10 % abweichende (also innerhalb der Fehlertoleranz liegende) rechte Seite b=(10.1) ermittelt man die vollkommen andere Lösung x=(00.1).

Ein Maß dafür, wie stark sich relative Fehler |Δb||b| in der Messung auf den relativen Fehler |Δx||x| des Rechenergebnisses auswirken, ist die Kondition der Systemmatrix A

cond(A)=max{|Δx||x||Δb||b||b,Δbn{0},Ax=b,A(x+Δx)=(b+Δb)}.

Für die spezielle Wahl von A aus diesem Beispiel ergibt sich cond(A)102. Relative Fehler in den Messdaten b können sich also durch die schlechte Kondition der Matrix A ca. hundertfach im relativen Fehler der aus diesen Daten berechneten Größen x niederschlagen.

Dieser Effekt ist im folgenden Bild für die oben vorgegebenen rechten Seiten grafisch veranschaulicht. Aus dem oberen Teil des Bildes erkennt man, dass die zwei Spaltenvektoren a(1):=(10) und a(2):=(101) von A beinahe linear abhängig voneinander sind.

Geometrische Interpretation der schlechten Kondition der Matrix A

Dadurch fallen die im unteren Teil des Bildes rot dargestellten zwei rechten Seiten b(1) und b(2), die sehr nahe beieinander liegen, in die Bildräume unterschiedlicher Spalten von A und die Koeffizienten x1,x2 in

a(1)x1+a(2)x2=Ax=b

unterscheiden sich beim Wechsel von b=b(1) zu b=b(2) stark voneinander.

Effekt einer Ränderung: Das Hinzufügen einer zusätzlichen Zeile zu A entspricht der Erweiterung des Wertebereiches von A um eine Dimension vom 2 zum 3 und mit dem Ergänzen einer Spalte kommt ein neuer Spaltenvektor a(3) hinzu. Durch geschickte Wahl der zusätzlichen Komponenten a3(1),a3(2) und des zusätzlichen Spaltenvektors a(3) erreicht man, dass die Spaltenvektoren der geränderten Matrix A:=(a(1)a(2)a(3)) wesentlich besser voneinander separiert werden. Genauer wählt man die neuen Freiheitsgrade möglichst so, dass die Spalten a(1),a(2),a(3) der geränderten Matrix A senkrecht aufeinander stehen und die gleiche Länge haben.

Im Beispiel erreicht man das näherungsweise mit der Ränderung

A_:=(1100_0110_10_0_0_).

Die Lage der Spaltenvektoren der geränderten Matrix A_ im 3 ist im folgenden Bild veranschaulicht.

Datei:Raenderung2.png

Für das geränderte System

A_x_=b_

ergeben sich mit den geränderten rechten Seiten b_(1)=(1,0,0) und b_(2)=(1,0.1,0) jeweils die Lösungen x_(1)=(0,0.1,0.01) bzw. x_(2)=(0,0.1,0). Die für die Messaufgabe wesentlichen Komponenten x1 und x2 ändern sich also durch die 10 %ige Störung von b überhaupt nicht.

Das ist in den folgenden zwei Bildern noch einmal veranschaulicht.

Datei:Raenderung3.png
Datei:Raenderung4.png

Die Konditionszahl der geränderten Matrix hat sich auf cond(A_)1.15 verringert. Der relative Fehler wird sich durch die Berechnung von x_ aus den Messwerten b_ also nur noch höchstens um ca. 15 % verschlechtern.

In diesem motivierenden Beispiel wurde die Ränderung sehr einfach gehalten. Durch eine geschicktere Wahl der Ränderung ist erreichbar, dass sich der relative Fehler durch die Berechnung von x aus b überhaupt nicht mehr verschlechtert, dass also cond(A_)=1 gilt.

Regularisierung

Sei A eine reelle m×n-Matrix und b ein dazu passender m-dimensionaler Spaltenvektor. Eine geränderte Matrix

(AAroAlu0)

mit passenden Matrizen Aro und Alu ist genau dann regulär, wenn die Zeilen von Alu eine Basis des Kerns von A bilden und die Spalten von Aro ein minimales System von Spalten ist, das zusammen mit den Spalten von A den m aufspannt. In diesem Fall lässt sich das geränderte System

(AAroAlu0)(xxu)=(b0)

eindeutig lösen und die Dimension der (quadratischen) geränderten Matrix ist m+def(A) (hierbei ist def(A) der Defekt von A).

Je nach Wahl der Matrizen Aro und Alu kann man verschiedene Aufgaben lösen. Spannen zum Beispiel die Zeilen von Alu den Kern von A auf und die Spalten von Aro das orthogonale Komplement des Bildes von A, so ist x aus der Lösung des geränderten Gleichungssystems gerade A+b mit der Pseudoinversen A+ von A. Den Kern von A kann man mit Hilfe des Gaußschen Eliminationsverfahrens berechnen und das orthogonale Komplement des Bildes von A berechnet man günstigerweise als Kern von AT.

Optimale Ränderung

Die Idee aus dem letzten Abschnitt wird hier aufgegriffen und eine beliebige Matrix Am×n so gerändert, dass die Spalten der erweiterten Matrix A alle senkrecht aufeinander stehen und die gleiche euklidische Norm haben. Die erweiterte Matrix A¯ ist dann das Produkt des größten Singulärwertes von A mit einer orthogonalen Matrix und hat damit die minimal mögliche Konditionszahl eins. Die hier benutzte Darstellung orientiert sich an [1].

Singulärwertzerlegung als Hilfsmittel zur Ränderung

Die Struktur der Systemmatrix kann man mit Hilfe einer aus der Singulärwertzerlegung A=UΣVT von Am×n gewonnenen Koordinatentransformation bU:=UTb, xV:=VTx vereinfachen. Die neue Systemmatrix Σm×n hat dann sehr viele Nulleinträge. Nur die Elemente Σ1,1,,Σr,r sind mit Nichtnullelementen, nämlich den Singulärwerten Σ1,1:=σ1Σ2,2:=σ2Σr,r:=σr>0, belegt. Hierbei ist r der Rang der Matrix A.

Die Transformationsmatrizen Um×m und Vn×n sind orthogonal und damit normerhaltend |bU|=|UTb|, |xV|=|VTx|. Daraus folgt, dass die transformierte Systemmatrix Σ die gleiche Kondition hat, wie die originale Systemmatrix A.

Eine Erweiterung

Σ¯:=(ΣΣ¯roΣ¯luΣ¯ru)m¯×n¯ mit m¯m und n¯n

der Matrix Σ um Matrixblöcke (zueinander passender Dimensionen) Σ¯rom¯×(n¯n),Σ¯lu(m¯m)×n,Σ¯ru(m¯m)×(n¯n) entspricht eine Ränderung der Matrix A, wenn man die Transformationsmatrizen U und V passend durch Teile der Einheitsmatrix ergänzt:

A¯:=(U𝟎m×(m¯m)𝟎(m¯m)×m𝟏(m¯m)×(m¯m))(Σ(11)Σ¯roΣ¯luΣ¯ru)(VT𝟎n×(n¯n)𝟎(n¯n)×n𝟏(n¯n)×(n¯n))=(UΣVTUΣ¯roΣ¯luVTΣ¯ru)=(AUΣ¯roΣ¯luVTΣ¯ru)

Die erweiterten Transformationsmatrizen V¯:=(V𝟎𝟎𝟏) und U¯:=(U𝟎𝟎𝟏) sind wieder orthogonal, womit die Kondition der erweiterten Systemmatrix A¯ mit der der Matrix Σ¯ übereinstimmt.

Im Folgenden brauchen also nur noch Matrizen untersucht werden, die eine Systemmatrix mit der (von der Singulärwertzerlegung her bekannten) Struktur

Σi,j={σi,i wenn i=jr0 sonst 

mit einer ganzen Zahl 0rmin(m,n) haben.

Ergänzung einer rechteckigen Matrix zu einer quadratischen

Hier wird nur die Ränderung von Matrizen mit mehr Zeilen als Spalten beschrieben (m>n). Durch Transposition kann man die Aussagen auf Matrizen mit mehr Spalten als Zeilen übertragen. Mit den Aussagen aus dem vorhergehenden Abschnitt ist klar, dass man sich auf die Untersuchung von Matrizen der Form

Σ=(D𝟎)

beschränken kann, wobei D eine positiv semidefinite Diagonalmatrix und 𝟎 eine Nullmatrix mit der gleichen Anzahl an Spalten wie D ist. Zunächst wird vorausgesetzt, dass D keine Nullmatrix ist. Das maximale Diagonalelement dmax von D ist also größer null. Dann ist es günstig, die fehlenden Spalten durch die an diese Spaltenpositionen gehörigen Spalten der mit dmax skalierten Einheitsmatrix zu ergänzen:

Σ¯=(D𝟎𝟎dmax𝟏).

Falls D regulär ist, trifft das auch für die geränderte Matrix Σ¯ zu. Man hat also die Matrix in diesem Falle regularisiert.

Nachdem man die Rechteckmatrix so zu einer quadratischen ergänzt hat, kann man die im nächsten Abschnitt beschriebene Ränderung benutzen, um die Matrix besser zu konditionieren (oder, falls D singulär ist, zu regularisieren). Dort wird sich herausstellen, dass die Wahl von dmax als Skalierungsfaktor günstig ist, da man die Norm dieser Spalten dann nicht mehr künstlich durch eine Ränderung vergrößern muss.

Optimale Ränderung einer quadratischen Matrix

Im vorhergehenden Abschnitt wurde beschrieben, wie man eine rechteckige Matrix durch Ränderung günstig zu einer quadratischen ergänzen kann. Hier wird nun darauf eingegangen, wie sich die Kondition einer quadratischen Matrix verbessern oder im singulären Fall die Matrix regularisieren lässt.

Der Unterabschnitt zur Singulärwertzerlegung zeigt, dass man sich dabei auf die Ränderung von Diagonalmatrizen Σ=diag(σ1,,σr,0,0) beschränken kann.

Die Spaltenvektoren der Matrix Σ stehen bereits senkrecht aufeinander. Man muss sie nur noch geeignet verlängern, damit sie normgleich werden. Dabei fängt man mit dem letzten Spaltenvektor an, dessen Komponente Σn,n den kleinsten Wert der Diagonalelemente von Σ hat. Zunächst ergänzt man Σ durch eine Zeile zn+1,:=(00zn+1,n)1×n, was einer Erweiterung des Spaltenvektorraumes um eine Dimension entspricht (der Punkt steht hier als Stellvertreter für den Spaltenindex). In dieser zusätzlichen Dimension verlängert man den letzten Spaltenvektor der erweiterten Matrix so weit, dass er die gleiche euklidische Länge wie der erste (längste) Spaltenvektor von Σ bekommt (also die Länge σ1):

zn+1,n:=σ12Σn,n2.

Die Spaltenvektoren der erweiterten Matrix (Σzn+1,) bleiben dadurch orthogonal zueinander. Um wieder eine quadratische Matrix zu erhalten, muss man noch eine Spalte s,n+1 ergänzen. Dazu wählt man günstigerweise eine Spalte mit

si,n:={zn+1,n wenn i=nΣn,n wenn i=n+10 sonst

Die Spalte s,n+1 hat die gewünschte Norm σ1 und steht wiederum senkrecht auf allen anderen Spalten der erweiterten Matrix

Σ¯:=(Σzn+1,|s,n+1).

Durch analoges Ergänzen weiterer Zeilen und Spalten kann man sukzessive die Norm aller Spaltenvektoren der erweiterten Matrix angleichen. Wie gewünscht, ist das Ergebnis eine Systemmatrix, deren Spalten alle orthogonal aufeinander stehen und die gleiche Norm haben.

Einzelnachweise

  1. Uwe Schnabel: Minimierung der Konditionszahl durch Ränderung von Matrizen. Preprint IOKOMO-05-2001, TU Dresden. 2001.