MFsym_sqrt MDsym_sqrt MEsym_sqrt
FunktionQuadratwurzel einer symmetrischen Matrix mit ausschließlich positiven Eigenwerten
Syntax C/C++#include <MFstd.h>
int MFsym_sqrt( fMatrix MB, fMatrix MA, ui len );
C++ MatObj#include <OptiVec.h>
void matrix<T>::sqrt( const matrix<T>& MA );
Pascal/Delphiuses MFstd;
function MFsym_sqrt( MB, MA:fMatrix; len:UIntSize ):IntBool;
BeschreibungDie Quadratwurzel der symmetrischen Matrix A wird berechnet, so dass die Matrix B die Gleichung MB * MB = MA erfüllt. Man beachte, dass außer der Symmetriebedingung noch die zweite Bedingung erfüllt sein muss, dass alle Eigenwerte von MA positiv oder gleich 0 sein müssen. Zwar können auch nicht-symmetrische Matrizen oder solche mit negativen Eigenwerten u.U. eine Quadratwurzel besitzen. Der hier verwendete Algorithmus ist aber auf den einfachsten Fall derjenigen Matrizen beschränkt, die immer eine Quadratwurzel besitzen. Die Berechnung erfolgt über die Eigenwerte und Eigenvektoren. Beim Auftreten eines negativen Eigenwertes erfolgt eine Fehlermeldung, und das Ergebnis wird unter Ersetzung des negativen Eigenwertes durch 0 berechnet. War der beanstandete negative Eigenwert sehr klein, so kann das Ergebnis u.U. noch brauchbar sein.

Ein Rückgabewert FALSE oder 0 signalisiert Erfolg; TRUE oder nicht-Null stehen für Mißerfolg.

Rückgabewertim Erfolgsfall FALSE (0); sonst TRUE (1)
QuerverweisMF_eigenvalues,   Kap. 11

MatrixLib Inhaltsverzeichnis  OptiVec Home