fixed a bug that causes the optimizer return an incorrect error

release/4.3a0
Kai Ni 2010-12-30 11:15:34 +00:00
parent 880040a6f6
commit eada34bd76
1 changed files with 2 additions and 7 deletions

View File

@ -149,10 +149,9 @@ namespace gtsam {
if( lambdaMode >= Parameters::CAUTIOUS) throw runtime_error("CAUTIOUS mode not working yet, please use BOUNDED.");
bool first_iteration = true;
double next_error = error_;
shared_values next_values;
shared_values next_values = values_;
while(true) {
if (verbosity >= Parameters::TRYLAMBDA) cout << "trying lambda = " << lambda << endl;
@ -189,12 +188,8 @@ namespace gtsam {
if (verbosity >= Parameters::TRYLAMBDA) cout << "next error = " << error << endl;
if(first_iteration || error <= error_) {
next_values = newValues;
first_iteration = false;
}
if( error <= error_ ) {
next_values = newValues;
next_error = error;
lambda /= factor;
break;