MF_SVsolve MD_SVsolve ME_SVsolve
Funktionlineares Gleichungssystem bei Vorliegen der Singulärwert-zerlegten Form lösen
Syntax C/C++#include <MFstd.h>
void MF_SVsolve( fVector X, fMatrix MU, fMatrix MV, fVector W, fVector B, ui htA, ui 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/Delphiuses MFstd;
procedure MF_SVsolve( X:fVector; MU, MV:fMatrix; W, B:fVector; htA, lenA:UIntSize );
BeschreibungMF_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 MA. 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;

QuerverweisMF_SVdecompose,   MF_solveBySVD,   Kap. 10

MatrixLib Inhaltsverzeichnis  OptiVec Home