Autor |
Logarithmus einer Matrix |
|
sulky
Aktiv  Dabei seit: 21.12.2009 Mitteilungen: 1851
 | Themenstart: 2021-10-19
|
Hallo Zusammen,
Es geht darum zu einer gegebenen Matrix $P\in \mathbb{R}_{n\times n}$ eine Matrix $Q\in \mathbb{R}_{n\times n}$ zu finden, sodass $P=e^Q$.
Aus einem mathematischen Satz ist mir bekannt, dass ein solches $Q$ dann existiert wenn $P$ invertierbar ist.
Ausserdem ist mir bekannt, dass $Q$ nicht zwangsweise immer eindeutig sein muss.
Kennt jemand von euch ein entsprechendes tool um Matrixlogarithmus zu berechnen?
Wenn ich mich richtig erinnere, so habe ich mal online ein Program gefunden um $e^Q$ berechnen zu können. Leider finde ich das Programm nicht mehr.
Nun suche ich ein Program um $ln(P)$ zu berechnen.
Ich wäre auch bereit für das Program zu bezahlen.
Die Rechnungswege zur bestimmung von Matrixlogarithmen sind sehr umständlich und funktionieren (ausser bei diagonalisierbaren Matrizen) nur selten.
Ich habe nicht einmal einen geeigneten algorithmus gefunden um den $ln(P)$
zumindest numerisch zu approximieren.
Wer kennt ein solches tool, bzw. Program?
|
Profil
|
easymathematics
Aktiv  Dabei seit: 30.12.2020 Mitteilungen: 88
 | Beitrag No.1, eingetragen 2021-10-19
|
Schönen Abend,
versuche es doch mal hiermit. :)
http://reference.wolfram.com/language/ref/MatrixLog.html
|
Profil
|
sulky
Aktiv  Dabei seit: 21.12.2009 Mitteilungen: 1851
 | Beitrag No.2, vom Themenstarter, eingetragen 2021-10-19
|
hallo easymathematics,
Vielen Dank für den Tipp.
Ich habe mir nun eine 14-tägige von Wolfram|One heruntergeladen.
Bestimmt eine super Sache, wenn man sich einmal ein wenig Zeit nehmen würde, sich damit vertraut zu machen.
Muss mich jetzt mal ein wenig damit vertraut machen. Und werde mich eventuell nochmals melden.
In meinem ersten Testlauf habe ich extrem lange Ausdrücke gefunden.
2 Nachkomastellen würden eigentlich genügen. Da gibt es bestimmt irgend eine Einstellung
|
Profil
|
sulky
Aktiv  Dabei seit: 21.12.2009 Mitteilungen: 1851
 | Beitrag No.3, vom Themenstarter, eingetragen 2021-10-19
|
Also nun habe ich dies erhalten.
Gut zu sehen, dass das Program auch vor komplexen Einträgen nicht zurückschreckt. Weisst du auch, wie ich mir dies auf eine oder zwei dezimalstellen Runden lassen kann?
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/27687_Matrixlog.png
|
Profil
|
ligning
Senior  Dabei seit: 07.12.2014 Mitteilungen: 3519
Wohnort: Berlin
 | Beitrag No.4, eingetragen 2021-10-19
|
GNU Octave (bzw. Matlab, wenn du dafür Geld übrig hast) wäre evtl. auch eine Lösung. Die Funktion logm berechnet den Matrixlogarithmus, allerdings ist das Ergebnis nicht unbedingt reell. Ich kenn mich damit nicht weiter aus, bist du dir sicher, dass es bei invertierbaren Matrizen immer einen reellen Matrixlogarithmus gibt? Siehe auch die Warnung bei deinem Beispiel:
\sourceon Matlab
>> logm([1 2; 3 4])
warning: logm: principal matrix logarithm is not defined for matrices with negative eigenvalues; computingnon-principal logarithm
warning: called from
logm at line 75 column 5
ans =
-0.35044 + 2.39112i 0.92935 - 1.09376i
1.39403 - 1.64064i 1.04359 + 0.75047i
\sourceoff
|
Profil
|
sulky
Aktiv  Dabei seit: 21.12.2009 Mitteilungen: 1851
 | Beitrag No.5, vom Themenstarter, eingetragen 2021-10-19
|
Hallo ligning,
Ja, das wäre super. Ich ich denke mit Wolfram|One müsste das auch gehen.
Die Rundung auf eine oder zwei Kommastellen geht doch bestimmt. Leider habe ich noch immer nicht herausgefunden wie.
Es geht weniger ums Geld. Auch möglich, dass ich über die Uni kostenlos oder zu reudierten Preisen solche Software beziehen könnte.
Aber gut zu wissen, dass man GNU Octave genau das machen kann, was ich suche.
|
Profil
|
zippy
Senior  Dabei seit: 24.10.2018 Mitteilungen: 4270
 | Beitrag No.6, eingetragen 2021-10-19
