23 #if defined(DEBUG) || defined(WARNINGMSG) 53 double lambda)
const {
72 double eps = 8*std::numeric_limits<double>::min();
73 for (
int j = 0; j < nvar; j++) {
74 h(j,j) *= (1. + lambda);
76 if (
fabs(
h(j,j) ) < eps ) {
90 MN_INFO_MSG(
"FumiliErrorUpdator inversion fails; return diagonal matrix.");
92 for(
unsigned int i = 0; i < h.
Nrow(); i++) {
int Invert(LASymMatrix &)
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
double sum_of_elements(const LASymMatrix &)
unsigned int size() const
Class describing a symmetric matrix of size n.
unsigned int Nrow() const
const MinimumError & Error() const
const MnAlgebraicVector & Vec() const
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
static double p1(double t, double a, double b)
const MnAlgebraicSymMatrix & Hessian() const
const MnAlgebraicSymMatrix & InvHessian() const
MinimumError keeps the inv.
virtual MinimumError Update(const MinimumState &fMinimumState, const MinimumParameters &fMinimumParameters, const GradientCalculator &fGradientCalculator, double lambda) const
Member function that calculates the Error matrix (or the Hessian matrix containing the (approximate) ...
MinimumState keeps the information (position, Gradient, 2nd deriv, etc) after one minimization step (...
interface class for gradient calculators