KrisLibrary
1.0.0
|
A globally convergent Newton's method for multidimensional root solving. Solves for func(x)=0. More...
#include <Newton.h>
Public Member Functions | |
NewtonRoot (VectorFieldFunction *func) | |
bool | GlobalSolve (int &iters, ConvergenceResult *res=NULL) |
ConvergenceResult | Solve (int &iters) |
ConvergenceResult | Solve_Sparse (int &iters) |
bool | LineMinimization (const Vector &g, const Vector &p, Real *f) |
Real | MaxDistance (const Vector &x) |
virtual bool | SolveUnderconstrainedLS (const Matrix &A, const Vector &b, Vector &x) |
virtual bool | SolveUnderconstrainedLS (const SparseMatrix &A, const Vector &b, Vector &x) |
virtual Real | Merit () |
Public Attributes | |
Vector | x |
VectorFieldFunction * | func |
Real | tolf |
Real | tolmin |
Real | tolx |
Real | stepMax |
maximum distance to step | |
Real | lambda |
damped-least-squares constant | |
Vector | bmin |
Vector | bmax |
optional bound constraints | |
bool | sparse |
set to true if should use a sparse least-squares solver. | |
Vector | bias |
set this to a bias vector to solve for min ||x-bias|| s.t. func(x)=0 | |
int | verbose |
int | debug |
RobustSVD< Real > | svd |
Vector | fx |
Vector | g |
Vector | p |
Vector | xold |
Matrix | fJx |
A globally convergent Newton's method for multidimensional root solving. Solves for func(x)=0.
Can use sparse methods for solving for a SparseVectorFieldFunction if sparse = true. However, cannot use the bias-vector option.