36 parameters_(parameters) {
39 cout <<
"Split A into (A1) " << Ab1.size() <<
" and (A2) " << Ab2.size()
40 <<
" factors" << endl;
42 auto Rc1 = *Ab1.eliminateSequential(ordering,
EliminateQR);
43 auto xbar = Rc1.optimize();
44 pc_ = std::make_shared<SubgraphPreconditioner>(Ab2, Rc1, xbar);
54 pc_ = std::make_shared<SubgraphPreconditioner>(Ab2, Rc1, xbar);
80 pair<GaussianFactorGraph, GaussianFactorGraph>
85 auto subgraph = builder(factorGraph);
Subgraph Solver from IROS 2010.
std::pair< GaussianFactorGraph, GaussianFactorGraph > splitGraph(const GaussianFactorGraph &gfg)
Split graph using Kruskal algorithm, treating binary factors as edges.
V conjugateGradients(const S &Ab, V x, const ConjugateGradientParameters ¶meters, bool steepest)
static enum @1107 ordering
VectorValues optimize() const
SubgraphBuilderParameters builderParams
Linear Factor Graph where all factors are Gaussians.
std::pair< GaussianConditional::shared_ptr, JacobianFactor::shared_ptr > EliminateQR(const GaussianFactorGraph &factors, const Ordering &keys)
Iterative methods, template implementation.
Verbosity verbosity() const
static ConjugateGradientParameters parameters
cout<< "The eigenvalues of A are:"<< endl<< ces.eigenvalues()<< endl;cout<< "The matrix of eigenvectors, V, is:"<< endl<< ces.eigenvectors()<< endl<< endl;complex< float > lambda
VectorValues optimize() const
Optimize from zero.
SubgraphSolver(const GaussianFactorGraph &A, const Parameters ¶meters, const Ordering &ordering)
std::shared_ptr< SubgraphPreconditioner > pc_
preconditioner object
Chordal Bayes Net, the result of eliminating a factor graph.
std::pair< GaussianFactorGraph, GaussianFactorGraph > splitFactorGraph(const GaussianFactorGraph &factorGraph, const Subgraph &subgraph)