Adjunkte mit Derive berechnen < Derive < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 13:03 Mi 03.01.2007 | Autor: | Eyedea |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Leider habe ich bisher vollkommen erfolglos versucht herauszufinden ob und wenn ja wie ich die Adjunkte einer Matrix mit Derive berechnen kann. Hat jemand dazu eine Idee?
Gruß
Eyedea
|
|
|
|
Hallo Eyedea und ,
> Ich habe diese Frage in keinem Forum auf anderen
> Internetseiten gestellt.
>
> Leider habe ich bisher vollkommen erfolglos versucht
> herauszufinden ob und wenn ja wie ich die Adjunkte einer
> Matrix mit Derive berechnen kann. Hat jemand dazu eine
> Idee?
Such mal in der Online-Hilfe vonDerive nach "adjugierte:Matrix":
Lineare Algebra
Die Datei LinearAlgebra.mth definiert Funktionen, die die eingebauten linearen Algebra-Fähigkeiten von Derive ergänzen. Die Funktionsdefinitionen dieser Zusatz-Datei werden automatisch geladen, wenn eine ihrer Funktionen das erste mal verwendet wird. Die Datei LinearAlgebra.dfw beinhaltet in der mth-Datei Definitionen mit Kommentaren und Beispielen.
Grundbefehle zur Zeilenreduktion
Die fünf Funktionen dieses Abschnittes können verwendet werden, um an einer Matrix elementare Zeilenumformung vorzunehmen. Damit kann Schritt für Schritt die Gaussschen oder Gauss-Jordanschen Elimination angewendet werden. Die ist für Lernzwecke nützlich oder es kann Ihnen helfen, eine bessere Auswahl von Pivotelementen zu treffen als die eingebauten Funktionen, um die obere Dreiecksform (siehe elementare Zeilenumformung) einer Matrix zu finden.
Inverse und Adjungierte
Die drei Funktionen in diesem Abschnitt können verwendet werden, um Determinanten und inverse Matrizen zu berechnen.
MINOR(A, i, j) liefert eine Kopie der Matrix A, in der die i-te Zeile und j-te Spalte gestrichen wurde. So wird zum Beispiel
MINOR([1, 2, 3; 4, 5, 6; 7, 8, 9], 2, 2)
vereinfacht zu
é 1 3 ù
ê ú
ë 7 9 û
COFACTOR(A, i, j) liefert den Zähler des Elements [mm] A^{-1}_j,i [/mm] der inversen Matrix der quadratischen Matrix A. Das entsprechende Element der inversen Matrix erhält man, wenn man diesen Zähler durch die Derterminante von A, DET(A) dividiert.
Das Anwachsen der einzelnen Elemente ist im allgemeinen noch viel schlimmer, wenn man die Inverse von Matrizen mit nichtnumerischen Argumenten berechnen will. Mit der Funktion COFACTOR kann man die Elemente der inversen Matrix einzeln berechnen. Man kann aber auch einzelne Spalten der inversen Matrix mit ROW_REDUCE(A, v) in einem Schritt berechnen, wobei v eine Spalte der Einheitsmatrix derselben Dimension wie A ist.
Sollte die Berechnung der Determinante einer n x n-Matrix A den verfügbaren Speicher erschöpfen, so kann man sie auch mit Hilfe von COFACTOR folgendermaßen berechnen. Die Determinante von A ist eine Summe von Ausdrücken der Gestalt
ELEMENT(A, 1, i) COFACTOR(A, 1, i), wobei i von 1 bis n läuft. Die Determinante kann auch durch Entwicklung nach einer anderen Zeile oder Spalte der Matrix berechnet werden.
ADJOINT(A) liefert die adjungierte Matrix zu A. Die adjungierte Matrix einer quadratischen Matrix A erhält man, wenn man die Matrix der Kofaktoren von A transponiert. So wird zum Beispiel
ADJOINT([2, x; 1, 3])
vereinfacht zu
é 3 -x ù
ê ú
ë -1 2 û
Eigenwerte und Eigenvektoren
Die drei Funktionen in diesem Abschnitt sind für das Berechnen des Nullraumes und Eigenvektoren von Matrizen.
NULL_SPACE(M) wird zu einer Basis für den Nullraum der Matrix M vereinfacht. Der Nullraum ist jene Menge von Vektoren x, die die Matrizengleichung M·x=0 erfüllen. Der Nullraum bleibt leer, wenn M invertierbar ist und wird nicht leer sein, wenn M keinen vollen Rang besitzt. NULL_SPACE wird zu einer Matrix, in der jede Spalte ein Basisvektor für den Nullraum ist, vereinfacht. Das Ergebnis hat eine Gestalt, die manchmal als rationale Basis zum Unterschied von der orthonormalen Basis bezeichnet wird. Es ist zu beachten, dass das Produkt M·
NULL_SPACE(M) immer zu einer Nullmatrix vereinfacht werden sollte. Zum Beispiel wird
NULL_SPACE([1, 2, 3; 1, 2, 3; 1, 2, 3])
vereinfacht zu
é 2 3 ù
ê ú
ê -1 0 ú
ê ú
ë 0 -1 û
EXACT_EIGENVECTOR(A, µ) liefert die zum exakten Eigenwert µ gehörigen Eigenvektoren der Matrix A. Wenn µ ein exakter Eigenwert zur quadratischen Matrix M ist, dann sind die zugehörigen Eigenvektoren (charakteristische Vektoren) jene von Null verschiedenen Vektoren x, die das singuläre, homogene System (A - µ.I).x =0 erfüllen. Die Eigenvektoren bilden den Nullraum der Matrix (A - µ.I). Wenn ein Eigenwert die Vielfachheit m besitzt, dann gibt es im allgemeinen m Eigenvektoren. Anderenfalls nennt man die Matrix defekt". Die implementierten Funktion EIGENVALUES kann verwendet werden, um die exakten Eigenwerte einer Matrix zu berechnen (siehe Eigenwerte). Zum Beispiel wird
EIGENVALUES([1, 2; 1, 1])
zu [v(2) + 1, 1 v(2)] und
EXACT_EIGENVECTOR([1, 2; 1, 1], SQRT(2) + 1)
zu [-v(2); -1] vereinfacht.
Ist der Eigenwert µ nur näherungsweise bestimmt, dann ist die Matrix A - µ.I nichtsingulär. In diesem Fall liefert EXACT_EIGENVECTOR den Nullvektor, da dieser die einzige Lösung des Gleichungssystems (A - µ I) x = 0 ist. Aber auch exakte irrationale Werte können den Nullvektor erzeugen, falls Derive von komplizierten irrationalen Ausdrücken nicht feststellen kann, ob sie äquivalent zu 0 sind. Nichtnumerische oder irrationale Eigenwerte können leicht den verfügbaren Speicher erschöpfen oder zu Eigenvektoren führen, die aus sehr umfangreichen Ausdrücken bestehen. Aus diesem Grund darf EXACT_EIGENVECTOR nur auf maximal 4 x 4 Matrizen angewandt werden. Für numerische Matrizen größer als 3 x 3 ist für gewöhnlich APPROX_EIGENVECTOR die bessere Wahl.
APPROX_EIGENVECTOR(A, µ) berechnet näherungsweise den Eigenvektor einer numerischen Matrix A, der zu jenem Eigenwert gehört, für den µ ein Näherung ist. µ muss dabei eine Zahl sein, die kein exakter Eigenwert ist. Das Ergebnis wird normiert und so für Eigenwerte der Vielfachheit 1 bis auf einen Faktor +1 bzw. -1 eindeutig bestimmt. Man kann aber das Ergebnis mit einem Parameter wie @1 multiplizieren, um einen allgemeineren Eigenvektor zu erhalten. Man kann die Genauigkeit des Ergebnisvektor x abschätzen, indem man A · x / µ mit x vergleicht und feststellt, wie nahe sie beisammen liegen. APPROX_EIGENVECTOR benutzt die inverse Iteration zur näherungsweisen Berechnung von Eigenvektoren.
Ist es das, was du suchst?
Gruß informix
|
|
|
|