Overload List
| # | Signature | Description |
|---|---|---|
| 1 | function SVDSolve(B: TMtx; X: TMtx; S: TVec; Threshold: Double): Integer; | Matrix version of SVDSolve. Perfroms a SVDSolve for each U and V matrices columns in single pass. |
| 2 | function SVDSolve(B: TVec; X: TVec; S: TVec; Threshold: Double): Integer; | Calculates the minimum norm solution to a real linear least squares problem. |
Overload 1: function SVDSolve(B: TMtx; X: TMtx; S: TVec; Threshold: Double): Integer;
Matrix version of SVDSolve. Perfroms a SVDSolve for each U and V matrices columns in single pass.
Returns: Int32
Overload 2: function SVDSolve(B: TVec; X: TVec; S: TVec; Threshold: Double): Integer;
Calculates the minimum norm solution to a real linear least squares problem.
Returns: Int32
Calculates the minimum norm solution to a real linear least squares problem.
Minimize 2-norm(| b - A*x |).
using the singular value decomposition (SVD) of the calling matrix A. A is an Rows-by-Cols matrix which may be rank-deficient. Several right hand side vectors b and solution vectors x can be handled in a single call. The effective rank of A is determined by treating as zero those singular values which are less than Threshold times the largest singular value and is returned by the function. The S vector holds the singular values on the output.
var X,B,D: Vector;
V: Matrix;
begin
B.SetIt(false,[0,2,3]);
V.SetIt(3,3,false,[1,2,3,
3,4,5,
6,7,7]);
V.SVDSolve(B,X,D); // matrix V can be non-quadratic
end;