MFsym_eigenvalues MDsym_eigenvalues MEsym_eigenvalues
FunktionEigenwerte 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/Delphiuses MFstd;
function MFsym_eigenvalues( EigVals:fVector; EigVecs, MA:fMatrix; len:UIntSize; CalcEigenVec:IntBool ): IntBool;
BeschreibungDie 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ückgabewertFALSE (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!
QuerverweisKap. 10,   Kap. 11

MatrixLib Inhaltsverzeichnis  OptiVec Home