Sparse Levenberg Marquardt nonlinear least squares. More...
#include <vnl_sparse_lm.h>
Public Types | |
enum | ReturnCodes { ERROR_FAILURE = -1, ERROR_DODGY_INPUT = 0, CONVERGED_FTOL = 1, CONVERGED_XTOL = 2, CONVERGED_XFTOL = 3, CONVERGED_GTOL = 4, FAILED_TOO_MANY_ITERATIONS = 5, TOO_MANY_ITERATIONS = FAILED_TOO_MANY_ITERATIONS, FAILED_FTOL_TOO_SMALL = 6, FAILED_XTOL_TOO_SMALL = 7, FAILED_GTOL_TOO_SMALL = 8, FAILED_USER_REQUEST = 9 } |
Some generic return codes that apply to all minimizers. More... | |
Public Member Functions | |
vnl_sparse_lm (vnl_sparse_lst_sqr_function &f) | |
Initialize with the function object that is to be minimized. | |
~vnl_sparse_lm () | |
Destructor. | |
bool | minimize (vnl_vector< double > &a, vnl_vector< double > &b, vnl_vector< double > &c, bool use_gradient=true, bool use_weights=true) |
Minimize the function supplied in the constructor until convergence or failure. | |
void | diagnose_outcome () const |
Provide an ASCII diagnosis of the last minimization on vcl_ostream. | |
void | diagnose_outcome (vcl_ostream &) const |
vnl_matrix< double > const & | get_JtJ () |
Return J'*J computed at last minimum. | |
const vnl_vector< double > & | get_weights () const |
Access the final weights after optimization. | |
void | set_f_tolerance (double v) |
Set the convergence tolerance on F (sum of squared residuals). | |
double | get_f_tolerance () const |
void | set_x_tolerance (double v) |
Set the convergence tolerance on X. | |
double | get_x_tolerance () const |
void | set_g_tolerance (double v) |
Set the convergence tolerance on Grad(F)' * F. | |
double | get_g_tolerance () const |
void | set_max_function_evals (int v) |
Set the termination maximum number of iterations. | |
int | get_max_function_evals () const |
void | set_epsilon_function (double v) |
Set the step length for FD Jacobian. | |
double | get_epsilon_function () const |
void | set_trace (bool on) |
Turn on per-iteration printouts. | |
bool | get_trace () const |
void | set_verbose (bool verb) |
Set verbose flag. | |
bool | get_verbose () const |
void | set_check_derivatives (int cd) |
Set check_derivatives flag. Negative values may mean fewer checks. | |
int | get_check_derivatives () const |
double | get_start_error () const |
Return the error of the function when it was evaluated at the start point of the last minimization. | |
double | get_end_error () const |
Return the best error that was achieved by the last minimization, corresponding to the returned x. | |
int | get_num_evaluations () const |
Return the total number of times the function was evaluated by the last minimization. | |
int | get_num_iterations () const |
Return the number of {iterations} in the last minimization. | |
bool | obj_value_reduced () |
Whether the error reduced in the last minimization. | |
virtual vnl_matrix< double > const & | get_covariance () |
Return the covariance of the estimate at the end. | |
virtual vcl_string | is_a () const |
Return the name of the class. | |
virtual bool | is_class (vcl_string const &s) const |
Return true if the name of the class matches the argument. | |
ReturnCodes | get_failure_code () const |
Return the failure code of the last minimization. | |
Protected Member Functions | |
void | init (vnl_sparse_lst_sqr_function *f) |
void | reset () |
void | report_eval (double f) |
Called by derived classes after each function evaluation. | |
virtual bool | report_iter () |
Called by derived classes after each iteration. | |
Protected Attributes | |
double | tau_ |
used to compute the initial damping. | |
vnl_sparse_lst_sqr_function * | f_ |
the function to minimize. | |
vnl_matrix< double > | inv_covar_ |
bool | set_covariance_ |
double | xtol |
Termination tolerance on X (solution vector) | |
long | maxfev |
Termination maximum number of iterations. | |
double | ftol |
Termination tolerance on F (sum of squared residuals) | |
double | gtol |
Termination tolerance on Grad(F)' * F = 0. | |
double | epsfcn |
Step length for FD Jacobian. | |
unsigned | num_iterations_ |
long | num_evaluations_ |
double | start_error_ |
double | end_error_ |
bool | trace |
bool | verbose_ |
int | check_derivatives_ |
ReturnCodes | failure_code_ |
Private Member Functions | |
void | allocate_matrices () |
allocate matrix memory by setting all the matrix sizes. | |
bool | check_vector_sizes (vnl_vector< double > const &a, vnl_vector< double > const &b, vnl_vector< double > const &c) |
check vector sizes and verify that they match the problem size. | |
void | compute_normal_equations () |
compute the blocks making up the the normal equations: Jt J d = Jt e. | |
vnl_vector< double > | extract_diagonal () const |
extract the vector on the diagonal of Jt J. | |
void | set_diagonal (const vnl_vector< double > &diag) |
set the vector on the diagonal of Jt J. | |
void | compute_invV_Y () |
compute all inv(Vi) and Yij. | |
void | compute_Z_Sa (vnl_matrix< double > &Sa) |
compute Z and Sa. | |
void | compute_Ma (const vnl_matrix< double > &H) |
compute Ma. | |
void | compute_Mb () |
compute Mb. | |
void | solve_dc (vnl_vector< double > &dc) |
solve for dc. | |
void | compute_sea (vnl_vector< double > const &dc, vnl_vector< double > &sea) |
compute sea using ea, Z, dc, Y, and eb. | |
void | compute_Sa_sea (vnl_matrix< double > &Sa, vnl_vector< double > &sea) |
compute Sa and sea. | |
void | backsolve_db (vnl_vector< double > const &da, vnl_vector< double > const &dc, vnl_vector< double > &db) |
back solve to find db using da and dc. | |
Private Attributes | |
const int | num_a_ |
const int | num_b_ |
const int | num_e_ |
const int | num_nz_ |
const int | size_a_ |
const int | size_b_ |
const int | size_c_ |
const int | size_e_ |
vcl_vector< vnl_matrix< double > > | A_ |
Storage for each of the Jacobians A_ij, B_ij, and C_ij. | |
vcl_vector< vnl_matrix< double > > | B_ |
vcl_vector< vnl_matrix< double > > | C_ |
vcl_vector< vnl_matrix< double > > | U_ |
Storage for normal equation blocks. | |
vcl_vector< vnl_matrix< double > > | V_ |
vnl_matrix< double > | T_ |
vcl_vector< vnl_matrix< double > > | W_ |
vcl_vector< vnl_matrix< double > > | R_ |
vcl_vector< vnl_matrix< double > > | Q_ |
vnl_vector< double > | ea_ |
vnl_vector< double > | eb_ |
vnl_vector< double > | ec_ |
vnl_vector< double > | e_ |
vnl_vector< double > | weights_ |
vcl_vector< vnl_matrix< double > > | inv_V_ |
vcl_vector< vnl_matrix< double > > | Y_ |
vcl_vector< vnl_matrix< double > > | Z_ |
vcl_vector< vnl_matrix< double > > | Ma_ |
vcl_vector< vnl_matrix< double > > | Mb_ |
Sparse Levenberg Marquardt nonlinear least squares.
Unlike vnl_levenberg_marquardt this does not use the MINPACK routines. This class implements sparse Levenberg Marquardt as described in the Hartley and Zisserman "Multiple View Geometry" book and further described in a technical report on sparse bundle adjustment available at http://www.ics.forth.gr/~lourakis/sba
Definition at line 33 of file vnl_sparse_lm.h.
enum vnl_nonlinear_minimizer::ReturnCodes [inherited] |
Some generic return codes that apply to all minimizers.
Definition at line 102 of file vnl_nonlinear_minimizer.h.
vnl_sparse_lm::vnl_sparse_lm | ( | vnl_sparse_lst_sqr_function & | f | ) |
Initialize with the function object that is to be minimized.
Definition at line 29 of file vnl_sparse_lm.cxx.
vnl_sparse_lm::~vnl_sparse_lm | ( | ) |
Destructor.
Definition at line 80 of file vnl_sparse_lm.cxx.
void vnl_sparse_lm::allocate_matrices | ( | ) | [private] |
allocate matrix memory by setting all the matrix sizes.
Definition at line 364 of file vnl_sparse_lm.cxx.
void vnl_sparse_lm::backsolve_db | ( | vnl_vector< double > const & | da, |
vnl_vector< double > const & | dc, | ||
vnl_vector< double > & | db | ||
) | [private] |
back solve to find db using da and dc.
Definition at line 777 of file vnl_sparse_lm.cxx.
bool vnl_sparse_lm::check_vector_sizes | ( | vnl_vector< double > const & | a, |
vnl_vector< double > const & | b, | ||
vnl_vector< double > const & | c | ||
) | [private] |
check vector sizes and verify that they match the problem size.
Definition at line 327 of file vnl_sparse_lm.cxx.
void vnl_sparse_lm::compute_invV_Y | ( | ) | [private] |
compute all inv(Vi) and Yij.
Definition at line 508 of file vnl_sparse_lm.cxx.
void vnl_sparse_lm::compute_Ma | ( | const vnl_matrix< double > & | H | ) | [private] |
compute Ma.
Definition at line 598 of file vnl_sparse_lm.cxx.
void vnl_sparse_lm::compute_Mb | ( | ) | [private] |
compute Mb.
Definition at line 618 of file vnl_sparse_lm.cxx.
void vnl_sparse_lm::compute_normal_equations | ( | ) | [private] |
compute the blocks making up the the normal equations: Jt J d = Jt e.
Definition at line 406 of file vnl_sparse_lm.cxx.
void vnl_sparse_lm::compute_Sa_sea | ( | vnl_matrix< double > & | Sa, |
vnl_vector< double > & | sea | ||
) | [private] |
void vnl_sparse_lm::compute_sea | ( | vnl_vector< double > const & | dc, |
vnl_vector< double > & | sea | ||
) | [private] |
compute sea using ea, Z, dc, Y, and eb.
Definition at line 690 of file vnl_sparse_lm.cxx.
void vnl_sparse_lm::compute_Z_Sa | ( | vnl_matrix< double > & | Sa | ) | [private] |
compute Z and Sa.
Definition at line 538 of file vnl_sparse_lm.cxx.
void vnl_sparse_lm::diagnose_outcome | ( | ) | const |
Provide an ASCII diagnosis of the last minimization on vcl_ostream.
Definition at line 809 of file vnl_sparse_lm.cxx.
void vnl_sparse_lm::diagnose_outcome | ( | vcl_ostream & | s | ) | const |
Definition at line 816 of file vnl_sparse_lm.cxx.
vnl_vector< double > vnl_sparse_lm::extract_diagonal | ( | ) | const [private] |
extract the vector on the diagonal of Jt J.
Definition at line 466 of file vnl_sparse_lm.cxx.
int vnl_nonlinear_minimizer::get_check_derivatives | ( | ) | const [inline, inherited] |
Definition at line 82 of file vnl_nonlinear_minimizer.h.
vnl_matrix< double > const & vnl_nonlinear_minimizer::get_covariance | ( | ) | [virtual, inherited] |
Return the covariance of the estimate at the end.
Definition at line 35 of file vnl_nonlinear_minimizer.cxx.
double vnl_nonlinear_minimizer::get_end_error | ( | ) | const [inline, inherited] |
Return the best error that was achieved by the last minimization, corresponding to the returned x.
Definition at line 92 of file vnl_nonlinear_minimizer.h.
double vnl_nonlinear_minimizer::get_epsilon_function | ( | ) | const [inline, inherited] |
Definition at line 70 of file vnl_nonlinear_minimizer.h.
double vnl_nonlinear_minimizer::get_f_tolerance | ( | ) | const [inline, inherited] |
Definition at line 46 of file vnl_nonlinear_minimizer.h.
ReturnCodes vnl_nonlinear_minimizer::get_failure_code | ( | ) | const [inline, inherited] |
Return the failure code of the last minimization.
Definition at line 132 of file vnl_nonlinear_minimizer.h.
double vnl_nonlinear_minimizer::get_g_tolerance | ( | ) | const [inline, inherited] |
Definition at line 60 of file vnl_nonlinear_minimizer.h.
vnl_matrix< double > const & vnl_sparse_lm::get_JtJ | ( | ) |
Return J'*J computed at last minimum.
it is an approximation of inverse of covariance
Definition at line 864 of file vnl_sparse_lm.cxx.
int vnl_nonlinear_minimizer::get_max_function_evals | ( | ) | const [inline, inherited] |
Definition at line 64 of file vnl_nonlinear_minimizer.h.
int vnl_nonlinear_minimizer::get_num_evaluations | ( | ) | const [inline, inherited] |
Return the total number of times the function was evaluated by the last minimization.
Definition at line 95 of file vnl_nonlinear_minimizer.h.
int vnl_nonlinear_minimizer::get_num_iterations | ( | ) | const [inline, inherited] |
Return the number of {iterations} in the last minimization.
Each iteration may have comprised several function evaluations.
Definition at line 99 of file vnl_nonlinear_minimizer.h.
double vnl_nonlinear_minimizer::get_start_error | ( | ) | const [inline, inherited] |
Return the error of the function when it was evaluated at the start point of the last minimization.
For minimizers driven by a vnl_least_squares_function (Levenberg-Marquardt) this is usually the RMS error. For those driven by a vnl_cost_function (CG, LBFGS, Amoeba) it is simply the value of the vnl_cost_function at the start (usually the sum of squared residuals).
Definition at line 89 of file vnl_nonlinear_minimizer.h.
bool vnl_nonlinear_minimizer::get_trace | ( | ) | const [inline, inherited] |
Definition at line 74 of file vnl_nonlinear_minimizer.h.
bool vnl_nonlinear_minimizer::get_verbose | ( | ) | const [inline, inherited] |
Definition at line 78 of file vnl_nonlinear_minimizer.h.
const vnl_vector<double>& vnl_sparse_lm::get_weights | ( | ) | const [inline] |
Access the final weights after optimization.
Definition at line 67 of file vnl_sparse_lm.h.
double vnl_nonlinear_minimizer::get_x_tolerance | ( | ) | const [inline, inherited] |
Definition at line 56 of file vnl_nonlinear_minimizer.h.
void vnl_sparse_lm::init | ( | vnl_sparse_lst_sqr_function * | f | ) | [protected] |
Definition at line 63 of file vnl_sparse_lm.cxx.
vcl_string vnl_nonlinear_minimizer::is_a | ( | ) | const [virtual, inherited] |
Return the name of the class.
Used by polymorphic IO
Definition at line 75 of file vnl_nonlinear_minimizer.cxx.
bool vnl_nonlinear_minimizer::is_class | ( | vcl_string const & | s | ) | const [virtual, inherited] |
Return true if the name of the class matches the argument.
Used by polymorphic IO
Definition at line 83 of file vnl_nonlinear_minimizer.cxx.
bool vnl_sparse_lm::minimize | ( | vnl_vector< double > & | a, |
vnl_vector< double > & | b, | ||
vnl_vector< double > & | c, | ||
bool | use_gradient = true , |
||
bool | use_weights = true |
||
) |
Minimize the function supplied in the constructor until convergence or failure.
On return, a, b, and c are such that f(a,b,c) is the lowest value achieved. Returns true for convergence, false for failure. If use_gradient is set to false, a finite difference approximation will be used, even if the Jacobian functions have been provided. If use_weights is set to false, weights will not be computed even if a weighting function has been provided.
Systems to solve will be Sc*dc=sec and Sa*da=sea.
Definition at line 92 of file vnl_sparse_lm.cxx.
bool vnl_nonlinear_minimizer::obj_value_reduced | ( | ) | [inline, inherited] |
Whether the error reduced in the last minimization.
Definition at line 118 of file vnl_nonlinear_minimizer.h.
void vnl_nonlinear_minimizer::report_eval | ( | double | f | ) | [protected, inherited] |
Called by derived classes after each function evaluation.
Definition at line 50 of file vnl_nonlinear_minimizer.cxx.
bool vnl_nonlinear_minimizer::report_iter | ( | ) | [protected, virtual, inherited] |
Called by derived classes after each iteration.
When true is returned, minimizer should stop with code FAILED_USER_REQUEST. Derived classes can redefine this function to make the optimizer stop when a condition is satisfied.
Definition at line 63 of file vnl_nonlinear_minimizer.cxx.
void vnl_nonlinear_minimizer::reset | ( | ) | [protected, inherited] |
Definition at line 41 of file vnl_nonlinear_minimizer.cxx.
void vnl_nonlinear_minimizer::set_check_derivatives | ( | int | cd | ) | [inline, inherited] |
Set check_derivatives flag. Negative values may mean fewer checks.
Definition at line 81 of file vnl_nonlinear_minimizer.h.
void vnl_sparse_lm::set_diagonal | ( | const vnl_vector< double > & | diag | ) | [private] |
set the vector on the diagonal of Jt J.
Definition at line 489 of file vnl_sparse_lm.cxx.
void vnl_nonlinear_minimizer::set_epsilon_function | ( | double | v | ) | [inline, inherited] |
Set the step length for FD Jacobian.
Be aware that set_x_tolerance will reset this to xtol * 0.001. The default is 1e-11.
Definition at line 69 of file vnl_nonlinear_minimizer.h.
void vnl_nonlinear_minimizer::set_f_tolerance | ( | double | v | ) | [inline, inherited] |
Set the convergence tolerance on F (sum of squared residuals).
When the differences in successive RMS errors is less than this, the routine terminates. So this is effectively the desired precision of your minimization. Setting it too low wastes time, too high might cause early convergence. The default of 1e-9 is on the safe side, but if speed is an issue, you can try raising it.
Definition at line 45 of file vnl_nonlinear_minimizer.h.
void vnl_nonlinear_minimizer::set_g_tolerance | ( | double | v | ) | [inline, inherited] |
Set the convergence tolerance on Grad(F)' * F.
Definition at line 59 of file vnl_nonlinear_minimizer.h.
void vnl_nonlinear_minimizer::set_max_function_evals | ( | int | v | ) | [inline, inherited] |
Set the termination maximum number of iterations.
Definition at line 63 of file vnl_nonlinear_minimizer.h.
void vnl_nonlinear_minimizer::set_trace | ( | bool | on | ) | [inline, inherited] |
Turn on per-iteration printouts.
Definition at line 73 of file vnl_nonlinear_minimizer.h.
void vnl_nonlinear_minimizer::set_verbose | ( | bool | verb | ) | [inline, inherited] |
Set verbose flag.
Definition at line 77 of file vnl_nonlinear_minimizer.h.
void vnl_nonlinear_minimizer::set_x_tolerance | ( | double | v | ) | [inline, inherited] |
Set the convergence tolerance on X.
When the length of the steps taken in X are about this long, the routine terminates. The default is 1e-8, which should work for many problems, but if you can get away with 1e-4, say, minimizations will be much quicker.
Definition at line 52 of file vnl_nonlinear_minimizer.h.
void vnl_sparse_lm::solve_dc | ( | vnl_vector< double > & | dc | ) | [private] |
solve for dc.
Definition at line 646 of file vnl_sparse_lm.cxx.
vcl_vector<vnl_matrix<double> > vnl_sparse_lm::A_ [private] |
Storage for each of the Jacobians A_ij, B_ij, and C_ij.
Definition at line 139 of file vnl_sparse_lm.h.
vcl_vector<vnl_matrix<double> > vnl_sparse_lm::B_ [private] |
Definition at line 140 of file vnl_sparse_lm.h.
vcl_vector<vnl_matrix<double> > vnl_sparse_lm::C_ [private] |
Definition at line 141 of file vnl_sparse_lm.h.
int vnl_nonlinear_minimizer::check_derivatives_ [protected, inherited] |
Definition at line 153 of file vnl_nonlinear_minimizer.h.
vnl_vector<double> vnl_sparse_lm::e_ [private] |
Definition at line 158 of file vnl_sparse_lm.h.
vnl_vector<double> vnl_sparse_lm::ea_ [private] |
Definition at line 153 of file vnl_sparse_lm.h.
vnl_vector<double> vnl_sparse_lm::eb_ [private] |
Definition at line 154 of file vnl_sparse_lm.h.
vnl_vector<double> vnl_sparse_lm::ec_ [private] |
Definition at line 155 of file vnl_sparse_lm.h.
double vnl_nonlinear_minimizer::end_error_ [protected, inherited] |
Definition at line 147 of file vnl_nonlinear_minimizer.h.
double vnl_nonlinear_minimizer::epsfcn [protected, inherited] |
Step length for FD Jacobian.
Definition at line 141 of file vnl_nonlinear_minimizer.h.
vnl_sparse_lst_sqr_function* vnl_sparse_lm::f_ [protected] |
the function to minimize.
Definition at line 74 of file vnl_sparse_lm.h.
ReturnCodes vnl_nonlinear_minimizer::failure_code_ [protected, inherited] |
Definition at line 154 of file vnl_nonlinear_minimizer.h.
double vnl_nonlinear_minimizer::ftol [protected, inherited] |
Termination tolerance on F (sum of squared residuals)
Definition at line 139 of file vnl_nonlinear_minimizer.h.
double vnl_nonlinear_minimizer::gtol [protected, inherited] |
Termination tolerance on Grad(F)' * F = 0.
Definition at line 140 of file vnl_nonlinear_minimizer.h.
vnl_matrix<double> vnl_sparse_lm::inv_covar_ [protected] |
Definition at line 76 of file vnl_sparse_lm.h.
vcl_vector<vnl_matrix<double> > vnl_sparse_lm::inv_V_ [private] |
Definition at line 164 of file vnl_sparse_lm.h.
vcl_vector<vnl_matrix<double> > vnl_sparse_lm::Ma_ [private] |
Definition at line 167 of file vnl_sparse_lm.h.
long vnl_nonlinear_minimizer::maxfev [protected, inherited] |
Termination maximum number of iterations.
Definition at line 138 of file vnl_nonlinear_minimizer.h.
vcl_vector<vnl_matrix<double> > vnl_sparse_lm::Mb_ [private] |
Definition at line 168 of file vnl_sparse_lm.h.
const int vnl_sparse_lm::num_a_ [private] |
Definition at line 128 of file vnl_sparse_lm.h.
const int vnl_sparse_lm::num_b_ [private] |
Definition at line 129 of file vnl_sparse_lm.h.
const int vnl_sparse_lm::num_e_ [private] |
Definition at line 130 of file vnl_sparse_lm.h.
long vnl_nonlinear_minimizer::num_evaluations_ [protected, inherited] |
Definition at line 145 of file vnl_nonlinear_minimizer.h.
unsigned vnl_nonlinear_minimizer::num_iterations_ [protected, inherited] |
Definition at line 144 of file vnl_nonlinear_minimizer.h.
const int vnl_sparse_lm::num_nz_ [private] |
Definition at line 131 of file vnl_sparse_lm.h.
vcl_vector<vnl_matrix<double> > vnl_sparse_lm::Q_ [private] |
Definition at line 151 of file vnl_sparse_lm.h.
vcl_vector<vnl_matrix<double> > vnl_sparse_lm::R_ [private] |
Definition at line 150 of file vnl_sparse_lm.h.
bool vnl_sparse_lm::set_covariance_ [protected] |
Definition at line 77 of file vnl_sparse_lm.h.
const int vnl_sparse_lm::size_a_ [private] |
Definition at line 133 of file vnl_sparse_lm.h.
const int vnl_sparse_lm::size_b_ [private] |
Definition at line 134 of file vnl_sparse_lm.h.
const int vnl_sparse_lm::size_c_ [private] |
Definition at line 135 of file vnl_sparse_lm.h.
const int vnl_sparse_lm::size_e_ [private] |
Definition at line 136 of file vnl_sparse_lm.h.
double vnl_nonlinear_minimizer::start_error_ [protected, inherited] |
Definition at line 146 of file vnl_nonlinear_minimizer.h.
vnl_matrix<double> vnl_sparse_lm::T_ [private] |
Definition at line 147 of file vnl_sparse_lm.h.
double vnl_sparse_lm::tau_ [protected] |
used to compute the initial damping.
Definition at line 72 of file vnl_sparse_lm.h.
bool vnl_nonlinear_minimizer::trace [protected, inherited] |
Definition at line 149 of file vnl_nonlinear_minimizer.h.
vcl_vector<vnl_matrix<double> > vnl_sparse_lm::U_ [private] |
Storage for normal equation blocks.
diagonals of JtJ
Definition at line 145 of file vnl_sparse_lm.h.
vcl_vector<vnl_matrix<double> > vnl_sparse_lm::V_ [private] |
Definition at line 146 of file vnl_sparse_lm.h.
bool vnl_nonlinear_minimizer::verbose_ [protected, inherited] |
Definition at line 152 of file vnl_nonlinear_minimizer.h.
vcl_vector<vnl_matrix<double> > vnl_sparse_lm::W_ [private] |
Definition at line 149 of file vnl_sparse_lm.h.
vnl_vector<double> vnl_sparse_lm::weights_ [private] |
Definition at line 161 of file vnl_sparse_lm.h.
double vnl_nonlinear_minimizer::xtol [protected, inherited] |
Termination tolerance on X (solution vector)
Definition at line 137 of file vnl_nonlinear_minimizer.h.
vcl_vector<vnl_matrix<double> > vnl_sparse_lm::Y_ [private] |
Definition at line 165 of file vnl_sparse_lm.h.
vcl_vector<vnl_matrix<double> > vnl_sparse_lm::Z_ [private] |
Definition at line 166 of file vnl_sparse_lm.h.