|
\quoteon(2021-10-19 19:22 - ligning in Beitrag No. 4)
bist du dir sicher, dass es bei invertierbaren Matrizen immer einen reellen Matrixlogarithmus gibt?
\quoteoff
Betrachte als Gegenbeispiel die invertierbare $1\times1$-Matrix $(-1)$.
[Die Antwort wurde nach Beitrag No.4 begonnen.]
|
Profil
|
ligning
Senior  Dabei seit: 07.12.2014 Mitteilungen: 3519
Wohnort: Berlin
 | Beitrag No.7, eingetragen 2021-10-19
|
Octave gibts auch im Webbrowser: https://octave-online.net/
[Die Antwort wurde nach Beitrag No.5 begonnen.]
|
Profil
|
sulky
Aktiv  Dabei seit: 21.12.2009 Mitteilungen: 1851
 | Beitrag No.8, vom Themenstarter, eingetragen 2021-10-19
|
Super, Jetzt kann ich Matrixlog berechnen. Vielen Dank euch allen.
Noch eine Frage:
Auf Wikipedia lese ich, dass wenn der Matrixlog komplexe einträge enthält, dann ist er nicht eindeutig.
Kann man umgekehrt sagen, dass der Matrixlog eindeutig ist, wenn alle Einträge reel sind?
Das wäre schwierig, denn bei numerischer Berechnung ist der Imaginärteil ja nur "ungefähr Null". Was kann man in diesem Falle hinsichtlich der Eindeutigkeit sagen?
|
Profil
|
ThomasRichard
Senior  Dabei seit: 08.04.2010 Mitteilungen: 466
Wohnort: Aachen
 | Beitrag No.9, eingetragen 2021-10-20
|
Hallo sulky,
Maple kann das auch, Stichwort MatrixFunction im Paket LinearAlgebra.
Falls du eine 15-Tage-Testlizenz brauchst: hier
|
Profil
|
sulky
Aktiv  Dabei seit: 21.12.2009 Mitteilungen: 1851
 | Beitrag No.10, vom Themenstarter, eingetragen 2021-10-29
|
Vielen Dank euch allen,
Das scheint zuverlässig zu funktionieren.
Weiss jemand wie das Program das macht?
Gibt es irgend ein numerisches Verfahren?
Weil Algebraische techniken funktionieren lediglich bei diagonalisierbaren matrizen und in der der Jordan normalform nur in wenigen Fällen.
Der Computer verwendet doch bestimmt einen Algorithmus.
|
Profil
|
rlk
Senior  Dabei seit: 16.03.2007 Mitteilungen: 11567
Wohnort: Wien
 | Beitrag No.11, eingetragen 2021-10-29
|
Hallo sulky,
ein Klick auf logm im Quelltextbereich in Beitrag No. 4 öffnet die Beschreibung dieser Funktion
https://de.mathworks.com/help/matlab/ref/logm.html
dort findest Du Quellenangaben zu den verwendeten Algorithmen.
Servus,
Roland
|
Profil
|
sulky
Aktiv  Dabei seit: 21.12.2009 Mitteilungen: 1851
 | Beitrag No.12, vom Themenstarter, eingetragen 2022-02-17
|
Hallo Zusammen,
Ich habe nochmals eine Frage zum Matrixlogarithmus.
An unzähligen stellen im INternet lese ich, dass $A\in\mathbb{R}^{n\times n}$ genau dann einen Logarithmus besitzt, wenn $A$ invertierbar ist.
Wenn die Eigenwerte von $A$ alle samt nicht reel,negativ sind, dann ist der Log sogar eindeutig.
Ich habe überall nach dem Beweis dieses Satzes gesucht.
Wer weiss wo ich den Beweis finden kann?
|
Profil
|
zippy
Senior  Dabei seit: 24.10.2018 Mitteilungen: 4270
 | Beitrag No.13, eingetragen 2022-02-17
|
\quoteon(2022-02-17 11:24 - sulky in Beitrag No. 12)
An unzähligen stellen im INternet lese ich, dass $A\in\mathbb{R}^{n\times n}$ genau dann einen Logarithmus besitzt, wenn $A$ invertierbar ist.
\quoteoff
Die Richtung "$A$ besitzt einen Logarithmus $\implies$ $A$ ist regulär" ist klar, denn $A=\exp(X)$ hat offenbar die Inverse $A^{-1}=\exp(-X)$.
Die umgekehrte Richtung findest du z.B. hier auf Seite 22. Der dortige Verweis "Gantmacher, 1959" bezieht sich auf das Buch The Theory of Matrices, wo der Beweis auf Seite 239 ff. zu finden ist.
\quoteon(2022-02-17 11:24 - sulky in Beitrag No. 12)
Wenn die Eigenwerte von $A$ alle samt nicht reel,negativ sind, dann ist der Log sogar eindeutig.
\quoteoff
Diese Formulierung stimmt so nicht. Schau dir in dem verlinkten Foliensatz die Seite 26 an.
\quoteon(2022-02-17 11:24 - sulky in Beitrag No. 12)
Ich habe überall nach dem Beweis dieses Satzes gesucht.
\quoteoff
Der oben verlinkte Foliensatz ist die vierte Fundstelle einr Google-Suche nach den Stichworten "matrix logarithm".
|
Profil
|
sulky
Aktiv  Dabei seit: 21.12.2009 Mitteilungen: 1851
 | Beitrag No.14, vom Themenstarter, eingetragen 2022-02-18
