|
|
|
| Syntax C/C++ | #include <MFstd.h>
int MF_inv( fMatrix Inv, fMatrix MA, ui len ); |
| C++ MatObj | #include <OptiVec.h>
void matrix<T>::inv( const matrix<T>& MA ); |
| Pascal/Delphi | uses MFstd;
function MF_inv( MInv, MA:fMatrix; len:UIntSize ):IntBool; |
|
| Beschreibung | Die Inverse der Matrix A wird in MInv gespeichert. Falls MA nicht regulär ist, also nicht invertiert werden kann, erzeugt MF_inv eine Fehlermeldung und gibt TRUE (1) zurück. Intern wird die Inversion über LU-Faktorisierung mit partieller Pivotisierung durchgeführt. Um ein Scheitern der Invertierung auf jeden Fall zu verhindern, kann durch Aufruf von MF_LUDsetEdit ein Minimalwert für die Pivotisierung festgelegt werden. Hierdurch wird jede Matrix invertierbar, und MF_inv gibt immer FALSE (0) zurück. Nur ein Aufruf von MF_LUDresult nach MF_inv zeigt, ob die Pivot-Editierung tatsächlich zur Vermeidung einer Singularität notwendig war. Ob ein solches Ergebnis dann sinnvoll ist, hängt vom jeweiligen Anwendungszweck ab. |
|
| Rückgabewert | FALSE (0), wenn fehlerfrei; sonst TRUE (!= 0). |
|
|