Shonan Averaging algorithm. More...
#include <SymEigsSolver.h>
#include <cmath>
#include <gtsam/linear/PCGSolver.h>
#include <gtsam/linear/SubgraphPreconditioner.h>
#include <gtsam/nonlinear/LevenbergMarquardtOptimizer.h>
#include <gtsam/nonlinear/NonlinearEquality.h>
#include <gtsam/nonlinear/NonlinearFactorGraph.h>
#include <gtsam/sfm/ShonanAveraging.h>
#include <gtsam/sfm/ShonanFactor.h>
#include <gtsam/sfm/ShonanGaugeFactor.h>
#include <gtsam/slam/FrobeniusFactor.h>
#include <gtsam/slam/KarcherMeanFactor-inl.h>
#include <Eigen/Eigenvalues>
#include <algorithm>
#include <complex>
#include <iostream>
#include <map>
#include <random>
#include <set>
#include <vector>
#include <cassert>
Go to the source code of this file.
Classes | |
struct | gtsam::MatrixProdFunctor |
Namespaces | |
gtsam | |
traits | |
Functions | |
static BinaryMeasurement< Rot3 > | gtsam::convert (const BetweenFactor< Pose3 >::shared_ptr &f) |
static BinaryMeasurement< Rot2 > | gtsam::convertPose2ToBinaryMeasurementRot2 (const BetweenFactor< Pose2 >::shared_ptr &f) |
static ShonanAveraging2::Measurements | gtsam::extractRot2Measurements (const BetweenFactorPose2s &factors) |
static ShonanAveraging3::Measurements | gtsam::extractRot3Measurements (const BetweenFactorPose3s &factors) |
template<typename T , size_t d> | |
static double | gtsam::Kappa (const BinaryMeasurement< T > &measurement, const ShonanAveragingParameters< d > ¶meters) |
static std::mt19937 | gtsam::kRandomNumberGenerator (42) |
template<size_t d> | |
static size_t | gtsam::NrUnknowns (const typename ShonanAveraging< d >::Measurements &measurements) |
static Vector | gtsam::perturb (const Vector &initialVector) |
static bool | gtsam::PowerMinimumEigenValue (const Sparse &A, const Matrix &S, double &minEigenValue, Vector *minEigenVector=0, size_t *numIterations=0, size_t maxIterations=1000, double minEigenvalueNonnegativityTolerance=10e-4) |
MINIMUM EIGENVALUE COMPUTATIONS. More... | |
template<size_t d> | |
static Matrix | gtsam::RoundSolutionS (const Matrix &S) |
static bool | gtsam::SparseMinimumEigenValue (const Sparse &A, const Matrix &S, double *minEigenValue, Vector *minEigenVector=0, size_t *numIterations=0, size_t maxIterations=1000, double minEigenvalueNonnegativityTolerance=10e-4, Eigen::Index numLanczosVectors=20) |