You are here: Symbol Reference > MtxExpr Namespace > Classes > Matrix Record > public > SVDSolve Method > Matrix.SVDSolve Method (TVec, TVec, TVec, double)
MtxVec VCL
ContentsIndex
PreviousUpNext
Matrix.SVDSolve Method (TVec, TVec, TVec, double)

Calculates the minimum norm solution to a real linear least squares problem.

Pascal
function SVDSolve(B: TVec; X: TVec; S: TVec; Threshold: double = 1E-9): integer; overload;

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;
Examples on GitHub
Copyright (c) 1999-2025 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!