Anfängerfrage: Eigenwerte < Eigenwerte < Lineare Algebra < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 20:57 Sa 15.10.2016 | Autor: | Arno_ |
Hallo,
ich programmiere momentan für eine technische Aufgabenstellung bei der auch Eigenwerte (und -vektoren) berechnet werden müssen.
Für mich ist das alles neu, deswegen frage ich hier mal nach.
Was ich habe:
Matrix A (symmetrisch) und Matrix B (nur auf der Hauptdiagonalen besetzt).
Die Grundformel für Eigenwerte ist soweit ich weiß:
det([A]-lambda*[B]) = 0
In meiner Recherche finde ich für Matrix B aber immer nur eine Einheitsmatrix, wo auf der Hauptdiagonalen nur Einsen sind.
Meine Matrix B hat auf der Hauptdiagonalen aber keine Einsen, sondern andere Werte.
Ich kann für die Programmierung nun auf ein Tool zurückgreifen, welches mir die Eigenwerte errechnet.
Leider fordert das Tool aber nur eine Matrix, nämlich Matrix A. Wenn man für B nur eine Einheitsmatrix hat, ist das ja verständlich. Wie mache ich das denn dann, wenn ich als Matrix B keine Einheitsmatrix habe?
Meine Idee war: [A*] = [A]/[B]
Damit komme ich leider nicht auf die richtigen Werte. Ist das vom Vorgehen denn falsch?
Falls ja, was wäre die Lösung? ;)
Schönes Wochenende,
Arno
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 21:19 Sa 15.10.2016 | Autor: | leduart |
Hallo
was für eine Sprache denn? in Matlab würd ich help probieren
Gruß ledum
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 21:39 Sa 15.10.2016 | Autor: | chrisno |
> Hallo,
>
> ich programmiere momentan für eine technische
> Aufgabenstellung bei der auch Eigenwerte (und -vektoren)
> berechnet werden müssen.
>
> Für mich ist das alles neu, deswegen frage ich hier mal
> nach.
>
> Was ich habe:
> Matrix A (symmetrisch) und Matrix B (nur auf der
> Hauptdiagonalen besetzt).
>
> Die Grundformel für Eigenwerte ist soweit ich weiß:
>
> det([A]-lambda*[B]) = 0
>
> In meiner Recherche finde ich für Matrix B aber immer nur
> eine Einheitsmatrix, wo auf der Hauptdiagonalen nur Einsen
> sind.
> Meine Matrix B hat auf der Hauptdiagonalen aber keine
> Einsen, sondern andere Werte.
Bestimme die inverse Matrix zu [B]: [mm][B]^{-1}[/mm]
>
> Ich kann für die Programmierung nun auf ein Tool
> zurückgreifen, welches mir die Eigenwerte errechnet.
> Leider fordert das Tool aber nur eine Matrix, nämlich
> Matrix A. Wenn man für B nur eine Einheitsmatrix hat, ist
> das ja verständlich. Wie mache ich das denn dann, wenn ich
> als Matrix B keine Einheitsmatrix habe?
Wende es auf $[A] [mm] \cdot [B]^{-1}$ [/mm] an.
>
> Meine Idee war: [A*] = [A]/[B]
Division durch eine Matrix?
>
> Damit komme ich leider nicht auf die richtigen Werte. Ist
> das vom Vorgehen denn falsch?
Ich bin schon lange aus dem Geschäft, aber probier mal, was bei meinem Vorschlag herauskommt.
> Falls ja, was wäre die Lösung? ;)
>
> Schönes Wochenende,
> Arno
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:37 So 16.10.2016 | Autor: | tobit09 |
Hallo chrisno!
> Bestimme die inverse Matrix zu [B]: [mm][B]^{-1}[/mm]
(Dies setzt die Invertierbarkeit von B voraus, also dass auf der Hauptdiagonalen von B der Wert 0 nicht auftaucht. Ob dies garantiert der Fall ist, wird Arno wahrscheinlich wissen.)
Du schlägst vor, die Eigenwerte von [mm] $A*B^{-1}$ [/mm] zu bestimmen. Ich sehe keinen Anhaltspunkt dafür, dass diese Eigenwerte gesucht sind. Was eigentlich gesucht wird, ist mir, wie in meiner Antwort geschildert, unklar.
Viele Grüße
Tobias
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 08:27 So 16.10.2016 | Autor: | tobit09 |
Hallo Arno_!
> ich programmiere momentan für eine technische
> Aufgabenstellung bei der auch Eigenwerte (und -vektoren)
> berechnet werden müssen.
>
> Für mich ist das alles neu, deswegen frage ich hier mal
> nach.
>
> Was ich habe:
> Matrix A (symmetrisch) und Matrix B (nur auf der
> Hauptdiagonalen besetzt).
Mir ist noch völlig unklar, was du eigentlich bestimmen möchtest. Die Eigenwerte/-vektoren von A? Die Eigenwerte/-vektoren von B? Oder noch etwas anderes?
> Die Grundformel für Eigenwerte ist soweit ich weiß:
>
> det([A]-lambda*[B]) = 0
>
> In meiner Recherche finde ich für Matrix B aber immer nur
> eine Einheitsmatrix, wo auf der Hauptdiagonalen nur Einsen
> sind.
[mm] $\lambda$ [/mm] ist genau dann Eigenwert von A (!), wenn [mm] $det(A-\lambda*E)=0$ [/mm] gilt, wobei E die Einheitsmatrix ("passender Größe") bezeichne.
Es geht also bei der "Grundformel für Eigenwerte" um Eigenwerte von A. Die Matrix B aus der Formel hat nichts mit deiner Matrix B zu tun.
> Meine Matrix B hat auf der Hauptdiagonalen aber keine
> Einsen, sondern andere Werte.
>
> Ich kann für die Programmierung nun auf ein Tool
> zurückgreifen, welches mir die Eigenwerte errechnet.
> Leider fordert das Tool aber nur eine Matrix, nämlich
> Matrix A. Wenn man für B nur eine Einheitsmatrix hat, ist
> das ja verständlich. Wie mache ich das denn dann, wenn ich
> als Matrix B keine Einheitsmatrix habe?
Wenn das Tool die Aufgabe hat, Eigenwerte einer Matrix zu bestimmen, was sollte es mit zwei Matrizen anfangen?
Also mein Fazit: Zunächst ist zu klären, was eigentlich genau bestimmt werden soll.
Viele Grüße
Tobias
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 11:47 So 16.10.2016 | Autor: | hippias |
Auch ich bin mir nicht ganz sicher, um was es Dir genau geht. Trotzdem möchte ich folgendes anmerken.
Von Eingenwerten/-vektoren spricht man, wenn $B$ nur Einsen auf der Hauptdiagonalen hat - d.i. die sogenannte Einheitsmatrix. Ich verstehe Dich so, dass Du, könnte man sagen, verallgemeinerte Eigenwerte berechnen möchtest, in dem Sinne, dass $B$ eben auch andere Werte als $1$ auf der Hauptdiagonalen haben darf. Daher könnte es für dieses Problem keine Standardimplementierung zur Berechnung geben.
Deine Idee sollte aber funktionieren, wenn $B$ invertierbar ist, denn es gilt dann [mm] $\det(A-\lambda B)=0\iff \det(B^{-1}A-\lambda)=0$, [/mm] d.h. die "verallgemeinerten Eigenwerte von $A$ bezüglich $B$" sind die - herkömmlichen - Eigenwerte von [mm] $B^{-1}A$. [/mm]
Wenn ich bis hierhin mit meiner Interpretation richtig gelegen habe, dann stimmen die verallgemeinerten Eigenvektoren von $A$ bezüglich $B$ mit den herkömmlichen Eigenvektoren von [mm] $B^{-1}A$ [/mm] überein.
Für Python gibt es im scipy.linalg Paket die Option solch verallgemeinerten Eigenwerte zu berechnen.
Zeig' doch mal Deine Rechnung bzw. Deinen Code.
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 11:13 Fr 21.10.2016 | Autor: | Arno_ |
Danke für die Antworten, auch wenn ich mich erst spät melde.
Du hast das Problem richtig erkannt. Ich möchte quasi das allgemeine Eigenwertproblem auf das spezielle Eigenwertproblem ummünzen.
Ich programmiere in VB.NET und könnte die ALGLIB zur Berechnung nutzen.
Mit der ALGLIB kann ich das spezielle Eigenwertproblem für symmetrische Matrizen lösen.
Jetzt habe ich folgendes gefunden um das allgemeine auf das spezielle Eigenwertproblem umzumodellieren:
http://www.rzbt.haw-hamburg.de/dankert/WWWErgVert/html/allgemeines_____spezielles_mat.html
Das habe ich nun mit einem kleinem Beispiel in MathCAD ausprobiert... und es klappt nicht :(
Ich verlinke mal ein Bild zum Beispiel:
https://i.imagebanana.com/img/9n1fzmwr/mathe.png
Kann sich das jemand erklären?
Danke weiterhin für die Hilfe.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:35 Fr 21.10.2016 | Autor: | chrisno |
Was klappt denn nicht?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 11:20 Sa 29.10.2016 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|