Quad. Gleichungssystem von matritzen lösen

Hallo,

gibt es sowas wie die pq-Formel auch für matritzen?

a*A^2+b*A+c*A^0=0 mit a,b,c,A nxn Matritzen

Gruß Kurt

Hallo Kurt,

ich kann’s nicht beweisen, aber ich bezweifle es mal für den Fall allgemeiner Matrizen.

Wie kommt man an die pq-Formel im Fall einer skalaren, quadratischen Gleichung? Durch quadratische Ergänzung, wenn man die Form

(x-a)^2 = b.

Das rechnet man aus und erhält

x^2 - 2*a*x + a^2 - b = 0

Jetzt macht man Koeffizientenvergleich mit der Ausgangsgleichung

x^2 + p * x + q = 0

und erhält

a = -p/2

b = p^2/4 - q

Wenn man etwas Analoges jetzt für den Fall quadratischer Matrizen probiert, dann bekommt man folgendes:

(X - A)^2 = X^2 - A*X - X*A + A^2

Leider (für unseren Fall!) ist es nun so, daß Produkte von Matrizen in der Regel nicht kommutieren, daß heißt, es gilt A*X != X*A.

Damit scheitert leider auch ein eventuell angedachter Koeffizientenvergleich wie oben, also müßte man sich hier was Neues überlegen.

Daß es so aber nicht funktioniert, heißt aber natürlich nicht, daß es gar nicht ginge!

Chris

Eigentlich schade, aber danke Chris für deine schnelle Antwort.

Kann mir dann jemand einen numerischen Ansatz erklären?

Kurt

Hi Kurt, wenn Du die Matrix A komplex diagonalisierst, gilt die p-q-Formel fuer die Diagonalelemente. Loesungen der Matrixgleichung bekommst Du durch Kombination der Komponentenloesungen und Ruecktransformation. Hab’s mir nicht hundertprozentig ueberlegt, muesste aber funktionieren.
T

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Thomas,
(und auch: Hallo Kurt!)

wenn Du die Matrix A komplex diagonalisierst

eine gute Idee, aber man kennt ja nicht einmal die Matrix S, mit der man A in Diagonalgestalt (als S^-1 A S ) bringt.

Zur quadratischen Ergänzung:

Selbst wenn die Matrixgleichung
X^2 + AX + XA + B = 0
lautete (X unbekannt), hat die quadratische Ergänzung kleine Tücken.

Also: Man hat erst

(X + A)^2 = B - A^2

Um die Wurzel von Matrizen zu ziehen, geht man (per definitionem) über Taylor-Reihen. Im Vorgriff sage ich, daß man irgendwas mit I+Y braucht (I Einheitsmatrix), und an Y muß man weitere Bedingungen stellen

(für die Experten: es sollte eine Matrixnorm geben, in der die Norm von Y echt kleiner als 1 ist - sonst hat man quasi eine Wurzel aus einer negativen Matrix… und so easy komplexe Matrizen einführen, ist nicht)

Es ist deshalb gut, A als invertierbar vorauszusetzen. Für B ist das nicht nötig, wie man sehen wird.

(Wenn A nicht inv.bar, dann wähle man die Basis des Vektorraums so, daß in A möglichst viele Nullzeilen/spalten stehen und reduziere das Problem auf einen gescheit gewählten Unterraum).

Also habe ich dann:

(I + XA^-1)^2 = BA^-2 - A^-1

Davon den natürlichen Logarithmus und weitere Umformungen:

2 ln (I + XA^-1)= ln (I + (BA^-2 - A^-1 - I) )

ln (I + XA^-1)= 1/2 ln (I + (BA^-2 - A^-1 - I) )

I + XA^-1 = exp( 1/2 ln (I + (BA^-2 - A^-1 - I) ) )

X = exp( 1/2 ln (I + (BA^-2 - A^-1 - I) ) ) A - A

Es hängt alles an der Matrix BA^-2 - A^-1 - I, die im Logarthmus steht. Wenn deren Matrixnorm echt kleiner als 1 ist, läßt sich der Logarithmus ausführen durch eine Taylor-Reihe. Aber vielleicht muß das nicht sein wegen der exp-Funktion, die heilsame Eigenschaften hat…

