| MF_SVsolve
| MD_SVsolve |
ME_SVsolve |
|
| Funktion | lineares Gleichungssystem bei Vorliegen der Singulärwert-zerlegten Form lösen |
|
| Syntax C/C++ | #include <MFstd.h>
void MF_SVsolve( fVector X, fMatrix U, fMatrix V, fVector W, fVector B, unsigned htA, unsigned lenA ); |
| C++ MatObj | #include <OptiVec.h>
void vector<T>::SVsolve( const matrix<T>& MU, const matrix<T>& MV, const vector<T>& W, const vector<T>& B ); |
| Pascal/Delphi | uses MFstd;
procedure MF_SVsolve( X:fVector; MU, MV:fMatrix; W, B:fVector; htA, lenA:UInt ); |
|
| Beschreibung | MF_SVsolve löst ein lineares Gleichungssystem, das zuvor mittels MF_SVdecompose faktorisiert wurde. Dieser Prozeß wird auch als Singulärwert-Rücksubstitution bezeichnet. In dieser Funktion wird zunächst W in der Weise editiert, daß alle Elemente unter einer gewissen Schwelle gleich 0 gesetzt werden. Bei der anschließenden Rücksubstitution, die Divisionen durch die Elemente of W vornimmt, werden die Ergebnisse aller Divisionen durch Wi = 0 gleich 0 (anstelle von Unendlich) gesetzt und hierdurch die Dimension des zugrundeliegenden Gleichungssystems reduziert. Die Editierschwelle kann mittels MF_SVDsetEdit frei gewählt werden. Falls man es vorzieht, W selbst zu inspizieren und zu editieren, bevor man MF_SVsolve aufruft, sollte MF_SVDsetEdit mit dem Argument 0.0 aufgerufen werden, um die automatische Dimensions-Reduktion auszuschalten.
Die Parameter htA und lenA beziehen sich auf die ursprüngliche, an MF_SVdecompose übergebene Matrix A. Die Dimensionen der an MF_SVsolve übergebenen Matrizen und Vektoren ergeben sich wie folgt:
sizeB = htA;
sizeX = htU = max( lenA, htA );
sizeW = lenU = htV = lenV = lenA; |
|
|