Matroids Matheplanet Forum Index
Moderiert von matroid mire2
Matroids Matheplanet Forum Index » Mathematische Software & Apps » Logarithmus einer Matrix
Autor
Universität/Hochschule Logarithmus einer Matrix
sulky
Aktiv Letzter Besuch: im letzten Monat
Dabei seit: 21.12.2009
Mitteilungen: 1724
  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 Letzter Besuch: in der letzten Woche
Dabei seit: 30.12.2020
Mitteilungen: 69
  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 Letzter Besuch: im letzten Monat
Dabei seit: 21.12.2009
Mitteilungen: 1724
  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 Letzter Besuch: im letzten Monat
Dabei seit: 21.12.2009
Mitteilungen: 1724
  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 Letzter Besuch: in der letzten Woche
Dabei seit: 07.12.2014
Mitteilungen: 3341
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 Letzter Besuch: im letzten Monat
Dabei seit: 21.12.2009
Mitteilungen: 1724
  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 Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 2921
  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 Letzter Besuch: in der letzten Woche
Dabei seit: 07.12.2014
Mitteilungen: 3341
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 Letzter Besuch: im letzten Monat
Dabei seit: 21.12.2009
Mitteilungen: 1724
  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 Letzter Besuch: in der letzten Woche
Dabei seit: 08.04.2010
Mitteilungen: 441
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 Letzter Besuch: im letzten Monat
Dabei seit: 21.12.2009
Mitteilungen: 1724
  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 Letzter Besuch: in der letzten Woche
Dabei seit: 16.03.2007
Mitteilungen: 11151
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 hat die Antworten auf ihre/seine Frage gesehen.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]