Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Data Structures | Namespaces | Functions
MathLin_SVD.hxx File Reference
#include <MathUtils_Types.hxx>
#include <MathUtils_Config.hxx>
#include <math_Recipes.hxx>
#include <MathUtils_Core.hxx>
#include <cmath>
#include <algorithm>

Data Structures

struct  MathLin::SVDResult
 Result for SVD decomposition. More...
 

Namespaces

namespace  MathLin
 

Functions

SVDResult MathLin::SVD (const math_Matrix &theA, double theTolerance=1.0e-15)
 Singular Value Decomposition: A = U * diag(S) * V^T.
 
LinearResult MathLin::SolveSVD (const math_Matrix &theA, const math_Vector &theB, double theTolerance=1.0e-6)
 Solve linear system Ax = b using SVD decomposition. This is particularly useful for ill-conditioned or singular systems.
 
InverseResult MathLin::PseudoInverse (const math_Matrix &theA, double theTolerance=1.0e-6)
 Compute pseudo-inverse (Moore-Penrose inverse) of matrix A. A^+ = V * diag(1/w) * U^T where singular values below threshold are set to 0.
 
double MathLin::ConditionNumber (const math_Matrix &theA)
 Compute condition number of matrix using SVD. Condition number = sigma_max / sigma_min (ratio of largest to smallest singular value).
 
int MathLin::NumericalRank (const math_Matrix &theA, double theTolerance=1.0e-15)
 Compute numerical rank of matrix using SVD. Rank is the number of singular values above the threshold.