1 #ifndef OPTIMIZATION_NEWTON_H 2 #define OPTIMIZATION_NEWTON_H 6 #include <KrisLibrary/math/SVDecomposition.h> 10 template <
class T>
class SparseMatrixTemplate_RM;
11 typedef SparseMatrixTemplate_RM<Real> SparseMatrix;
29 bool GlobalSolve(
int& iters,ConvergenceResult* res=NULL);
30 ConvergenceResult Solve(
int& iters);
31 ConvergenceResult Solve_Sparse(
int& iters);
32 bool LineMinimization(
const Vector& g,
const Vector& p, Real *f);
33 Real MaxDistance(
const Vector& x);
40 Real tolf,tolmin,tolx;
63 bool GlobalSolve(
int& iters,ConvergenceResult* res=NULL);
64 ConvergenceResult SolveConstrained(
int& iters);
65 ConvergenceResult SolveConstrained2(
int& iters);
66 ConvergenceResult SolveConstrained2_Sparse(
int& iters);
67 ConvergenceResult SolveConstrained_SLP(
int& iters);
75 std::vector<int> activeSetC,activeSetBound;
Namespace for classes and functions in the Optimization package.
Definition: CSet.h:7
Abstract base classes for function interfaces.
Real lambda
damped-least-squares constant
Definition: Newton.h:42
bool sparse
set to true if should use a sparse least-squares solver.
Definition: Newton.h:44
Vector bias
set this to a bias vector to solve for min ||x-bias|| s.t. func(x)=0
Definition: Newton.h:45
Numerical root-solving routines.
A function from R^n to R^m.
Definition: function.h:134
A globally convergent Newton's method for multidimensional root solving. Solves for func(x)=0...
Definition: Newton.h:24
Vector bmax
optional bound constraints
Definition: Newton.h:43
bool SatisfiesEquality(VectorFieldFunction *C, const Vector &x, Real tol)
Returns true if C(x)<=tol, pointwise.
Definition: Newton.cpp:31
Real InequalityMargin(VectorFieldFunction *c, const Vector &x, int *index)
Returns C(x).minElement() (and the index if non=NULL)
Definition: Newton.cpp:46
A globally convergent Newton's method with inequality constraints c(x) >= 0.
Definition: Newton.h:59
Real SurfaceDistance(VectorFieldFunction *C, const Vector &x)
Returns C(x).maxElement()
Definition: Newton.cpp:24
Contains all definitions in the Math package.
Definition: WorkspaceBound.h:12
bool SatisfiesInequality(VectorFieldFunction *C, const Vector &x, Real margin)
Returns true if C(x) >= margin.
Definition: Newton.cpp:39
Real stepMax
maximum distance to step
Definition: Newton.h:41