Jedenfalls ist so eine Matrixgleichung doch so eine feine Sache :wink:

Gruß
Stefan

Hallo Stefan, und auch hallo, Thomas, Kurt!

wenn Du die Matrix A komplex diagonalisierst

eine gute Idee, aber man kennt ja nicht einmal die Matrix S,
mit der man A in Diagonalgestalt (als S^-1 A S ) bringt.

Das ist IMHO gar nicht das Problem. Ist ja nicht einmal klar, ob man S überhaupt diagonalisieren kann (=> Jordan-Normalform!).

Zur quadratischen Ergänzung:

Selbst wenn die Matrixgleichung
X^2 + AX + XA + B = 0
lautete (X unbekannt), hat die quadratische Ergänzung kleine
Tücken.

Also: Man hat erst

(X + A)^2 = B - A^2

Soweit ok.

Um die Wurzel von Matrizen zu ziehen, geht man (per
definitionem) über Taylor-Reihen.

Würde ich nicht machen, und für sowas hätte mir mein Lineare-Algebra-Prof auch den Kopf abgerissen. :wink: Ich würde über die Jordan-Normalform gehen.

Nennen wir die rechte Seite der Gleichung oben mal R. Das ist eine nxn-Matrix ohne irgendwelche besonderen Eigenschaften. Es gibt nach dem Satz über die Jordansche Normalform immer eine invertierbare Matrix S, so daß

S^(-1) R S = J

die Jordannormalform besitzt. Das heißt: Eigenwerte auf der Diagonalen, eventuell ein paar Einsen auf der oberen Nebendiagonalen, alle anderen Koeffizienten sind Null.

Angenommen, wir können von J eine Wurzel ziehen (dazu komme ich gleich). Die möchte ich mit „J^(1/2)“ bezeichnen. Dann ist die Matrix S J^(1/2) S^(-1) mit S von oben eine Wurzel von R, denn es gilt

