MF_LUsolve
| MD_LUsolve |
ME_LUsolve |
MCF_LUsolve |
MCD_LUsolve |
MCE_LUsolve |
|
Funktion | lineares Gleichungs-System MA * X = B lösen, für das MA bereits in LU-faktorisierter Form vorliegt |
|
Syntax C/C++ | #include <MFstd.h>
void MF_LUsolve( fVector X, fMatrix LU, fVector B, uiVector Ind, ui len ); |
C++ MatObj | #include <OptiVec.h>
void vector<T>::LUsolve( const matrix<T>& MLU, const vector<T>& B, const vector<ui>& Ind ); |
Pascal/Delphi | uses MFstd;
procedure MF_LUsolve( X:fVector; MLU:fMatrix; B:fVector; Ind:uiVector;
len:UIntSize ); |
|
Beschreibung | Das lineare Gleichungs-System MA * X = B wird nach dem Vektor X aufgelöst. Anstelle von MA selbst erwartet diese Funktion die LU-faktorisierte Form von MA als Eingabe-Matrix LU samt deren Zeilen-Permutationsindizes in dem Vektor Ind, wie von MF_LUdecompose zurückgegeben.
Falls die originale Matrix A noch zur Verfügung steht, ist eine iterative Verbesserung der Lösung dringend anzuraten. Hierzu rufe man im Anschluß an MF_LUsolve noch MF_LUimprove. Im Vergleich zur bereits durchgeführten LU-Faktorisierung und Rück-Substitution kostet diese iterative Verbesserung nur sehr wenig Rechenzeit, kann aber zu einer deutlichen Verbesserung der Lösung führen und häufig sogar Lösungen "retten", die sonst aufgrund von zu großen Rundungsfehlern gänzlich unbrauchbar wären. |
|
|