26 typedef internal::NonlinearOptimizerState
State;
30 const Values& initialValues,
33 graph,
std::unique_ptr<State>(new State(initialValues, graph.
error(initialValues)))),
34 params_(ensureHasOrdering(params, graph)) {}
39 graph,
std::unique_ptr<State>(new State(initialValues, graph.
error(initialValues)))) {
45 gttic(GaussNewtonOptimizer_Iterate);
48 gttic(GaussNewtonOptimizer_Linearize);
50 gttoc(GaussNewtonOptimizer_Linearize);
53 gttic(GaussNewtonOptimizer_Solve);
55 gttoc(GaussNewtonOptimizer_Solve);
static Ordering Create(OrderingType orderingType, const FACTOR_GRAPH &graph)
static enum @843 ordering
boost::shared_ptr< This > shared_ptr
shared_ptr to this class
const NonlinearFactorGraph & graph() const
return the graph with nonlinear factors
Verbosity verbosity
The printing verbosity during optimization (default SILENT)
NonlinearFactorGraph graph
std::unique_ptr< internal::NonlinearOptimizerState > state_
PIMPL'd state.
const GaussNewtonParams & params() const
boost::optional< Ordering > ordering
The optional variable elimination ordering, or empty to use COLAMD (default: empty) ...
Linear Factor Graph where all factors are Gaussians.
static SmartStereoProjectionParams params
double error() const
return error in current optimizer state
GaussNewtonParams ensureHasOrdering(GaussNewtonParams params, const NonlinearFactorGraph &graph) const
internal::DoglegState State
GaussianFactorGraph::shared_ptr iterate() override
GaussNewtonParams params_
NonlinearFactorGraph graph_
The graph with nonlinear factors.
virtual VectorValues solve(const GaussianFactorGraph &gfg, const NonlinearOptimizerParams ¶ms) const
Private class for NonlinearOptimizer state.
double error(const Values &values) const
void print(const std::string &str="VectorValues", const KeyFormatter &formatter=DefaultKeyFormatter) const
Ordering::OrderingType orderingType
The method of ordering use during variable elimination (default COLAMD)
boost::shared_ptr< GaussianFactorGraph > linearize(const Values &linearizationPoint) const
Linearize a nonlinear factor graph.
GaussNewtonOptimizer(const NonlinearFactorGraph &graph, const Values &initialValues, const GaussNewtonParams ¶ms=GaussNewtonParams())