|
Hallo Zippy,
Vielen Dank, ja da stehts. Nun brauche ich ein wenig Zeit um dies verstehen zu können.
Aber was verstehe ich jetzt wieder falsch? Der Satz (weiter unten) habe ich so von Wikipedia kopiert.
Sei $A= [-2] \in \mathbb{R}^{1\times 1}$ eine $1\times 1$ Matrix. dann ist doch $A^{-1}=[-\frac{1}{2}]$, also existiert ein Matrixlogarithmus $lnM(A)$, aber $\ln(-1)$ liegt weder in $\mathbb{R}$ noch in $\mathbb{C}$. Wo liege ich hier falsch?
Eine Matrix hat einen Logarithmus genau dann, wenn sie invertierbar ist. Dieser Logarithmus kann eine nicht-reelle Matrix sein, selbst wenn alle Einträge in der Matrix reelle Zahlen sind. In diesem Fall ist der Logarithmus nicht eindeutig.
|
Profil
|
zippy
Senior  Dabei seit: 24.10.2018 Mitteilungen: 4270
 | Beitrag No.15, eingetragen 2022-02-18
|
\quoteon(2022-02-18 08:49 - sulky in Beitrag No. 14)
Aber was verstehe ich jetzt wieder falsch?
\quoteoff
Der Logarithmus einer Matrix ist nie eindeutig. Mit den Bezeichnungen des Foliensatzes: Für bestimmte Matrizen verschwindet zwar die Möglichkeit, mit der Matrix $U$ herumzuspielen, aber die $j_k\in\mathbb Z$ bleiben frei wählbar. Um diese Zahlen festzulegen, muss man sich auf den Hauptwert des Logarithmus beschränken.
\quoteon(2022-02-18 08:49 - sulky in Beitrag No. 14)
aber $\ln(-1)$ liegt weder in $\mathbb{R}$ noch in $\mathbb{C}$. Wo liege ich hier falsch?
\quoteoff
Es ist $\ln(-1)=i\pi\in\mathbb C$.
|
Profil
|
hyperG
Senior  Dabei seit: 03.02.2017 Mitteilungen: 1923
 | Beitrag No.16, eingetragen 2022-02-18
|
\quoteon(2021-10-19 19:32 - sulky in Beitrag No. 5)
...
Die Rundung auf eine oder zwei Kommastellen geht doch bestimmt. Leider habe ich noch immer nicht herausgefunden wie.
...
\quoteoff
N[..., Genauigkeit] wandelt Ergebnisse in Numerischen Wert:
https://matheplanet.com/matheplanet/nuke/html/uploads/b/47407_MatrixLog.PNG
Grüße Gerd
|
Profil
|
sulky
Aktiv  Dabei seit: 21.12.2009 Mitteilungen: 1851
 | Beitrag No.17, vom Themenstarter, eingetragen 2022-06-21
|
Hallo zusammen, ich brauch nochmals Hilfe.
Aus der Quelle, welche in Beitrag 13 empfohlen wurde:
https://www.matheplanet.de/matheplanet/nuke/html/uploads/b/27687_matlog.png
Betrachten wir die Matrix $[1] \in \mathbb{C}^{1\times 1}$. Der einzige Eigenwert von [1] ist offensichtlich $1$.
Dennoch ist $[2\pi i k]\in \mathbb{C}^{1\times 1}$, $k\in \mathbb{Z}$ eine unendlich grosse Menge von Matrzen, sodass $e^{[2\pi i k]}=[1]$
Wo mache ich den Überlegungsfehler? Liegt es an meinem beschränken Englisch?
Ist mit "Principal logarithmus etwas anderes gemeint als ich meine?
was bedeutet $Im(\lambda(X))$?
|
Profil
|
zippy
Senior  Dabei seit: 24.10.2018 Mitteilungen: 4270
 | Beitrag No.18, eingetragen 2022-06-21
|
\quoteon(2022-06-21 11:41 - sulky in Beitrag No. 17)
Ist mit "Principal logarithmus etwas anderes gemeint als ich meine?
\quoteoff
Gemeint ist hier der Hauptwert des Logarithmus, der sich aus den unendlich vielen Lösungen von $\exp(X)=A$ genau eine herauspickt, nämlich die, deren Spektrum im angegebenen Streifen liegt.
Für dein Beispiel wäre $(0)$ der Hauptwert.
--zippy
|
Profil
|
sulky
Aktiv  Dabei seit: 21.12.2009 Mitteilungen: 1851
 | Beitrag No.19, vom Themenstarter, eingetragen 2022-06-21
|
Hallo Zippy,
Vielen Dank für die schnelle Antwort.
Ich glaube es nun zu verstehen. Ist gemeint, dass jener Matrixlogarithmus, dessen Eigenwerte in $(-\pi,\pi)$ liegen existiert und eindeutig ist?
Stimmt das so?
|
Profil
|