Moved printing to NonlinearOptimizer base class
parent
0bd74426ea
commit
bcd663244a
|
@ -54,10 +54,6 @@ NonlinearOptimizer::auto_ptr GaussNewtonOptimizer::iterate() const {
|
||||||
SharedValues newValues(new Values(values_->retract(*delta, *ordering_)));
|
SharedValues newValues(new Values(values_->retract(*delta, *ordering_)));
|
||||||
double newError = graph_->error(*newValues);
|
double newError = graph_->error(*newValues);
|
||||||
|
|
||||||
// Maybe show output
|
|
||||||
if (params_->verbosity >= NonlinearOptimizerParams::VALUES) newValues->print("newValues");
|
|
||||||
if (params_->verbosity >= NonlinearOptimizerParams::ERROR) cout << "error: " << newError << endl;
|
|
||||||
|
|
||||||
// Create new optimizer with new values and new error
|
// Create new optimizer with new values and new error
|
||||||
NonlinearOptimizer::auto_ptr newOptimizer(new GaussNewtonOptimizer(
|
NonlinearOptimizer::auto_ptr newOptimizer(new GaussNewtonOptimizer(
|
||||||
*this, newValues, newError));
|
*this, newValues, newError));
|
||||||
|
|
|
@ -132,10 +132,6 @@ NonlinearOptimizer::auto_ptr LevenbergMarquardtOptimizer::iterate() const {
|
||||||
}
|
}
|
||||||
} // end while
|
} // end while
|
||||||
|
|
||||||
// Maybe show output
|
|
||||||
if (params_->verbosity >= NonlinearOptimizerParams::VALUES) next_values->print("newValues");
|
|
||||||
if (params_->verbosity >= NonlinearOptimizerParams::ERROR) cout << "error: " << next_error << endl;
|
|
||||||
|
|
||||||
// Create new optimizer with new values and new error
|
// Create new optimizer with new values and new error
|
||||||
NonlinearOptimizer::auto_ptr newOptimizer(new LevenbergMarquardtOptimizer(
|
NonlinearOptimizer::auto_ptr newOptimizer(new LevenbergMarquardtOptimizer(
|
||||||
*this, next_values, next_error, lambda));
|
*this, next_values, next_error, lambda));
|
||||||
|
|
|
@ -36,6 +36,10 @@ NonlinearOptimizer::auto_ptr NonlinearOptimizer::defaultOptimize() const {
|
||||||
return this->clone();
|
return this->clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Maybe show output
|
||||||
|
if (params_->verbosity >= NonlinearOptimizerParams::VALUES) this->values()->print("newValues");
|
||||||
|
if (params_->verbosity >= NonlinearOptimizerParams::ERROR) cout << "newError: " << this->error() << endl;
|
||||||
|
|
||||||
// Return if we already have too many iterations
|
// Return if we already have too many iterations
|
||||||
if(this->iterations() >= params_->maxIterations)
|
if(this->iterations() >= params_->maxIterations)
|
||||||
return this->clone();
|
return this->clone();
|
||||||
|
@ -49,6 +53,10 @@ NonlinearOptimizer::auto_ptr NonlinearOptimizer::defaultOptimize() const {
|
||||||
// Do next iteration
|
// Do next iteration
|
||||||
currentError = next->error();
|
currentError = next->error();
|
||||||
next = next->iterate();
|
next = next->iterate();
|
||||||
|
|
||||||
|
// Maybe show output
|
||||||
|
if (params_->verbosity >= NonlinearOptimizerParams::VALUES) next->values()->print("newValues");
|
||||||
|
if (params_->verbosity >= NonlinearOptimizerParams::ERROR) cout << "newError: " << next->error() << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Printing if verbose
|
// Printing if verbose
|
||||||
|
|
Loading…
Reference in New Issue