(S J^(1/2) S^(-1))^2
= S J^(1/2) S^(-1) S J^(1/2) S^(-1) 
= S J^(1/2) J^(1/2) S^(-1)
= S J S^(-1)
= R


    
    Das war gesucht.
    
    Bleibt also die Wurzel aus einer Matrix in Jordan-Normalform zu bestimmen. Wichtig ist nun, festzustellen, daß die Matrix J Block-Gestalt hat, also J als Endomorphismus des R^n Unterräume von R^n invariant läßt.
    
    Es genügt bei allen weiteren Betrachtungen ohne Beschränkung der Allgemeinheit, sich auf einen dieser Blöcke zu beschränken, daher sie J bereits ein einzelner Jordan-Block. Die sehen so aus, daß auf der Diagonalen ein Eigenwert steht (immer derselbe innerhalb eines Blocks), und auf der oberen Nebendiagonalen stehen nur Einsen (falls es überhaupt eine Nebendiagonale gibt), ergo
    
    
        
         [a 1 0 0 ... 0 0 0]
         [0 a 1 0 ... 0 0 0]
        J = [0 0 a 1 ... 0 0 0]
         [. . . . . . .]
         [0 0 0 0 ... 0 a 1]
         [0 0 0 0 ... 0 0 a]
    
    
    
    Gesucht ist nun eine Wurzel von J, d.h. eine Matrix, W, für die W^2 = J gilt. Ich behaupte, daß diese Matrix die folgende Gestalt haben kann:
    
    
        
         [a\_1 a\_2 a\_3 ... a\_(n-1) a\_n]
         [0 a\_1 a\_2 ... a\_(n-2) a\_(n-1)]
        W = [0 0 a\_1 ... a\_(n-3) a\_(n-2)]
         [. . . . .]
         [0 0 0 ... a\_1 a\_2]
         [0 0 0 ... 0 a\_1]
    
    
    
    Induktiv zeigt man nun, daß die Koeffizienten a\_i in W allgemein bestimmt werden können in Abhängigkeit von a und dem Rang des Endomorphismus.
    
    Verankerung: Rang = 1. Damit haben wir J = [a], W = [a\_1] und W^2 = [a\_1^2], also zum Beispiel a\_1 = Wurzel(a). Ob die nun komplex ist oder nicht, ist egal, sowas wie die Jordansche Normalform macht man sowieso nur über algebraisch vollständigen Körpern (und das wäre in unserem Fall hier halt der Körper der komplexen Zahlen, C). Damit ist die Verankerung gelungen.
    
    Induktionsannahme: Der Zusammenhang gelte für den Rang = n.
    
    Induktionsschluß: Wir zeigen, daß er dann auch für den Rang = n+1 gilt. Dazu beachten wir, daß wir eine weitere Variable (a\_(n+1)) hinzubekommen und nur diese bestimmen müssen, da die anderen sich nicht ändern.
    
    Es gilt W^2 = (w\_ij) mit den Koeffizienten
    
    
        
         [ summe(k = 1..(j-i+1)) a\_k \* a\_(j-i-k+2) für j \>= i
        w\_ij = [ 
         [ 0 sonst.
    
    
    
    (kann man ausrechnen)
    
    Wir stellen fest, daß a\_(n+1) nur in einem Koeffizienten vorkommt, nämlich in w\_(1,n+1) = summe(k = 1...n+1) a\_k \* a\_(n+2-k).
    
    Für den Fall n\>2, den wir hier einmal annehmen wollen (den Fall n=1 kann man mal eben so durchrechnen) muß gelten w\_(1,n+1) = 0. Daraus folgern wir für a\_(n+1):
    
    
        
        0 = a\_1 \* a\_(n+1) + summe(k=2..n) a\_k \* a\_(n+2-k) + a\_(n+1) \* a\_1
        
        
        
        2 \* a\_1 \* a\_(n+1) = - summe(k=2..n) a\_k \* a\_(n+2-k)
    
    
    
    Da a\_1 nicht verschwindet (das haben wir oben ausgerechnet), gilt
    
    
        
        a\_(n+1) = -1/(2 \* a\_1) \* summe(k=2..n) a\_k \* a(n+2-k)
    
    
    
    Also können wir die Wurzel aus J ziehen, was zu zeigen war.
    
    Anmerkung: Wir können für jeden Jordanblock J genau ein Vorzeichen wählen (in der Induktionsverankerung haben wir das positive Vorzeichen gewählt). Es gibt also zu jeder Matrix 2^m Wurzeln, wobei m die Anzahl der Jordanblöcke (die Summe der geometrischen Vielfachheiten aller Eigenwerte) darstellt.
    
    Aber jetzt mal zum eigentlichen Problem von oben: Wir hatten
    
    (A + X)^2 = B - A^2
    
    und können das nun umschreiben zu
    
    A + X = Wurzel(B - A^2)
    
    oder
    
    X = -A + Wurzel(B - A^2).
    
    Wenn wir sowas wie eine quadratische Ergänzung hätten, wär's also schon sehr hilfreich, dann wäre das Problem nämlich gelöst!
    
    Chris

Hallo Kurt!

Kann mir dann jemand einen numerischen Ansatz erklären?

Na klar. Das Problem ist aber nach wie vor, daß unklar ist (!), ob die quadratische Gleichung überhaupt Lösungen besitzt!

Nehmen wir aber mal an, daß sie eine Lösung hat. Dann würde ich das mit einem Newton-Verfahren nähern. Du schreibst dir die Gleichung

A X^2 + B X + C = 0

mit den entsprechenden Matrizen mal als Koeffizienten hin. Dann erhältst du im allgemeinen Fall n^2 Gleichungen, die quadratisch in den Koeffizienten von X sind. Diese n^2 Gleichungen schreibst du dir dann mal als Vektor hin (also alle Gleichungen untereinander). Diesen Vektor bezeichne ich mal mit V(X).

Das Newton-Verfahren läuft nun so, daß du per

X_(n+1) := X_n - V(X_n) * (Jacobi(V)^(-1))(X_n)

mit einem Startwert X_0, der möglichst nahe an deiner gesuchten Lösung liegen sollte.

Das komische Konstrukt „(Jacobi(V)^(-1))(X_n)“ ist das, was die ganze Iteration leider kompliziert macht: Du rechnest die Jacobi-Matrix von V aus (das ist die Matrix, deren Einträge die partiellen Ableitungen einer Komponenten von V(X) nach einer Komponente von X sind). Die hat schonmal n^4 Einträge. Die mußt du dann noch invertieren. Das hat glaube ich einen optimalen Aufwand der Größenordnung O(N^2 log N), wobei hier aber N = n^4 ist. Damit hast du pro Schritt (!) der Iteration einen Aufwand von O(n^8 log n). Anders ausgedrückt: Jenseits von n=5 würde ich mir einen anderen Weg suchen.

Brauchst du wirklich einen allgemeinen Ansatz, oder reicht dir eine Lösung für deinen speziellen Fall? Wenn das so ist, poste den doch mal, dann kann ich ja mal konkret gucken, ob mir dazu was einfällt.

Viel Spaß beim Numbercrunching,

Chris

Hallo Chris,
ein interessantes Posting!
(überhaupt: interessanter Thread)

Das ist IMHO gar nicht das Problem. Ist ja nicht einmal klar,
ob man S überhaupt diagonalisieren kann (=> Jordan-Normalform!)

…Du meinst sicher: A

Um die Wurzel von Matrizen zu ziehen, geht man (per
definitionem) über Taylor-Reihen.

Würde ich nicht machen, und für sowas hätte mir mein
Lineare-Algebra-Prof auch den Kopf abgerissen. :wink:

Vorher ruf ich ihm aber was von MatrixNorm[A]

(S J^(1/2) S^(-1))^2
= S J^(1/2) S^(-1) S J^(1/2) S^(-1)
= S J^(1/2) J^(1/2) S^(-1)
= S J S^(-1)
= R

Das war gesucht.

Gesucht ist nun eine Wurzel von J, d.h. eine Matrix, W, für
die W^2 = J gilt. Ich behaupte, daß diese Matrix die folgende
Gestalt haben kann:

[a_1 a_2 a_3 … a_(n-1) a_n]
[0 a_1 a_2 … a_(n-2) a_(n-1)]
W = [0 0 a_1 … a_(n-3) a_(n-2)]
[. . . . .]
[0 0 0 … a_1 a_2]
[0 0 0 … 0 a_1]

Ja, das ist aber erstmal „nur“ ein Ansatz. Du gibst dann ein rekursives Verfahren zur Berechnung der a_k an. Per Induktion zeigst Du letzlich, daß es zu dem Eigenwert a eine Folge a_1,a_2,…, gibt, mit der man für jeden Rang n von J das W sofort hinschreiben kann, indem man nach obigem Schema die ersten n Folgenglieder einträgt. Eine schöne Sache!

Ich habe die Frage, ob W immer in dieser Dreiecks-Gestalt stehen muß.

Würde man W selbst ebenfalls in eine Jordan-Form bringen, so würde ich erwarten, daß es ebenfalls vom Rang n ist (will sagen: aus einem Monoblock J können nicht kleinere Jordan-Blöcke in J^{1/2} \equiv W entstehen). Aber mehr fällt mir auch nicht ein.

Es gibt also zu jeder Matrix 2^m
Wurzeln, wobei m die Anzahl der Jordanblöcke (die Summe der
geometrischen Vielfachheiten aller Eigenwerte) darstellt.

Einverstanden. :smile:

Beste Grüße
Stefan

Hallo zusammen,

ich bedanke mich für die lebhafte diskussion zu diesem Thema. Leider hat man es als „nur“ Volkswirt schon schwer, diese Diskussion zu verfolgen.

Gestern Abend bin ich aus dein Dokument gestossen, wo ein Ansatz erklärt wurde. http://www.wiwi.hu-berlin.de/wpol/html/toolkit/paper…
(S. 14 ff)

Ich habe mal kurz eine Matlab Funktion geschrieben, die wohl recht gut klappt. Fragt mich bitte nicht nach einen Beweis, bin doch nur ein Ökonom.

Aber trotzdem vielen Dank

Kurt

function X=mquad(A,B,C)
B=-B;
C=-C;
m = rank(A);
D = [B C; eye(m) zeros(m,m)];
E = [A zeros(m,m); zeros(m,m) eye(m)];
[Xi,Yi] = eig(D,E);
X=Xi(1:m,1:m)*Yi(1:m,1:m)/Xi(1:m,1:m);

Hi Stefan!

Das ist IMHO gar nicht das Problem. Ist ja nicht einmal klar,
ob man S überhaupt diagonalisieren kann (=> Jordan-Normalform!)

…Du meinst sicher: A

Ja, in der Tat! :wink:

Um die Wurzel von Matrizen zu ziehen, geht man (per
definitionem) über Taylor-Reihen.

Würde ich nicht machen, und für sowas hätte mir mein
Lineare-Algebra-Prof auch den Kopf abgerissen. :wink:

Vorher ruf ich ihm aber was von MatrixNorm[A]

Hi Kurt und die anderen,

was mich irritiert ist, dass sich die Botschaften hier alle lesen als gaebe es eine eindeutige Loesung. Ich finde das nicht offensichtlich schon allein, weil es schon im eindimensionalen Fall normalerweise keine eindeutige Loesung gibt. Habe eher das Gefuehl, das es groessenordnungsmaessig 2^N Loesungen sein koennen, wobei N die Dimension des Problems ist. Falls in X^2 + AX + B = 0, beide A und B diagonal sind (oder auch nur symmetrisch) kann man diagonale X-Matrizen als (evtl nur Teil-)Loesungen konstruieren, so dass das Gleichungssystem in n Komponenten zerfaellt, die unabhaengig voneinander 0, 1 oder 2 Loesungen haben. Zusammengesetzt ergibt das ziemlich viele Loesungen fuer die Matrix-Gleichung. Oder irre ich mich?

Ohne weitere Argumente, waer ich vorsichtig mit der Tasache, dass Kurts Algorithmus was ausgibt. Selbst wenn das sinnvoll aussieht…

Gruesse,
T

Hi Kurt und die anderen,
hab mal in das von Kurt zitierte Papier reingesehen.
Irgendwo im hinteren Drittel schlittern sie scharf dran vorbei (naemlisch da, wo sie fuer den ein-dimensionalen Fall zwei Loesungen angeben…), aber im Prinzip wird das Problem mit der Eindeutigkeit ignoriert. Aus dem Papier geht auch kein offensichtlicher Grund hervor, warum man vielleicht nur strikt postitive Loesungen nehmen koennte, was das Problem wahrscheinlich wieder eindeutig machen wuerde. Ich bin skeptisch …

Andere Frage and Kurt : Ist diese Art von Modellen in der Volkswirtschaft wirklich nuetzlich. D.h. hat da schon mal einer Geld mit verdient? Oder besser gesagt, kann man da im Mittel Geld mit verdienen?
Gruesse,
T

hamm wir doch: Mehrdeutigkeit :smile:
Hallo Thomas,

was mich irritiert ist, dass sich die Botschaften hier alle
lesen als gaebe es eine eindeutige Loesung.

ooch, Christian hat das doch so schön hingeschrieben: man hat 2^m Wurzeln einer Matrix (mindestens jedenfalls…) -
also, wenigstens *er* hat dran gedacht :smile:

Wegen Geldverdienen: Ich persönlich frage mich schon, was die in diesen Konzernen eigentlich immer für so tolle Modelle bauen und trotzdem kaum Mathematiker/Physiker einstellen…

in der Bibliothek gibt es fette Bücher über Finanzmathematik und über Bedienungstheorie (

Immer lächeln. :smile:

Gruß
Stefan

Hallo Thomas,

was mich irritiert ist, dass sich die Botschaften hier alle
lesen als gaebe es eine eindeutige Loesung.

ooch, Christian hat das doch so schön hingeschrieben: man hat
2^m Wurzeln einer Matrix (mindestens jedenfalls…) -
also, wenigstens *er* hat dran gedacht :smile:

Ach, hab ich schon wieder nicht aufgepasst? Ein Hoch auf Christian!

Wegen Geldverdienen: Ich persönlich frage mich schon, was die
in diesen Konzernen eigentlich immer für so tolle Modelle
bauen und trotzdem kaum Mathematiker/Physiker einstellen…

Also ich vermute ja stark, das der Kurt gar nicht fuer einen Konzern arbeitet …
Ansonsten stellen die Konzerne schon auch Physiker und Mathematiker ein. Nur nicht fuer die Berechnung ihrer Finanzen (ausser Statistiker). Das erwaehnte Papier handelt von nichtlinearen stochastischen Bewegungsgleichungen fuer oekonomische Prozesse. Sieht aus wie Stoerungsrechnung, erkennt man aber kaum wieder. Und dann eben das Problem mit der Mehrdeutigkeit… mir ist das nicht geheuer; kann sein, dass da was faul ist. Aber ich wollte in erster Linie nur wissen, ob dass ein rein akademische Modell ist, oder ob und wo so oekonomische Modelle praktischen Nutzen haben.

ach komm … Kopf hoch!

Immer lächeln. :smile:

ebend!

Gruß
Stefan

Gruss zurueck,
Thomas

PS: Wie du bist Doktorand in Leipzig? Ich war da 4 Jahre am MPI-MIS.
Schoenes Staedchen, sehr schoenes Staedchen…

Hallo Thomas und die anderen,

Die Modelle sind z.Z. der letzte Hit in der Konjunkturtheorie. Man wandelt ein ökonomisches Problem in ein dynamisches mathematisches System um und schaut an, was passiert wenn man das dynamische System mit einem Schock - z.B. ein Geldmengenschock - versetzt (Impuls-Antwort-Funktion). Man vergleicht diese mit empirischen Daten und prüft die ökonomische Plausibilität (deswegen sind strikt positive Lösungen nur ökonomisch sinnvoll. Man macht es sich hier einfach). Geld kann man damit heute noch nicht machen, aber in den letzte Jahren sind solche Modelle in der Wissenschaft und in den Forschungsinstituten weit verbreitet.
Wobei anzumerken ist, dass diese Gangart von einigen Ökonomen stark kritisiert wird. Aber schlägt man moderne Makroökonomische Lehrbücher auf, so findet man diese Modelle immer wieder.
Ich bedanke mich an Euch für die große Hilfe.

Kurt

Hi Kurt,

Danke fuer die Erlaeuterungen. In Physik und Chemie sind so Modelle ziemlich grundlegen. Da koemmen sie als „nichtlineare stochastische zeitdiskerte dynamische Systeme“ daher und die Methoden in dem von Dir angegebenen Papier laufen als lineare Stoerungsrechnung und lineare Response Theorie. Das physikalische Modelle, als Econo-Physics neu definiert, in die Oekonomie vordringen war mir nicht unbemerkt geblieben. Ich dachte aber bisher, dass das von den Oekonomen gar nicht so ernst genommen wird.

Rein technisch: Warum da nicht alle Wurzeln relevant sein sollen ist mir nach wie vor schleierhaft. Das Positivitaetsargument ueberzeugt mich nicht.

Was ist denn ein gutes Buch ueber Markooekonomie, wo so nette Modelle drin stehen?

Gruesse,
Thomas

Hi Thomas,

in die Diskussion zum Positivitätsargument will ich mich nicht mehr einmischen, dazu fehlt mir leider der Background.

Ein gutes Buch zu der RBC-Literatur (Real-Business-Cycle Theory) ist das Buch „Advanced Macroeconomics“ von David Romer, wobei das Buch nicht so mathematisch ist.
Viele Paper zu dynamischen ökon. Sytstemen (weitgehend monetäre - also immer etwas mit Geld und der Zentralbank) findest du unter http://faculty.econ.nwu.edu/faculty/christiano/resea…. Besonders interessant ist vielleicht http://faculty.econ.nwu.edu/faculty/christiano/resea….

Das die Physik sich auch in die Ökonomie einnistet ist mir besonders bei einigen CV`s von Professoren aufgefallen. Da fällt mir z.B. Barro ein (Schwerpunkt Wachstumstheorie) der neben Ökonom auch den B.S. in Physik besitzt.

Bis dann

Kurt

Hi Kurt,
Thanxs for the info.
T