Increased precision when printing out convergence info in NonlinearOptimizer
parent
21f7673acd
commit
1bd10e4b21
|
|
@ -17,6 +17,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <iomanip>
|
||||||
#include <gtsam/nonlinear/NonlinearOptimizer.h>
|
#include <gtsam/nonlinear/NonlinearOptimizer.h>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
@ -53,18 +54,18 @@ bool check_convergence(
|
||||||
double absoluteDecrease = currentError - newError;
|
double absoluteDecrease = currentError - newError;
|
||||||
if (verbosity >= 2) {
|
if (verbosity >= 2) {
|
||||||
if (absoluteDecrease < absoluteErrorTreshold)
|
if (absoluteDecrease < absoluteErrorTreshold)
|
||||||
cout << "absoluteDecrease: " << absoluteDecrease << " < " << absoluteErrorTreshold << endl;
|
cout << "absoluteDecrease: " << setprecision(12) << absoluteDecrease << " < " << absoluteErrorTreshold << endl;
|
||||||
else
|
else
|
||||||
cout << "absoluteDecrease: " << absoluteDecrease << " >= " << absoluteErrorTreshold << endl;
|
cout << "absoluteDecrease: " << setprecision(12) << absoluteDecrease << " >= " << absoluteErrorTreshold << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// calculate relative error decrease and update currentError
|
// calculate relative error decrease and update currentError
|
||||||
double relativeDecrease = absoluteDecrease / currentError;
|
double relativeDecrease = absoluteDecrease / currentError;
|
||||||
if (verbosity >= 2) {
|
if (verbosity >= 2) {
|
||||||
if (relativeDecrease < relativeErrorTreshold)
|
if (relativeDecrease < relativeErrorTreshold)
|
||||||
cout << "relativeDecrease: " << relativeDecrease << " < " << relativeErrorTreshold << endl;
|
cout << "relativeDecrease: " << setprecision(12) << relativeDecrease << " < " << relativeErrorTreshold << endl;
|
||||||
else
|
else
|
||||||
cout << "relativeDecrease: " << relativeDecrease << " >= " << relativeErrorTreshold << endl;
|
cout << "relativeDecrease: " << setprecision(12) << relativeDecrease << " >= " << relativeErrorTreshold << endl;
|
||||||
}
|
}
|
||||||
bool converged = (relativeDecrease < relativeErrorTreshold)
|
bool converged = (relativeDecrease < relativeErrorTreshold)
|
||||||
|| (absoluteDecrease < absoluteErrorTreshold);
|
|| (absoluteDecrease < absoluteErrorTreshold);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue