MFsym_eigenvalues
| MDsym_eigenvalues |
MEsym_eigenvalues |
|
Funktion | Eigenwerte und/oder Eigenvektoren einer reellen symmetrischen Matrix |
|
Syntax C/C++ | #include <MFstd.h>
int MFsym_eigenvalues( fVector EigVals, fMatrix EigVecs, fMatrix MA, ui len, int CalcEigenVec ); |
C++ MatObj | #include <OptiVec.h>
int matrix<T>::sym_eigenvalues( matrix<T> EigVecs, const matrix<T>& MA, int CalcEigenVec );
int matrix<T>::sym_eigenvalues( matrix<T>* EigVecs, const matrix<T>& MA, int CalcEigenVec ); |
Pascal/Delphi | uses MFstd;
function MFsym_eigenvalues( EigVals:fVector; EigVecs, MA:fMatrix; len:UIntSize; CalcEigenVec:IntBool ): IntBool; |
|
Beschreibung | Die Eigenwerte von MA werden mit oder ohne zugehörige Eigenvektoren berechnet. Diese Routine funktioniert nur für nicht-singuläre symmetrische reelle Matrizen! Sie erwartet die folgenden Argumente:
- EigVals: ein Vektor, in dem die Eigenwerte zurückgegeben werden
- EigVecs: eine Matrix der Größe len*len. Falls die Eigenvektoren gewünscht sind, werden die Spalten von EigVecs durch die Routine mit den Eigenvektoren gefüllt; andernfalls wird EigVecs als Arbeitsspeicher benötigt.
- MA: Die Eingabe-Matrix, die durch EigVecs überschrieben werden darf, falls gewünscht
- len: Die Zeilenlänge (die natürlich gleichzeitig die Spalten-Höhe ist, da MA eine symmetrische Quadrat-Matrix sein muss)
- CalcEigenVec: eine int oder IntBool, die angibt, ob nur die Eigenwerte benötigt werden (CalcEigenVec = FALSE oder 0) oder ob auch die Eigenvektoren gewünscht werden (CalcEigenVec = TRUE oder 1). Die Berechnung der Eigenwerte ohne Eigenvektoren beschleunigt die Rechengeschwindigkeit auf ungefähr das Doppelte.
Die Eigenwerte (und Eigenvektoren) werden in ungeordneter Reihenfolge ausgegeben. |
|
Rückgabewert | FALSE (0), wenn fehlerfrei, andernfalls TRUE (!= 0). Da Singularitäten meist nicht vor Aufruf dieser Funktion erkannt werden können, wird der Test des Rückgabewertes dringend empfohlen! |
|
|