traits More...
Namespaces | |
detail | |
dynamics | |
example | |
examples | |
gtsfm | |
imuBias | |
All bias models live in the imuBias namespace. | |
inference | |
initialize | |
internal | |
lago | |
linear | |
noiseModel | |
All noise models live in the noiseModel namespace. | |
partition | |
simulated3D | |
so3 | |
symbol_shorthand | |
testing | |
tiny | |
traits | |
treeTraversal | |
utilities | |
utils | |
Enumerations | |
enum | DegeneracyMode { IGNORE_DEGENERACY, ZERO_ON_DEGENERACY, HANDLE_INFINITY } |
How to manage degeneracy. More... | |
enum | DirectionMethod { DirectionMethod::FletcherReeves, DirectionMethod::PolakRibiere, DirectionMethod::HestenesStiefel, DirectionMethod::DaiYuan } |
enum | GncLossType { GM, TLS } |
Choice of robust loss function for GNC. More... | |
enum | KernelFunctionType { KernelFunctionTypeNONE, KernelFunctionTypeHUBER, KernelFunctionTypeTUKEY } |
Robust kernel type to wrap around quadratic noise model. More... | |
enum | LinearizationMode { HESSIAN, IMPLICIT_SCHUR, JACOBIAN_Q, JACOBIAN_SVD } |
Linearization mode: what factor to linearize to. More... | |
enum | NoiseFormat { NoiseFormatG2O, NoiseFormatTORO, NoiseFormatGRAPH, NoiseFormatCOV, NoiseFormatAUTO } |
Indicates how noise parameters are stored in file. More... | |
Functions | |
string | _defaultKeyFormatter (Key key) |
def | _init () |
string | _multirobotKeyFormatter (Key key) |
template<typename T > | |
static bool | _truePredicate (const T &) |
static Y | add (const Y &y1, const Y &y2) |
std::unique_ptr< internal::ExecutionTraceStorage[]> | allocAligned (size_t size) |
template<typename L , typename Y > | |
DecisionTree< L, Y > | apply (const DecisionTree< L, Y > &f, const DecisionTree< L, Y > &g, const typename DecisionTree< L, Y >::Binary &op) |
Apply binary operator op to DecisionTree f . More... | |
template<typename L , typename Y > | |
DecisionTree< L, Y > | apply (const DecisionTree< L, Y > &f, const typename DecisionTree< L, Y >::Unary &op) |
Apply unary operator op to DecisionTree f . More... | |
template<typename L , typename Y > | |
DecisionTree< L, Y > | apply (const DecisionTree< L, Y > &f, const typename DecisionTree< L, Y >::UnaryAssignment &op) |
Apply unary operator op with Assignment to DecisionTree f . More... | |
template<class V2 > | |
bool | assert_container_equal (const std::map< size_t, V2 > &expected, const std::map< size_t, V2 > &actual, double tol=1e-9) |
template<class V1 , class V2 > | |
bool | assert_container_equal (const std::map< V1, V2 > &expected, const std::map< V1, V2 > &actual, double tol=1e-9) |
template<class V1 , class V2 > | |
bool | assert_container_equal (const std::vector< std::pair< V1, V2 > > &expected, const std::vector< std::pair< V1, V2 > > &actual, double tol=1e-9) |
template<class V > | |
bool | assert_container_equal (const V &expected, const V &actual, double tol=1e-9) |
template<class V2 > | |
bool | assert_container_equality (const std::map< size_t, V2 > &expected, const std::map< size_t, V2 > &actual) |
template<class V > | |
bool | assert_container_equality (const V &expected, const V &actual) |
bool | assert_equal (const ConstSubVector &expected, const ConstSubVector &actual, double tol) |
bool | assert_equal (const Key &expected, const Key &actual, double tol=0.0) |
bool | assert_equal (const Matrix &expected, const Matrix &actual, double tol) |
bool | assert_equal (const std::list< Matrix > &As, const std::list< Matrix > &Bs, double tol) |
template<class V > | |
bool | assert_equal (const std::optional< V > &expected, const std::optional< V > &actual, double tol=1e-9) |
bool | assert_equal (const std::string &expected, const std::string &actual) |
bool | assert_equal (const SubVector &expected, const SubVector &actual, double tol) |
template<class V > | |
bool | assert_equal (const V &expected, const std::optional< std::reference_wrapper< const V >> &actual, double tol=1e-9) |
template<class V > | |
bool | assert_equal (const V &expected, const std::optional< V > &actual, double tol=1e-9) |
template<class V > | |
bool | assert_equal (const V &expected, const V &actual, double tol=1e-9) |
bool | assert_equal (const Vector &expected, const Vector &actual, double tol) |
bool | assert_inequal (const Matrix &A, const Matrix &B, double tol) |
template<class V > | |
bool | assert_inequal (const V &expected, const V &actual, double tol=1e-9) |
bool | assert_inequal (const Vector &expected, const Vector &actual, double tol) |
template<class V > | |
bool | assert_print_equal (const std::string &expected, const V &actual, const std::string &s="") |
template<class V > | |
bool | assert_stdout_equal (const std::string &expected, const V &actual) |
Rot3_ | attitude (const NavState_ &X) |
void | axpy (double alpha, const Errors &x, Errors &y) |
BLAS level 2 style AXPY, y := alpha*x + y More... | |
Vector | backSubstituteLower (const Matrix &L, const Vector &b, bool unit) |
Vector | backSubstituteUpper (const Matrix &U, const Vector &b, bool unit) |
Vector | backSubstituteUpper (const Vector &b, const Matrix &U, bool unit) |
template<class T > | |
T | BCH (const T &X, const T &Y) |
AGC: bracket() only appears in Rot3 tests, should this be used elsewhere? More... | |
template<typename T > | |
Expression< T > | between (const Expression< T > &t1, const Expression< T > &t2) |
template<class Class > | |
Class | between_default (const Class &l1, const Class &l2) |
double | bound (double a, double min, double max) |
GaussianFactorGraph | buildFactorSubgraph (const GaussianFactorGraph &gfg, const Subgraph &subgraph, const bool clone) |
VectorValues | buildVectorValues (const Vector &v, const KeyInfo &keyInfo) |
Create VectorValues from a Vector and a KeyInfo class. More... | |
VectorValues | buildVectorValues (const Vector &v, const Ordering &ordering, const map< Key, size_t > &dimensions) |
Create VectorValues from a Vector. More... | |
static Point3 | CalculateBestAxis (const Point3 &n) |
template<typename Cal , size_t Dim> | |
void | calibrateJacobians (const Cal &calibration, const Point2 &pn, OptionalJacobian< 2, Dim > Dcal={}, OptionalJacobian< 2, 2 > Dp={}) |
template<class CAMERA > | |
Point3Vector | calibrateMeasurements (const CameraSet< CAMERA > &cameras, const typename CAMERA::MeasurementVector &measurements) |
template<class CAMERA = SphericalCamera> | |
Point3Vector | calibrateMeasurements (const CameraSet< SphericalCamera > &cameras, const SphericalCamera::MeasurementVector &measurements) |
template<class CALIBRATION > | |
Point3Vector | calibrateMeasurementsShared (const CALIBRATION &cal, const Point2Vector &measurements) |
std::vector< DiscreteValues > | cartesianProduct (const DiscreteKeys &keys) |
Free version of CartesianProduct. More... | |
static void | check (const SharedNoiseModel &noiseModel, size_t m) |
template<class CLIQUE > | |
bool | check_sharedCliques (const std::pair< Key, typename BayesTree< CLIQUE >::sharedClique > &v1, const std::pair< Key, typename BayesTree< CLIQUE >::sharedClique > &v2) |
GaussianConditional::shared_ptr | checkConditional (const GaussianFactor::shared_ptr &factor) |
GTSAM_EXPORT bool | checkConvergence (const NonlinearOptimizerParams ¶ms, double currentError, double newError) |
bool | checkConvergence (double relativeErrorTreshold, double absoluteErrorTreshold, double errorThreshold, double currentError, double newError, NonlinearOptimizerParams::Verbosity verbosity) |
static double | Chi2inv (const double alpha, const size_t dofs) |
Matrix | cholesky_inverse (const Matrix &A) |
pair< size_t, bool > | choleskyCareful (Matrix &ATA, int order) |
bool | choleskyPartial (Matrix &ABC, size_t nFrontal, size_t topleft) |
static int | choleskyStep (Matrix &ATA, size_t k, size_t order) |
std::optional< Point2 > | circleCircleIntersection (double R_d, double r_d, double tol) |
list< Point2 > | circleCircleIntersection (Point2 c1, double r1, Point2 c2, double r2, double tol=1e-9) |
Intersect 2 circles. More... | |
list< Point2 > | circleCircleIntersection (Point2 c1, Point2 c2, std::optional< Point2 > fh) |
Matrix | collect (const std::vector< const Matrix * > &matrices, size_t m, size_t n) |
Matrix | collect (size_t nrMatrices,...) |
DiscreteKeys | CollectDiscreteKeys (const DiscreteKeys &key1, const DiscreteKeys &key2) |
template<class LinearGraph > | |
KeyDimMap | collectKeyDim (const LinearGraph &linearGraph) |
KeyVector | CollectKeys (const KeyVector &continuousKeys, const DiscreteKeys &discreteKeys) |
KeyVector | CollectKeys (const KeyVector &keys1, const KeyVector &keys2) |
template<class MATRIX > | |
const MATRIX::ConstColXpr | column (const MATRIX &A, size_t j) |
Vector | columnNormSquare (const Matrix &A) |
template<typename T > | |
Expression< T > | compose (const Expression< T > &t1, const Expression< T > &t2) |
template<class G , class Factor , class POSE , class KEY > | |
std::shared_ptr< Values > | composePoses (const G &graph, const PredecessorMap< KEY > &tree, const POSE &rootPose) |
std::vector< double > | ComputeLeafOrdering (const DiscreteKeys &dkeys, const DecisionTreeFactor &dt) |
Compute the correct ordering of the leaves in the decision tree. More... | |
Vector | concatVectors (const std::list< Vector > &vs) |
Vector | concatVectors (size_t nrVectors,...) |
VectorValues | conjugateGradientDescent (const GaussianFactorGraph &fg, const VectorValues &x, const ConjugateGradientParameters ¶meters) |
Vector | conjugateGradientDescent (const Matrix &A, const Vector &b, const Vector &x, const ConjugateGradientParameters ¶meters) |
Vector | conjugateGradientDescent (const System &Ab, const Vector &x, const ConjugateGradientParameters ¶meters) |
template<class S , class V , class E > | |
V | conjugateGradients (const S &Ab, V x, const ConjugateGradientParameters ¶meters, bool steepest) |
static void | ConnectVariableFactor (Key key, const KeyFormatter &keyFormatter, size_t i, ostream *os) |
static void | ConnectVariables (Key key1, Key key2, const KeyFormatter &keyFormatter, ostream *os) |
static std::pair< HybridConditional::shared_ptr, std::shared_ptr< Factor > > | continuousElimination (const HybridGaussianFactorGraph &factors, const Ordering &frontalKeys) |
static BinaryMeasurement< Rot3 > | convert (const BetweenFactor< Pose3 >::shared_ptr &f) |
static BinaryMeasurement< Rot2 > | convert (const BinaryMeasurement< Pose2 > &p) |
static BinaryMeasurement< Rot3 > | convert (const BinaryMeasurement< Pose3 > &p) |
SharedNoiseModel | ConvertNoiseModel (const SharedNoiseModel &model, size_t d, bool defaultToUnit) |
static BinaryMeasurement< Rot2 > | convertPose2ToBinaryMeasurementRot2 (const BetweenFactor< Pose2 >::shared_ptr &f) |
static GaussianFactorGraph | convertToJacobianFactors (const GaussianFactorGraph &gfg) |
static std::shared_ptr< Factor > | createDiscreteFactor (const ResultTree &eliminationResults, const DiscreteKeys &discreteSeparator) |
Errors | createErrors (const VectorValues &V) |
Break V into pieces according to its start indices. More... | |
static std::shared_ptr< Factor > | createHybridGaussianFactor (const ResultTree &eliminationResults, const DiscreteKeys &discreteSeparator) |
static SharedNoiseModel | createNoiseModel (const Vector6 &v, bool smart, NoiseFormat noiseFormat, KernelFunctionType kernelFunctionType) |
template<class CALIBRATION > | |
Cal3_S2 | createPinholeCalibration (const CALIBRATION &cal) |
std::vector< Point3 > | createPoints () |
Create a set of ground-truth landmarks. More... | |
std::vector< Pose3 > | createPoses (const Pose3 &init=Pose3(Rot3::Ypr(M_PI_2, 0, -M_PI_2), {30, 0, 0}), const Pose3 &delta=Pose3(Rot3::Ypr(0, -M_PI_4, 0), {sin(M_PI_4) *30, 0, 30 *(1 - sin(M_PI_4))}), int steps=8) |
std::shared_ptr< Preconditioner > | createPreconditioner (const std::shared_ptr< PreconditionerParameters > params) |
GTSAM_EXPORT std::string | createRewrittenFileName (const std::string &name) |
std::shared_ptr< Sampler > | createSampler (const SharedNoiseModel &model) |
template<typename T > | |
std::vector< Expression< T > > | createUnknowns (size_t n, char c, size_t start) |
Construct an array of leaves. More... | |
Point3 | cross (const Point3 &p, const Point3 &q, OptionalJacobian< 3, 3 > H_p={}, OptionalJacobian< 3, 3 > H_q={}) |
cross product More... | |
Point3_ | cross (const Point3_ &a, const Point3_ &b) |
static Matrix29 | D2dcalibration (double x, double y, double xx, double yy, double xy, double rr, double r4, double pnx, double pny, const Matrix2 &DK) |
static Matrix2 | D2dintrinsic (double x, double y, double rr, double g, double k1, double k2, double p1, double p2, const Matrix2 &DK) |
template<typename Gradient > | |
double | DaiYuan (const Gradient ¤tGradient, const Gradient &prevGradient, const Gradient &direction) |
The Dai-Yuan formula for computing β, the direction of steepest descent. More... | |
std::string | demangle (const char *name) |
Pretty print Value type name. More... | |
NonlinearFactorGraph::shared_ptr | deserializeGraph (const std::string &serialized_graph) |
NonlinearFactorGraph::shared_ptr | deserializeGraphFromFile (const std::string &fname) |
NonlinearFactorGraph::shared_ptr | deserializeGraphFromXMLFile (const std::string &fname, const std::string &name="graph") |
NonlinearFactorGraph::shared_ptr | deserializeGraphXML (const std::string &serialized_graph, const std::string &name="graph") |
Values::shared_ptr | deserializeValues (const std::string &serialized_values) |
Values::shared_ptr | deserializeValuesFromFile (const std::string &fname) |
Values::shared_ptr | deserializeValuesFromXMLFile (const std::string &fname, const std::string &name="values") |
Values::shared_ptr | deserializeValuesXML (const std::string &serialized_values, const std::string &name="values") |
Matrix | diag (const std::vector< Matrix > &Hs) |
static noiseModel::Diagonal::shared_ptr | Diagonal (const Matrix &covariance) |
static std::pair< HybridConditional::shared_ptr, std::shared_ptr< Factor > > | discreteElimination (const HybridGaussianFactorGraph &factors, const Ordering &frontalKeys) |
static DecisionTreeFactor::shared_ptr | DiscreteFactorFromErrors (const DiscreteKeys &discreteKeys, const AlgebraicDecisionTree< Key > &errors) |
Take negative log-values, shift them so that the minimum value is 0, and then exponentiate to create a DecisionTreeFactor (not normalized yet!). More... | |
std::set< DiscreteKey > | DiscreteKeysAsSet (const DiscreteKeys &discreteKeys) |
Return the DiscreteKey vector as a set. More... | |
Double_ | distance (const OrientedPlane3_ &p) |
double | distance2 (const Point2 &p1, const Point2 &q, OptionalJacobian< 1, 2 > H1={}, OptionalJacobian< 1, 2 > H2={}) |
distance between two points More... | |
double | distance3 (const Point3 &p1, const Point3 &q, OptionalJacobian< 1, 3 > H1={}, OptionalJacobian< 1, 3 > H2={}) |
distance between two points More... | |
std::tuple< int, double, Vector > | DLT (const Matrix &A, double rank_tol) |
double | dot (const Errors &a, const Errors &b) |
Dot product. More... | |
double | dot (const Point3 &p, const Point3 &q, OptionalJacobian< 1, 3 > H_p={}, OptionalJacobian< 1, 3 > H_q={}) |
dot product More... | |
Double_ | dot (const Point3_ &a, const Point3_ &b) |
template<class V1 , class V2 > | |
double | dot (const V1 &a, const V2 &b) |
Vector | ediv_ (const Vector &a, const Vector &b) |
std::pair< std::shared_ptr< GaussianConditional >, std::shared_ptr< HessianFactor > > | EliminateCholesky (const GaussianFactorGraph &factors, const Ordering &keys) |
std::pair< DiscreteConditional::shared_ptr, DecisionTreeFactor::shared_ptr > | EliminateDiscrete (const DiscreteFactorGraph &factors, const Ordering &frontalKeys) |
Main elimination function for DiscreteFactorGraph. More... | |
std::pair< DiscreteConditional::shared_ptr, DecisionTreeFactor::shared_ptr > | EliminateForMPE (const DiscreteFactorGraph &factors, const Ordering &frontalKeys) |
Alternate elimination function for that creates non-normalized lookup tables. More... | |
std::pair< HybridConditional::shared_ptr, std::shared_ptr< Factor > > | EliminateHybrid (const HybridGaussianFactorGraph &factors, const Ordering &keys) |
Main elimination function for HybridGaussianFactorGraph. More... | |
std::pair< std::shared_ptr< GaussianConditional >, std::shared_ptr< GaussianFactor > > | EliminatePreferCholesky (const GaussianFactorGraph &factors, const Ordering &keys) |
std::pair< GaussianConditional::shared_ptr, JacobianFactor::shared_ptr > | EliminateQR (const GaussianFactorGraph &factors, const Ordering &keys) |
std::pair< std::shared_ptr< SymbolicConditional >, std::shared_ptr< SymbolicFactor > > | EliminateSymbolic (const SymbolicFactorGraph &factors, const Ordering &keys) |
Point2 | EpipolarTransfer (const Matrix3 &Fca, const Point2 &pa, const Matrix3 &Fcb, const Point2 &pb) |
Transfer projections from cameras a and b to camera c. More... | |
template<class T > | |
bool | equal (const T &obj1, const T &obj2) |
template<class T > | |
bool | equal (const T &obj1, const T &obj2, double tol) |
bool | equal (const Vector &vec1, const Vector &vec2) |
bool | equal (const Vector &vec1, const Vector &vec2, double tol) |
template<class MATRIX > | |
bool | equal_with_abs_tol (const Eigen::DenseBase< MATRIX > &A, const Eigen::DenseBase< MATRIX > &B, double tol=1e-9) |
bool | equal_with_abs_tol (const SubVector &vec1, const SubVector &vec2, double tol) |
bool | equal_with_abs_tol (const Vector &vec1, const Vector &vec2, double tol) |
bool | equality (const Errors &actual, const Errors &expected, double tol) |
Matrix | expm (const Matrix &A, size_t K) |
template<class T > | |
T | expm (const Vector &x, int K=7) |
template<class Class > | |
Class | expmap_default (const Class &t, const Vector &d) |
std::vector< double > | expNormalize (const std::vector< double > &logProbs) |
Normalize a set of log probabilities. More... | |
static ShonanAveraging2::Measurements | extractRot2Measurements (const BetweenFactorPose2s &factors) |
static ShonanAveraging3::Measurements | extractRot3Measurements (const BetweenFactorPose3s &factors) |
GTSAM_EXPORT std::string | findExampleDataFile (const std::string &name) |
template<class T > | |
T | FindKarcherMean (const std::vector< T > &rotations) |
template<class T > | |
T | FindKarcherMean (const std::vector< T, Eigen::aligned_allocator< T >> &rotations) |
template<class T > | |
T | FindKarcherMean (std::initializer_list< T > &&rotations) |
template<class T , class ALLOC > | |
T | FindKarcherMeanImpl (const vector< T, ALLOC > &rotations) |
template<class G , class KEY , class FACTOR2 > | |
PredecessorMap< KEY > | findMinimumSpanningTree (const G &fg) |
template<typename Gradient > | |
double | FletcherReeves (const Gradient ¤tGradient, const Gradient &prevGradient) |
Fletcher-Reeves formula for computing β, the direction of steepest descent. More... | |
std::string | formatMatrixIndented (const std::string &label, const Matrix &matrix, bool makeVectorHorizontal) |
bool | fpEqual (double a, double b, double tol, bool check_relative_also) |
static std::vector< Matrix3 > | G3 ({SO3::Hat(Vector3::Unit(0)), SO3::Hat(Vector3::Unit(1)), SO3::Hat(Vector3::Unit(2))}) |
static std::vector< Matrix4, Eigen::aligned_allocator< Matrix4 > > | G4 ({SO4::Hat(Vector6::Unit(0)), SO4::Hat(Vector6::Unit(1)), SO4::Hat(Vector6::Unit(2)), SO4::Hat(Vector6::Unit(3)), SO4::Hat(Vector6::Unit(4)), SO4::Hat(Vector6::Unit(5))}) |
template<class T > | |
GenericValue< T > | genericValue (const T &v) |
HybridFactor::Category | GetCategory (const KeyVector &continuousKeys, const DiscreteKeys &discreteKeys) |
template<class CALIBRATION > | |
Pose3_ | getPose (const Expression< PinholeCamera< CALIBRATION > > &cam) |
static Vector | getSubvector (const Vector &src, const KeyInfo &keyInfo, const KeyVector &keys) |
static VectorValues | gradientInPlace (const NonlinearFactorGraph &nfg, const Values &values) |
Return the gradient vector of a nonlinear factor graph. More... | |
bool | greaterThanOrEqual (const Vector &vec1, const Vector &vec2) |
Pose3 | gtsam2openGL (const Pose3 &PoseGTSAM) |
This function converts a GTSAM camera pose to an openGL camera pose. More... | |
Pose3 | gtsam2openGL (const Rot3 &R, double tx, double ty, double tz) |
This function converts a GTSAM camera pose to an openGL camera pose. More... | |
template<typename G > | |
GTSAM_CONCEPT_REQUIRES (IsGroup< G >, bool) check_group_invariants(const G &a | |
Check invariants. More... | |
template<typename T > | |
GTSAM_CONCEPT_REQUIRES (IsTestable< T >, bool) check_manifold_invariants(const T &a | |
Check invariants for Manifold type. More... | |
bool | guardedIsDebug (const std::string &s) |
void | guardedSetDebug (const std::string &s, const bool v) |
bool | hasConstraints (const GaussianFactorGraph &factors) |
template<typename Gradient > | |
double | HestenesStiefel (const Gradient ¤tGradient, const Gradient &prevGradient, const Gradient &direction) |
pair< double, Vector > | house (const Vector &x) |
void | householder (Matrix &A, size_t k) |
void | householder_ (Matrix &A, size_t k, bool copy_vectors) |
double | houseInPlace (Vector &v) |
string | html (const DiscreteValues &values, const KeyFormatter &keyFormatter=DefaultKeyFormatter, const DiscreteValues::Names &names={}) |
Free version of html. More... | |
const Ordering | HybridOrdering (const HybridGaussianFactorGraph &graph) |
Return a Colamd constrained ordering where the discrete keys are eliminated after the continuous keys. More... | |
IndexPairVector | IndexPairSetAsArray (IndexPairSet &set) |
Values | initialCamerasAndPointsEstimate (const SfmData &db) |
This function creates initial values for cameras and points from db. More... | |
Values | initialCamerasEstimate (const SfmData &db) |
This function creates initial values for cameras from db. More... | |
template<class V1 , class V2 > | |
double | inner_prod (const V1 &a, const V2 &b) |
void | inplace_QR (Matrix &A) |
template<typename Derived1 , typename Derived2 > | |
void | insertSub (Eigen::MatrixBase< Derived1 > &fullMatrix, const Eigen::MatrixBase< Derived2 > &subMatrix, size_t i, size_t j) |
template<typename T > | |
T | interpolate (const T &X, const T &Y, double t, typename MakeOptionalJacobian< T, T >::type Hx={}, typename MakeOptionalJacobian< T, T >::type Hy={}) |
Matrix | inverse_square_root (const Matrix &A) |
static bool | is_linear_dependent (const Matrix &A, const Matrix &B, double tol) |
bool | isDebugVersion () |
template<typename T , size_t d> | |
static double | Kappa (const BinaryMeasurement< T > &measurement, const ShonanAveragingParameters< d > ¶meters) |
static std::mt19937 | kRandomNumberGenerator (42) |
Matrix | kroneckerProductIdentity (size_t M, const Weights &w) |
Function for computing the kronecker product of the 1*N Weight vector w with the MxM identity matrix I efficiently. The main reason for this is so we don't need to use Eigen's Unsupported library. More... | |
bool | linear_dependent (const Matrix &A, const Matrix &B, double tol) |
bool | linear_dependent (const Vector &vec1, const Vector &vec2, double tol) |
bool | linear_independent (const Matrix &A, const Matrix &B, double tol) |
template<typename T , typename A > | |
Expression< T > | linearExpression (const std::function< T(A)> &f, const Expression< A > &expression, const Eigen::Matrix< double, traits< T >::dimension, traits< A >::dimension > &dTdA) |
JacobianFactor | linearizeNumerically (const NoiseModelFactor &factor, const Values &values, double delta=1e-5) |
template<class S , class V , class W > | |
double | lineSearch (const S &system, const V currentValues, const W &gradient) |
Matrix | LLt (const Matrix &A) |
GraphAndValues | load2D (const std::string &filename, SharedNoiseModel model, size_t maxIndex, bool addNoise, bool smart, NoiseFormat noiseFormat, KernelFunctionType kernelFunctionType) |
GraphAndValues | load2D (std::pair< std::string, SharedNoiseModel > dataset, size_t maxIndex, bool addNoise, bool smart, NoiseFormat noiseFormat, KernelFunctionType kernelFunctionType) |
GraphAndValues | load2D_robust (const std::string &filename, const noiseModel::Base::shared_ptr &model, size_t maxIndex) |
GraphAndValues | load3D (const std::string &filename) |
Load TORO 3D Graph. More... | |
template<typename T > | |
gtsam::Expression< typename gtsam::traits< T >::TangentVector > | logmap (const gtsam::Expression< T > &x1, const gtsam::Expression< T > &x2) |
logmap More... | |
template<class Class > | |
Vector | logmap_default (const Class &l0, const Class &lp) |
static Symbol | make (gtsam::Key key) |
static LabeledSymbol | make (gtsam::Key key) |
template<typename T , typename ... Args> | |
gtsam::enable_if_t< needs_eigen_aligned_allocator< T >::value, std::shared_ptr< T > > | make_shared (Args &&... args) |
template<typename T , typename ... Args> | |
gtsam::enable_if_t<!needs_eigen_aligned_allocator< T >::value, std::shared_ptr< T > > | make_shared (Args &&... args) |
Fall back to the boost version if no need for alignment. More... | |
std::pair< KeyVector, std::vector< int > > | makeBinaryOrdering (std::vector< Key > &input) |
Return the ordering as a binary tree such that all parent nodes are above their children. More... | |
template<typename T , typename R , typename FUNC > | |
FunctorizedFactor< R, T > | MakeFunctorizedFactor (Key key, const R &z, const SharedNoiseModel &model, const FUNC func) |
template<typename T1 , typename T2 , typename R , typename FUNC > | |
FunctorizedFactor2< R, T1, T2 > | MakeFunctorizedFactor2 (Key key1, Key key2, const R &z, const SharedNoiseModel &model, const FUNC func) |
HybridGaussianFactorGraph::shared_ptr | makeSwitchingChain (size_t K, std::function< Key(int)> x=X, std::function< Key(int)> m=M, const std::string &transitionProbabilityTable="0 1 1 3") |
Create a switching system chain. A switching system is a continuous system which depends on a discrete mode at each time step of the chain. More... | |
string | markdown (const DiscreteValues &values, const KeyFormatter &keyFormatter=DefaultKeyFormatter, const DiscreteValues::Names &names={}) |
Free version of markdown. More... | |
const Eigen::IOFormat & | matlabFormat () |
template<class PROBLEM > | |
Key | maxKey (const PROBLEM &problem) |
template<class CONTAINER > | |
Point3 | mean (const CONTAINER &points) |
mean More... | |
Point2Pair | means (const std::vector< Point2Pair > &abPointPairs) |
Calculate the two means of a set of Point2 pairs. More... | |
Point3Pair | means (const std::vector< Point3Pair > &abPointPairs) |
Calculate the two means of a set of Point3 pairs. More... | |
std::pair< Pose2, bool > | moveWithBounce (const Pose2 &cur_pose, double step_size, const std::vector< SimWall2D > walls, Sampler &angle_drift, Sampler &reflect_noise, const Rot2 &bias) |
Key | mrsymbol (unsigned char c, unsigned char label, size_t j) |
Create a symbol key from a character, label and index, i.e. xA5. More... | |
unsigned char | mrsymbolChr (Key key) |
Return the character portion of a symbol key. More... | |
size_t | mrsymbolIndex (Key key) |
Return the index portion of a symbol key. More... | |
unsigned char | mrsymbolLabel (Key key) |
Return the label portion of a symbol key. More... | |
template<class S , class V > | |
std::tuple< V, int > | nonlinearConjugateGradient (const S &system, const V &initial, const NonlinearOptimizerParams ¶ms, const bool singleIteration, const DirectionMethod &directionMethod=DirectionMethod::PolakRibiere, const bool gradientDescent=false) |
double | norm2 (const Point2 &p, OptionalJacobian< 1, 2 > H={}) |
Distance of the point from the origin, with Jacobian. More... | |
double | norm3 (const Point3 &p, OptionalJacobian< 1, 3 > H={}) |
Distance of the point from the origin, with Jacobian. More... | |
Unit3_ | normal (const OrientedPlane3_ &p) |
Point3 | normalize (const Point3 &p, OptionalJacobian< 3, 3 > H={}) |
normalize, with optional Jacobian More... | |
Point3_ | normalize (const Point3_ &a) |
static void | normalize (Signature::Row &row) |
template<size_t d> | |
static size_t | NrUnknowns (const typename ShonanAveraging< d >::Measurements &measurements) |
template<class Y , class X , int N = traits<X>::dimension> | |
internal::FixedSizeMatrix< Y, X >::type | numericalDerivative11 (std::function< Y(const X &)> h, const X &x, double delta=1e-5) |
New-style numerical derivatives using manifold_traits. More... | |
template<class Y , class X > | |
internal::FixedSizeMatrix< Y, X >::type | numericalDerivative11 (Y(*h)(const X &), const X &x, double delta=1e-5) |
template<class Y , class X1 , class X2 , int N = traits<X1>::dimension> | |
internal::FixedSizeMatrix< Y, X1 >::type | numericalDerivative21 (const std::function< Y(const X1 &, const X2 &)> &h, const X1 &x1, const X2 &x2, double delta=1e-5) |
template<class Y , class X1 , class X2 > | |
internal::FixedSizeMatrix< Y, X1 >::type | numericalDerivative21 (Y(*h)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
template<class Y , class X1 , class X2 , int N = traits<X2>::dimension> | |
internal::FixedSizeMatrix< Y, X2 >::type | numericalDerivative22 (std::function< Y(const X1 &, const X2 &)> h, const X1 &x1, const X2 &x2, double delta=1e-5) |
template<class Y , class X1 , class X2 > | |
internal::FixedSizeMatrix< Y, X2 >::type | numericalDerivative22 (Y(*h)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , int N = traits<X1>::dimension> | |
internal::FixedSizeMatrix< Y, X1 >::type | numericalDerivative31 (std::function< Y(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< Y, X1 >::type | numericalDerivative31 (Y(*h)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , int N = traits<X2>::dimension> | |
internal::FixedSizeMatrix< Y, X2 >::type | numericalDerivative32 (std::function< Y(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< Y, X2 >::type | numericalDerivative32 (Y(*h)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , int N = traits<X3>::dimension> | |
internal::FixedSizeMatrix< Y, X3 >::type | numericalDerivative33 (std::function< Y(const X1 &, const X2 &, const X3 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< Y, X3 >::type | numericalDerivative33 (Y(*h)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , int N = traits<X1>::dimension> | |
internal::FixedSizeMatrix< Y, X1 >::type | numericalDerivative41 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 > | |
internal::FixedSizeMatrix< Y, X1 >::type | numericalDerivative41 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , int N = traits<X2>::dimension> | |
internal::FixedSizeMatrix< Y, X2 >::type | numericalDerivative42 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 > | |
internal::FixedSizeMatrix< Y, X2 >::type | numericalDerivative42 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , int N = traits<X3>::dimension> | |
internal::FixedSizeMatrix< Y, X3 >::type | numericalDerivative43 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 > | |
internal::FixedSizeMatrix< Y, X3 >::type | numericalDerivative43 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , int N = traits<X4>::dimension> | |
internal::FixedSizeMatrix< Y, X4 >::type | numericalDerivative44 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 > | |
internal::FixedSizeMatrix< Y, X4 >::type | numericalDerivative44 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , int N = traits<X1>::dimension> | |
internal::FixedSizeMatrix< Y, X1 >::type | numericalDerivative51 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 > | |
internal::FixedSizeMatrix< Y, X1 >::type | numericalDerivative51 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , int N = traits<X2>::dimension> | |
internal::FixedSizeMatrix< Y, X2 >::type | numericalDerivative52 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 > | |
internal::FixedSizeMatrix< Y, X2 >::type | numericalDerivative52 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , int N = traits<X3>::dimension> | |
internal::FixedSizeMatrix< Y, X3 >::type | numericalDerivative53 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 > | |
internal::FixedSizeMatrix< Y, X3 >::type | numericalDerivative53 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , int N = traits<X4>::dimension> | |
internal::FixedSizeMatrix< Y, X4 >::type | numericalDerivative54 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 > | |
internal::FixedSizeMatrix< Y, X4 >::type | numericalDerivative54 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , int N = traits<X5>::dimension> | |
internal::FixedSizeMatrix< Y, X5 >::type | numericalDerivative55 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 > | |
internal::FixedSizeMatrix< Y, X5 >::type | numericalDerivative55 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 , int N = traits<X1>::dimension> | |
internal::FixedSizeMatrix< Y, X1 >::type | numericalDerivative61 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 > | |
internal::FixedSizeMatrix< Y, X1 >::type | numericalDerivative61 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 , int N = traits<X2>::dimension> | |
internal::FixedSizeMatrix< Y, X2 >::type | numericalDerivative62 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 > | |
internal::FixedSizeMatrix< Y, X2 >::type | numericalDerivative62 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 , int N = traits<X3>::dimension> | |
internal::FixedSizeMatrix< Y, X3 >::type | numericalDerivative63 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 > | |
internal::FixedSizeMatrix< Y, X3 >::type | numericalDerivative63 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 , int N = traits<X4>::dimension> | |
internal::FixedSizeMatrix< Y, X4 >::type | numericalDerivative64 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 > | |
internal::FixedSizeMatrix< Y, X4 >::type | numericalDerivative64 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 , int N = traits<X5>::dimension> | |
internal::FixedSizeMatrix< Y, X5 >::type | numericalDerivative65 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 > | |
internal::FixedSizeMatrix< Y, X5 >::type | numericalDerivative65 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 , int N = traits<X6>::dimension> | |
internal::FixedSizeMatrix< Y, X6 >::type | numericalDerivative66 (std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &)> h, const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, double delta=1e-5) |
template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 > | |
internal::FixedSizeMatrix< Y, X6 >::type | numericalDerivative66 (Y(*h)(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &), const X1 &x1, const X2 &x2, const X3 &x3, const X4 &x4, const X5 &x5, const X6 &x6, double delta=1e-5) |
template<class X , int N = traits<X>::dimension> | |
Eigen::Matrix< double, N, 1 > | numericalGradient (std::function< double(const X &)> h, const X &x, double delta=1e-5) |
Numerically compute gradient of scalar function. More... | |
template<class X > | |
internal::FixedSizeMatrix< X, X >::type | numericalHessian (double(*f)(const X &), const X &x, double delta=1e-5) |
template<class X > | |
internal::FixedSizeMatrix< X, X >::type | numericalHessian (std::function< double(const X &)> f, const X &x, double delta=1e-5) |
template<class X1 , class X2 > | |
internal::FixedSizeMatrix< X1, X1 >::type | numericalHessian211 (double(*f)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
template<class X1 , class X2 > | |
internal::FixedSizeMatrix< X1, X1 >::type | numericalHessian211 (std::function< double(const X1 &, const X2 &)> f, const X1 &x1, const X2 &x2, double delta=1e-5) |
template<class X1 , class X2 > | |
internal::FixedSizeMatrix< X1, X2 >::type | numericalHessian212 (double(*f)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
template<class X1 , class X2 > | |
internal::FixedSizeMatrix< X1, X2 >::type | numericalHessian212 (std::function< double(const X1 &, const X2 &)> f, const X1 &x1, const X2 &x2, double delta=1e-5) |
template<class X1 , class X2 > | |
internal::FixedSizeMatrix< X2, X2 >::type | numericalHessian222 (double(*f)(const X1 &, const X2 &), const X1 &x1, const X2 &x2, double delta=1e-5) |
template<class X1 , class X2 > | |
internal::FixedSizeMatrix< X2, X2 >::type | numericalHessian222 (std::function< double(const X1 &, const X2 &)> f, const X1 &x1, const X2 &x2, double delta=1e-5) |
template<class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< X1, X1 >::type | numericalHessian311 (double(*f)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< X1, X1 >::type | numericalHessian311 (std::function< double(const X1 &, const X2 &, const X3 &)> f, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< X1, X2 >::type | numericalHessian312 (double(*f)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< X1, X2 >::type | numericalHessian312 (std::function< double(const X1 &, const X2 &, const X3 &)> f, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< X1, X3 >::type | numericalHessian313 (double(*f)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< X1, X3 >::type | numericalHessian313 (std::function< double(const X1 &, const X2 &, const X3 &)> f, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< X2, X2 >::type | numericalHessian322 (double(*f)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< X2, X2 >::type | numericalHessian322 (std::function< double(const X1 &, const X2 &, const X3 &)> f, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< X2, X3 >::type | numericalHessian323 (double(*f)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< X2, X3 >::type | numericalHessian323 (std::function< double(const X1 &, const X2 &, const X3 &)> f, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< X3, X3 >::type | numericalHessian333 (double(*f)(const X1 &, const X2 &, const X3 &), const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
template<class X1 , class X2 , class X3 > | |
internal::FixedSizeMatrix< X3, X3 >::type | numericalHessian333 (std::function< double(const X1 &, const X2 &, const X3 &)> f, const X1 &x1, const X2 &x2, const X3 &x3, double delta=1e-5) |
Pose3 | openGL2gtsam (const Rot3 &R, double tx, double ty, double tz) |
This function converts an openGL camera pose to an GTSAM camera pose. More... | |
Rot3 | openGLFixedRotation () |
bool | operator!= (const Matrix &A, const Matrix &B) |
Signature | operator% (const DiscreteKey &key, const Signature::Table &parent) |
GTSAM_EXPORT Signature | operator% (const DiscreteKey &key, const std::string &parent) |
Signature | operator% (const DiscreteKey &key, const string &parent) |
DiscreteKeys | operator& (const DiscreteKey &key1, const DiscreteKey &key2) |
Create a list from two keys. More... | |
VectorValues | operator* (const double a, const VectorValues &c) |
template<typename T > | |
Expression< T > | operator* (const Expression< T > &expression1, const Expression< T > &expression2) |
Construct a product expression, assumes T::compose(T) -> T. More... | |
template<typename T > | |
ScalarMultiplyExpression< T > | operator* (double s, const Expression< T > &e) |
Point2 | operator* (double s, const Point2 &p) |
multiply with scalar More... | |
Errors | operator+ (const Errors &a, const Errors &b) |
Addition. More... | |
template<typename T > | |
BinarySumExpression< T > | operator+ (const Expression< T > &e1, const Expression< T > &e2) |
HybridGaussianProductFactor | operator+ (const HybridGaussianProductFactor &a, const HybridGaussianProductFactor &b) |
Errors | operator- (const Errors &a) |
Negation. More... | |
Errors | operator- (const Errors &a, const Errors &b) |
Subtraction. More... | |
template<typename T > | |
BinarySumExpression< T > | operator- (const Expression< T > &e1, const Expression< T > &e2) |
Construct an expression that subtracts one expression from another. More... | |
ostream & | operator<< (ostream &os, const EssentialMatrix &E) |
ostream & | operator<< (ostream &os, const gtsam::Point2Pair &p) |
ostream & | operator<< (ostream &os, const gtsam::Point3Pair &p) |
ostream & | operator<< (ostream &os, const IterativeOptimizationParameters &p) |
ostream & | operator<< (ostream &os, const key_formatter &m) |
ostream & | operator<< (ostream &os, const PreconditionerParameters &p) |
ostream & | operator<< (ostream &os, const PreintegrationBase &pim) |
ostream & | operator<< (ostream &os, const Rot3 &R) |
ostream & | operator<< (ostream &os, const Signature &s) |
ostream & | operator<< (ostream &os, const Signature::Row &row) |
ostream & | operator<< (ostream &os, const Signature::Table &table) |
ostream & | operator<< (ostream &os, const StereoPoint2 &p) |
ostream & | operator<< (ostream &os, const StreamedKey &streamedKey) |
ostream & | operator<< (ostream &os, const Subgraph &subgraph) |
ostream & | operator<< (ostream &os, const Subgraph::Edge &edge) |
ostream & | operator<< (ostream &os, const SubgraphBuilderParameters &p) |
std::ostream & | operator<< (std::ostream &os, const Cal3 &cal) |
std::ostream & | operator<< (std::ostream &os, const Cal3_S2 &cal) |
std::ostream & | operator<< (std::ostream &os, const Cal3_S2Stereo &cal) |
std::ostream & | operator<< (std::ostream &os, const Cal3Bundler &cal) |
std::ostream & | operator<< (std::ostream &os, const Cal3DS2 &cal) |
std::ostream & | operator<< (std::ostream &os, const Cal3DS2_Base &cal) |
std::ostream & | operator<< (std::ostream &os, const Cal3f &cal) |
std::ostream & | operator<< (std::ostream &os, const Cal3Fisheye &cal) |
std::ostream & | operator<< (std::ostream &os, const Cal3Unified &cal) |
std::ostream & | operator<< (std::ostream &os, const CombinedImuFactor &f) |
std::ostream & | operator<< (std::ostream &os, const Dih6 &m) |
GTSAM_EXPORT std::ostream & | operator<< (std::ostream &os, const EdgeKey &key) |
GTSAM_EXPORT std::ostream & | operator<< (std::ostream &os, const gtsam::Point2Pair &p) |
GTSAM_EXPORT std::ostream & | operator<< (std::ostream &os, const gtsam::Point3Pair &p) |
std::ostream & | operator<< (std::ostream &os, const ImuFactor &f) |
std::ostream & | operator<< (std::ostream &os, const ImuFactor2 &f) |
GTSAM_EXPORT std::ostream & | operator<< (std::ostream &os, const LabeledSymbol &symbol) |
std::ostream & | operator<< (std::ostream &os, const NavState &state) |
std::ostream & | operator<< (std::ostream &os, const Pose2 &pose) |
std::ostream & | operator<< (std::ostream &os, const Pose3 &pose) |
std::ostream & | operator<< (std::ostream &os, const Similarity2 &p) |
std::ostream & | operator<< (std::ostream &os, const Similarity3 &p) |
GTSAM_EXPORT std::ostream & | operator<< (std::ostream &os, const Symbol &symbol) |
std::ostream & | operator<< (std::ostream &os, const Unit3 &pair) |
GTSAM_EXPORT std::ostream & | operator<< (std::ostream &os, const VectorValues &v) |
std::ostream & | operator<< (std::ostream &stream, const ImuMeasurement &meas) |
bool | operator== (const Matrix &A, const Matrix &B) |
bool | operator== (const Vector &vec1, const Vector &vec2) |
istream & | operator>> (istream &inputStream, Matrix &destinationMatrix) |
istream & | operator>> (istream &is, EssentialMatrix &E) |
GTSAM_EXPORT std::istream & | operator>> (std::istream &inputStream, Matrix &destinationMatrix) |
std::istream & | operator>> (std::istream &is, GaussianFactorGraphValuePair &pair) |
std::istream & | operator>> (std::istream &is, Matrix6 &m) |
std::istream & | operator>> (std::istream &is, Quaternion &q) |
std::istream & | operator>> (std::istream &is, Rot3 &R) |
Vector | operator^ (const Matrix &A, const Vector &v) |
Signature | operator| (const DiscreteKey &key, const DiscreteKey &parent) |
Point3 | optimize (const NonlinearFactorGraph &graph, const Values &values, Key landmarkKey) |
size_t | optimizeWildfire (const ISAM2Clique::shared_ptr &root, double threshold, const KeySet &keys, VectorValues *delta) |
size_t | optimizeWildfireNonRecursive (const ISAM2Clique::shared_ptr &root, double threshold, const KeySet &keys, VectorValues *delta) |
FastVector< VariableSlots::const_iterator > | orderedSlotsHelper (const Ordering &ordering, const VariableSlots &variableSlots) |
BetweenFactorPose2s | parse2DFactors (const std::string &filename, const noiseModel::Diagonal::shared_ptr &model, size_t maxIndex) |
BetweenFactorPose3s | parse3DFactors (const std::string &filename, const noiseModel::Diagonal::shared_ptr &model, size_t maxIndex) |
static Table | ParseAnd () |
static std::optional< Row > | ParseConditional (const std::string &token) |
static std::optional< Table > | ParseConditionalTable (const std::vector< std::string > &tokens) |
std::optional< IndexedEdge > | parseEdge (std::istream &is, const std::string &tag) |
template<typename T > | |
GTSAM_EXPORT std::vector< typename BetweenFactor< T >::shared_ptr > | parseFactors (const std::string &filename, const noiseModel::Diagonal::shared_ptr &model=nullptr, size_t maxIndex=0) |
template<> | |
GTSAM_EXPORT std::vector< BetweenFactor< Pose2 >::shared_ptr > | parseFactors< Pose2 > (const std::string &filename, const noiseModel::Diagonal::shared_ptr &model, size_t maxIndex) |
template<> | |
GTSAM_EXPORT std::vector< BetweenFactor< Pose3 >::shared_ptr > | parseFactors< Pose3 > (const std::string &filename, const noiseModel::Diagonal::shared_ptr &model, size_t maxIndex) |
static Row | ParseFalseRow () |
template<typename T > | |
static void | parseLines (const std::string &filename, Parser< T > parse) |
template<> | |
GTSAM_EXPORT std::vector< BinaryMeasurement< Pose2 > > | parseMeasurements (const std::string &filename, const noiseModel::Diagonal::shared_ptr &model, size_t maxIndex) |
static Table | ParseOr () |
template<typename T > | |
std::map< size_t, T > | parseToMap (const std::string &filename, Parser< std::pair< size_t, T >> parse, size_t maxIndex) |
template<typename T > | |
static std::vector< T > | parseToVector (const std::string &filename, Parser< T > parse) |
static Row | ParseTrueRow () |
template<typename T > | |
GTSAM_EXPORT std::map< size_t, T > | parseVariables (const std::string &filename, size_t maxIndex=0) |
template<> | |
GTSAM_EXPORT std::map< size_t, Point2 > | parseVariables< Point2 > (const std::string &filename, size_t maxIndex) |
template<> | |
GTSAM_EXPORT std::map< size_t, Point3 > | parseVariables< Point3 > (const std::string &filename, size_t maxIndex) |
template<> | |
GTSAM_EXPORT std::map< size_t, Pose2 > | parseVariables< Pose2 > (const std::string &filename, size_t maxIndex) |
template<> | |
GTSAM_EXPORT std::map< size_t, Pose3 > | parseVariables< Pose3 > (const std::string &filename, size_t maxIndex) |
std::optional< IndexedLandmark > | parseVertexLandmark (std::istream &is, const std::string &tag) |
std::optional< std::pair< size_t, Point3 > > | parseVertexPoint3 (std::istream &is, const std::string &tag) |
std::optional< IndexedPose > | parseVertexPose (std::istream &is, const std::string &tag) |
std::optional< std::pair< size_t, Pose3 > > | parseVertexPose3 (std::istream &is, const std::string &tag) |
static Vector | perturb (const Vector &initialVector) |
Point3_ | point3 (const Unit3_ &v) |
template<typename Gradient > | |
double | PolakRibiere (const Gradient ¤tGradient, const Gradient &prevGradient) |
Polak-Ribiere formula for computing β, the direction of steepest descent. More... | |
std::vector< Pose3 > | posesOnCircle (int num_cameras=8, double R=30) |
Point3_ | position (const NavState_ &X) |
static double | PotentiallyPrunedComponentError (const GaussianFactorValuePair &pair, const VectorValues &continuousValues) |
static bool | 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<class S , class V > | |
V | preconditionedConjugateGradient (const S &system, const V &initial, const ConjugateGradientParameters ¶meters) |
template<class G , class V , class KEY > | |
std::tuple< G, V, std::map< KEY, V > > | predecessorMap2Graph (const PredecessorMap< KEY > &p_map) |
template<class KEY > | |
std::list< KEY > | predecessorMap2Keys (const PredecessorMap< KEY > &p_map) |
template<class CONTAINER > | |
void | Print (const CONTAINER &keys, const string &s, const KeyFormatter &keyFormatter) |
GTSAM_EXPORT void | print (const Errors &e, const std::string &s="Errors") |
Print an Errors instance. More... | |
void | print (const Errors &e, const string &s) |
Print an Errors instance. More... | |
GTSAM_EXPORT void | print (const Matrix &A, const std::string &s, std::ostream &stream) |
GTSAM_EXPORT void | print (const Matrix &A, const std::string &s="") |
void | print (const Matrix &A, const string &s) |
void | print (const Matrix &A, const string &s, ostream &stream) |
GTSAM_EXPORT void | print (const Vector &v, const std::string &s, std::ostream &stream) |
GTSAM_EXPORT void | print (const Vector &v, const std::string &s="") |
void | print (const Vector &v, const string &s) |
void | print (const Vector &v, const string &s, ostream &stream) |
void | print (double v, const std::string &s="") |
void | print (float v, const std::string &s="") |
static void | printFactor (const std::shared_ptr< Factor > &factor, const DiscreteValues &assignment, const KeyFormatter &keyFormatter) |
GTSAM_EXPORT void | PrintKey (Key key, const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) |
Utility function to print one key with optional prefix. More... | |
void | PrintKey (Key key, const string &s, const KeyFormatter &keyFormatter) |
Utility function to print one key with optional prefix. More... | |
GTSAM_EXPORT void | PrintKeyList (const KeyList &keys, const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) |
Utility function to print sets of keys with optional prefix. More... | |
void | PrintKeyList (const KeyList &keys, const string &s, const KeyFormatter &keyFormatter) |
Utility function to print sets of keys with optional prefix. More... | |
GTSAM_EXPORT void | PrintKeySet (const KeySet &keys, const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) |
Utility function to print sets of keys with optional prefix. More... | |
void | PrintKeySet (const KeySet &keys, const string &s, const KeyFormatter &keyFormatter) |
Utility function to print sets of keys with optional prefix. More... | |
GTSAM_EXPORT void | PrintKeyVector (const KeyVector &keys, const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) |
Utility function to print sets of keys with optional prefix. More... | |
void | PrintKeyVector (const KeyVector &keys, const string &s, const KeyFormatter &keyFormatter) |
Utility function to print sets of keys with optional prefix. More... | |
template<class MATRIX > | |
MATRIX | prod (const MATRIX &A, const MATRIX &B) |
Point2_ | project (const Point3_ &p_cam) |
Expression version of PinholeBase::Project. More... | |
Point2_ | project (const Unit3_ &p_cam) |
template<class CAMERA , class POINT > | |
Point2_ | project2 (const Expression< CAMERA > &camera_, const Expression< POINT > &p_) |
template<class CALIBRATION , class POINT > | |
Point2_ | project3 (const Pose3_ &x, const Expression< POINT > &p, const Expression< CALIBRATION > &K) |
template<class CAMERA > | |
std::vector< Matrix34, Eigen::aligned_allocator< Matrix34 > > | projectionMatricesFromCameras (const CameraSet< CAMERA > &cameras) |
template<class CALIBRATION > | |
std::vector< Matrix34, Eigen::aligned_allocator< Matrix34 > > | projectionMatricesFromPoses (const std::vector< Pose3 > &poses, std::shared_ptr< CALIBRATION > sharedCal) |
pair< Matrix, Matrix > | qr (const Matrix &A) |
Double_ | range (const Point2_ &p, const Point2_ &q) |
SfmData | readBal (const std::string &filename) |
This function parses a "Bundle Adjustment in the Large" (BAL) file and returns the data as a SfmData structure. Mainly used by wrapped code. More... | |
GraphAndValues | readG2o (const std::string &g2oFile, const bool is3D=false, KernelFunctionType kernelFunctionType=KernelFunctionTypeNONE) |
This function parses a g2o file and stores the measurements into a NonlinearFactorGraph and the initial guess in a Values structure. More... | |
void | recursiveMarkAffectedKeys (const Key &key, const ISAM2Clique::shared_ptr &clique, std::set< Key > &additionalKeys) |
template<int OutM, int OutN, int OutOptions, int InM, int InN, int InOptions> | |
Reshape< OutM, OutN, OutOptions, InM, InN, InOptions >::ReshapedType | reshape (const Eigen::Matrix< double, InM, InN, InOptions > &m) |
Point3_ | rotate (const Rot3_ &x, const Point3_ &p) |
Unit3_ | rotate (const Rot3_ &x, const Unit3_ &p) |
Rot3_ | rotation (const Pose3_ &pose) |
template<size_t d> | |
static Matrix | RoundSolutionS (const Matrix &S) |
template<class MATRIX > | |
const MATRIX::ConstRowXpr | row (const MATRIX &A, size_t j) |
pair< Matrix3, Vector3 > | RQ (const Matrix3 &A, OptionalJacobian< 3, 9 > H) |
Matrix | RtR (const Matrix &A) |
GTSAM_EXPORT void | save (const Matrix &A, const std::string &s, const std::string &filename) |
void | save (const Matrix &A, const string &s, const string &filename) |
GTSAM_EXPORT void | save (const Vector &A, const std::string &s, const std::string &filename) |
void | save (const Vector &v, const string &s, const string &filename) |
void | save2D (const NonlinearFactorGraph &graph, const Values &config, const noiseModel::Diagonal::shared_ptr model, const std::string &filename) |
static double | scale (double x, double a, double b, double t1, double t2) |
Scale x from [a, b] to [t1, t2]. More... | |
static Scatter | scatterFromValues (const Values &values) |
static Scatter | scatterFromValues (const Values &values, const Ordering &ordering) |
std::string | serializeGraph (const NonlinearFactorGraph &graph) |
bool | serializeGraphToFile (const NonlinearFactorGraph &graph, const std::string &fname) |
bool | serializeGraphToXMLFile (const NonlinearFactorGraph &graph, const std::string &fname, const std::string &name="graph") |
std::string | serializeGraphXML (const NonlinearFactorGraph &graph, const std::string &name="graph") |
std::string | serializeValues (const Values &values) |
bool | serializeValuesToFile (const Values &values, const std::string &fname) |
bool | serializeValuesToXMLFile (const Values &values, const std::string &fname, const std::string &name="values") |
std::string | serializeValuesXML (const Values &values, const std::string &name="values") |
static void | setSubvector (const Vector &src, const KeyInfo &keyInfo, const KeyVector &keys, Vector &dst) |
template<class Derived > | |
Matrix3 | skewSymmetric (const Eigen::MatrixBase< Derived > &w) |
Matrix3 | skewSymmetric (double wx, double wy, double wz) |
SparseEigen | sparseJacobianEigen (const GaussianFactorGraph &gfg) |
SparseEigen | sparseJacobianEigen (const GaussianFactorGraph &gfg, const Ordering &ordering) |
Constructs an Eigen-format SparseMatrix of a GaussianFactorGraph. More... | |
static bool | 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) |
template<class G , class KEY , class FACTOR2 > | |
void | split (const G &g, const PredecessorMap< KEY > &tree, G &Ab1, G &Ab2) |
std::pair< GaussianFactorGraph, GaussianFactorGraph > | splitFactorGraph (const GaussianFactorGraph &factorGraph, const Subgraph &subgraph) |
Matrix | stack (const std::vector< Matrix > &blocks) |
Matrix | stack (size_t nrMatrices,...) |
VectorValues | steepestDescent (const GaussianFactorGraph &fg, const VectorValues &x, const ConjugateGradientParameters ¶meters) |
Vector | steepestDescent (const Matrix &A, const Vector &b, const Vector &x, const ConjugateGradientParameters ¶meters) |
Vector | steepestDescent (const System &Ab, const Vector &x, const ConjugateGradientParameters ¶meters) |
GTSAM_EXPORT Vector | steepestDescent (const System &Ab, const Vector &x, const IterativeOptimizationParameters ¶meters) |
GTSAM_EXPORT Matrix43 | stiefel (const SO4 &Q, OptionalJacobian< 12, 6 > H) |
static void | streamSignature (const DiscreteConditional &conditional, const KeyFormatter &keyFormatter, stringstream *ss) |
template<class MATRIX > | |
Eigen::Block< const MATRIX > | sub (const MATRIX &A, size_t i1, size_t i2, size_t j1, size_t j2) |
void | svd (const Matrix &A, Matrix &U, Vector &S, Matrix &V) |
Key | symbol (unsigned char c, std::uint64_t j) |
unsigned char | symbolChr (Key key) |
std::uint64_t | symbolIndex (Key key) |
void | synchronize (ConcurrentFilter &filter, ConcurrentSmoother &smoother) |
TEST (LPInitSolver, InfiniteLoopMultiVar) | |
TEST (LPInitSolver, InfiniteLoopSingleVar) | |
TEST (LPInitSolver, Initialization) | |
TEST (SmartFactorBase, Pinhole) | |
TEST (SmartFactorBase, PinholeWithSensor) | |
TEST (SmartFactorBase, Stereo) | |
template<typename G > | |
void | testChartDerivatives (TestResult &result_, const std::string &name_, const G &t1, const G &t2) |
template<typename T > | |
void | testDefaultChart (TestResult &result_, const std::string &name_, const T &value) |
template<typename G > | |
void | testLieGroupDerivatives (TestResult &result_, const std::string &name_, const G &t1, const G &t2) |
static void | throwRuntimeError (const std::string &s, const std::shared_ptr< Factor > &f) |
void | tictoc_finishedIteration_ () |
void | tictoc_print2_ () |
void | tictoc_print_ () |
void | tictoc_reset_ () |
template<class G , class F , class KEY > | |
SDGraph< KEY > | toBoostGraph (const G &graph) |
static std::vector< std::string > | Tokenize (const std::string &str) |
GTSAM_EXPORT Matrix3 | topLeft (const SO4 &Q, OptionalJacobian< 9, 6 > H) |
Matrix | trans (const Matrix &A) |
template<class T , class P > | |
P | transform_point (const T &trans, const P &global, OptionalMatrixType Dtrans, OptionalMatrixType Dglobal) |
Point3_ | transformFrom (const Pose3_ &x, const Point3_ &p) |
Pose3_ | transformPoseTo (const Pose3_ &p, const Pose3_ &q) |
Point2_ | transformTo (const Pose2_ &x, const Point2_ &p) |
Line3 | transformTo (const Pose3 &wTc, const Line3 &wL, OptionalJacobian< 4, 6 > Dpose, OptionalJacobian< 4, 4 > Dline) |
Line3_ | transformTo (const Pose3_ &wTc, const Line3_ &wL) |
Point3_ | transformTo (const Pose3_ &x, const Point3_ &p) |
Point3_ | translation (const Pose3_ &pose) |
Point3 | triangulateDLT (const std::vector< Matrix34, Eigen::aligned_allocator< Matrix34 >> &projection_matrices, const Point2Vector &measurements, double rank_tol) |
Point3 | triangulateDLT (const std::vector< Matrix34, Eigen::aligned_allocator< Matrix34 >> &projection_matrices, const std::vector< Unit3 > &measurements, double rank_tol) |
Vector4 | triangulateHomogeneousDLT (const std::vector< Matrix34, Eigen::aligned_allocator< Matrix34 >> &projection_matrices, const Point2Vector &measurements, double rank_tol) |
Vector4 | triangulateHomogeneousDLT (const std::vector< Matrix34, Eigen::aligned_allocator< Matrix34 >> &projection_matrices, const std::vector< Unit3 > &measurements, double rank_tol) |
Point3 | triangulateLOST (const std::vector< Pose3 > &poses, const Point3Vector &calibratedMeasurements, const SharedIsotropic &measurementNoise, double rank_tol=1e-9) |
Triangulation using the LOST (Linear Optimal Sine Triangulation) algorithm proposed in https://arxiv.org/pdf/2205.12197.pdf by Sebastien Henry and John Christian. More... | |
template<class CAMERA > | |
Point3 | triangulateNonlinear (const CameraSet< CAMERA > &cameras, const typename CAMERA::MeasurementVector &measurements, const Point3 &initialEstimate, const SharedNoiseModel &model=nullptr) |
template<class CALIBRATION > | |
Point3 | triangulateNonlinear (const std::vector< Pose3 > &poses, std::shared_ptr< CALIBRATION > sharedCal, const Point2Vector &measurements, const Point3 &initialEstimate, const SharedNoiseModel &model=nullptr) |
template<class CAMERA > | |
Point3 | triangulatePoint3 (const CameraSet< CAMERA > &cameras, const typename CAMERA::MeasurementVector &measurements, double rank_tol=1e-9, bool optimize=false, const SharedNoiseModel &model=nullptr, const bool useLOST=false) |
template<class CALIBRATION > | |
Point3 | triangulatePoint3 (const CameraSet< PinholeCamera< CALIBRATION >> &cameras, const Point2Vector &measurements, double rank_tol=1e-9, bool optimize=false, const SharedNoiseModel &model=nullptr, const bool useLOST=false) |
Pinhole-specific version. More... | |
template<class CALIBRATION > | |
Point3 | triangulatePoint3 (const std::vector< Pose3 > &poses, std::shared_ptr< CALIBRATION > sharedCal, const Point2Vector &measurements, double rank_tol=1e-9, bool optimize=false, const SharedNoiseModel &model=nullptr, const bool useLOST=false) |
template<class CAMERA > | |
TriangulationResult | triangulateSafe (const CameraSet< CAMERA > &cameras, const typename CAMERA::MeasurementVector &measured, const TriangulationParameters ¶ms) |
triangulateSafe: extensive checking of the outcome More... | |
template<class CAMERA > | |
std::pair< NonlinearFactorGraph, Values > | triangulationGraph (const CameraSet< CAMERA > &cameras, const typename CAMERA::MeasurementVector &measurements, Key landmarkKey, const Point3 &initialEstimate, const SharedNoiseModel &model=nullptr) |
template<class CALIBRATION > | |
std::pair< NonlinearFactorGraph, Values > | triangulationGraph (const std::vector< Pose3 > &poses, std::shared_ptr< CALIBRATION > sharedCal, const Point2Vector &measurements, Key landmarkKey, const Point3 &initialEstimate, const SharedNoiseModel &model=noiseModel::Unit::Create(2)) |
template<class CALIBRATION > | |
Point2_ | uncalibrate (const Expression< CALIBRATION > &K, const Point2_ &xy_hat) |
template<class CALIBRATION , class MEASUREMENT > | |
MEASUREMENT | undistortMeasurementInternal (const CALIBRATION &cal, const MEASUREMENT &measurement, std::optional< Cal3_S2 > pinholeCal={}) |
template<> | |
Point2Vector | undistortMeasurements (const Cal3_S2 &cal, const Point2Vector &measurements) |
template<class CALIBRATION > | |
Point2Vector | undistortMeasurements (const CALIBRATION &cal, const Point2Vector &measurements) |
template<class CAMERA > | |
CAMERA::MeasurementVector | undistortMeasurements (const CameraSet< CAMERA > &cameras, const typename CAMERA::MeasurementVector &measurements) |
template<class CAMERA = PinholeCamera<Cal3_S2>> | |
PinholeCamera< Cal3_S2 >::MeasurementVector | undistortMeasurements (const CameraSet< PinholeCamera< Cal3_S2 >> &cameras, const PinholeCamera< Cal3_S2 >::MeasurementVector &measurements) |
template<class CAMERA = SphericalCamera> | |
SphericalCamera::MeasurementVector | undistortMeasurements (const CameraSet< SphericalCamera > &cameras, const SphericalCamera::MeasurementVector &measurements) |
Point3_ | unrotate (const Rot3_ &x, const Point3_ &p) |
Unit3_ | unrotate (const Rot3_ &x, const Unit3_ &p) |
template<typename L , typename T1 , typename T2 > | |
std::pair< DecisionTree< L, T1 >, DecisionTree< L, T2 > > | unzip (const DecisionTree< L, std::pair< T1, T2 > > &input) |
unzip a DecisionTree with std::pair values. More... | |
static std::string | valueFormatter (const double &v) |
static Vector9 | vec3 (const Matrix3 &R) |
static SO4::VectorN2 | vec4 (const Matrix4 &Q) |
Matrix | vector_scale (const Matrix &A, const Vector &v, bool inf_mask) |
Matrix | vector_scale (const Vector &v, const Matrix &A, bool inf_mask) |
void | vector_scale_inplace (const Vector &v, Matrix &A, bool inf_mask) |
Velocity3_ | velocity (const NavState_ &X) |
template<class T > | |
Matrix | wedge (const Vector &x) |
template<> | |
Matrix | wedge< Pose2 > (const Vector &xi) |
template<> | |
Matrix | wedge< Pose3 > (const Vector &xi) |
template<> | |
Matrix | wedge< Similarity3 > (const Vector &xi) |
list< std::tuple< Vector, double, double > > | weighted_eliminate (Matrix &A, Vector &b, const Vector &sigmas) |
pair< Vector, double > | weightedPseudoinverse (const Vector &a, const Vector &weights) |
double | weightedPseudoinverse (const Vector &a, const Vector &weights, Vector &pseudo) |
bool | writeBAL (const std::string &filename, const SfmData &data) |
This function writes a "Bundle Adjustment in the Large" (BAL) file from a SfmData structure. More... | |
bool | writeBALfromValues (const std::string &filename, const SfmData &data, const Values &values) |
This function writes a "Bundle Adjustment in the Large" (BAL) file from a SfmData structure and a value structure (measurements are the same as the SfM input data, while camera poses and values are read from Values) More... | |
void | writeG2o (const NonlinearFactorGraph &graph, const Values &estimate, const std::string &filename) |
This function writes a g2o file from NonlinearFactorGraph and a Values structure. More... | |
template<class MATRIX > | |
void | zeroBelowDiagonal (MATRIX &A, size_t cols=0) |
Variables | |
const G & | b |
static const size_t | chrBits = sizeof(unsigned char) * 8 |
static const Key | chrMask = Key(UCHAR_MAX) << indexBits |
template class GTSAM_EXPORT | Conditional< DecisionTreeFactor, DiscreteConditional > |
GTSAM_EXPORT FastMap< std::string, ValueWithDefault< bool, false > > | debugFlags |
KeyFormatter | DefaultKeyFormatter = &_defaultKeyFormatter |
Assign default key formatter. More... | |
static size_t | gDummyCount = 0 |
static auto | GetDiscreteKeys |
Get the discrete keys from the HybridGaussianFactorGraph as DiscreteKeys. More... | |
static const size_t | indexBits = keyBits - chrBits |
static const Key | indexMask = ~chrMask |
static double | intNoiseVar = 0.0000001 |
static const VectorValues | kEmpty |
static const size_t | keyBits = sizeof(Key) * 8 |
KeypointsVector = list | |
static const Vector | kGravity = Vector::Unit(3,2)*9.81 |
static const size_t | kHeightIndex = 5 |
static const Matrix3 | kIntegrationErrorCovariance = intNoiseVar * I_3x3 |
static const size_t | kPitchIndex = 1 |
static const size_t | kRollIndex = 0 |
static const std::vector< size_t > | kVelocityIndices = { 6, 7, 8 } |
static const size_t | kVelocityZIndex = 8 |
const double | logSqrt2PI = log(std::sqrt(2.0 * M_PI)) |
constant needed below More... | |
MatchIndicesMap = dict | |
const size_t | max_it = 100000 |
static const gtsam::KeyFormatter | MultiRobotKeyFormatter |
static const double | negativePivotThreshold = -1e-1 |
static const Matrix93 | P3 |
static const Eigen::Matrix< double, 16, 6 > | P4 |
static const Rot2 | R_PI_2 (Rot2::fromCosSin(0., 1.)) |
SfmCameras = list | |
SfmMeasurementVector = list | |
SfmTracks = list | |
const G double | tol |
static const int | underconstrainedExponentDifference = 12 |
static const double | underconstrainedPrior = 1e-5 |
static const Eigen::MatrixBase< Vector2 >::ConstantReturnType | Z_2x1 = Vector2::Zero() |
static const Eigen::MatrixBase< Vector3 >::ConstantReturnType | Z_3x1 = Vector3::Zero() |
static const double | zeroPivotThreshold = 1e-6 |
traits
A structure-from-motion example with landmarks, default arguments give:
Global functions in a separate testing namespace
These should not be used outside of tests, as they are just remappings of the original functions. We use these to avoid needing to do too much std::bind magic or writing a bunch of separate proxy functions.
Don't expect all classes to work for all of these functions.
Matrix is a typedef in the gtsam namespace TODO: make a version to work with matlab wrapping we use the default < double,col_major,unbounded_array<double> >
This file supports creating continuous functions f(x;p)
as a linear combination of basis functions
such as the Fourier basis on SO(2) or a set of Chebyshev polynomials on [-1,1].
In the expression f(x;p)
the variable x
is the continuous argument at which the function is evaluated, and p
are the parameters which are coefficients of the different basis functions, e.g. p = [4; 3; 2] => 4 + 3x + 2x^2 for a polynomial. However, different parameterizations are also possible.
The Basis
class below defines a number of functors that can be used to evaluate f(x;p)
at a given x
, and these functors also calculate the Jacobian of f(x;p)
with respect to the parameters p
. This is actually the most important calculation, as it will allow GTSAM to optimize over the parameters p
.
This functionality is implemented using the CRTP
or "Curiously recurring
template pattern" C++ idiom, which is a meta-programming technique in which the derived class is passed as a template argument to Basis<DERIVED>
. The DERIVED class is assumed to satisfy a C++ concept, i.e., we expect it to define the following types and methods:
Parameters
: the parameters p
in f(x;p)CalculateWeights(size_t N, double x, double a=default, double b=default)
DerivativeWeights(size_t N, double x, double a=default, double b=default)
where Weights
is an N*1 row vector which defines the basis values for the polynomial at the specified point x
.
E.g. A Fourier series would give the following:
CalculateWeights
-> For N=5, the values for the bases: [1, cos(x), sin(x), cos(2x), sin(2x)]DerivativeWeights
-> For N=5, these are: [0, -sin(x), cos(x), -2sin(2x), 2cos(x)]Note that for a pseudo-spectral basis (as in Chebyshev2), the weights are instead the values for the Barycentric interpolation formula, since the values at the polynomial points (e.g. Chebyshev points) define the bases.
triangulationFactor.h
Module definition file for GTSAM
typedef qi::grammar<boost::spirit::basic_istream_iterator<char> > gtsam::base_grammar |
Definition at line 409 of file QPSParser.cpp.
using gtsam::BearingRange2D = typedef BearingRange<Pose2, Point2> |
Definition at line 450 of file dataset.cpp.
typedef Expression<Cal3_S2> gtsam::Cal3_S2_ |
Definition at line 127 of file slam/expressions.h.
typedef Expression<Cal3Bundler> gtsam::Cal3Bundler_ |
Definition at line 128 of file slam/expressions.h.
typedef PinholeCamera<Cal3Bundler0> gtsam::Camera |
Definition at line 52 of file testAdaptAutoDiff.cpp.
using gtsam::CameraSetCal3_S2 = typedef CameraSet<PinholeCamera<Cal3_S2> > |
Definition at line 758 of file triangulation.h.
using gtsam::CameraSetCal3Bundler = typedef CameraSet<PinholeCamera<Cal3Bundler> > |
Definition at line 757 of file triangulation.h.
using gtsam::CameraSetCal3DS2 = typedef CameraSet<PinholeCamera<Cal3DS2> > |
Definition at line 759 of file triangulation.h.
using gtsam::CameraSetCal3Fisheye = typedef CameraSet<PinholeCamera<Cal3Fisheye> > |
Definition at line 760 of file triangulation.h.
using gtsam::CameraSetCal3Unified = typedef CameraSet<PinholeCamera<Cal3Unified> > |
Definition at line 761 of file triangulation.h.
using gtsam::CameraSetSpherical = typedef CameraSet<SphericalCamera> |
Definition at line 762 of file triangulation.h.
Typedef for Matlab wrapping.
Definition at line 254 of file ConcurrentBatchFilter.h.
Typedef for Matlab wrapping.
Definition at line 205 of file ConcurrentBatchSmoother.h.
Typedef for Matlab wrapping.
Definition at line 199 of file ConcurrentIncrementalFilter.h.
Typedef for Matlab wrapping.
Definition at line 169 of file ConcurrentIncrementalSmoother.h.
typedef Eigen::Block<const Matrix> gtsam::ConstSubMatrix |
Definition at line 70 of file base/Matrix.h.
typedef Eigen::VectorBlock<const Vector> gtsam::ConstSubVector |
using gtsam::CustomErrorFunction = typedef std::function<Vector(const CustomFactor &, const Values &, const JacobianVector *)> |
Definition at line 36 of file CustomFactor.h.
typedef ptrdiff_t gtsam::DenseIndex |
typedef DirectProduct<S2, S3> gtsam::Dih6 |
Definition at line 107 of file testGroup.cpp.
typedef std::vector< Key > gtsam::Dims |
Definition at line 41 of file HessianFactor.cpp.
using gtsam::DiscreteCluster = typedef DiscreteJunctionTree::Cluster |
typedef for wrapper:
Definition at line 70 of file DiscreteJunctionTree.h.
using gtsam::Domains = typedef std::map<Key, Domain> |
Definition at line 29 of file Constraint.h.
typedef Expression<double> gtsam::Double_ |
Definition at line 28 of file nonlinear/expressions.h.
typedef DSF<int> gtsam::DSFInt |
typedef DSFMap<IndexPair> gtsam::DSFMapIndexPair |
using gtsam::DynamicJacobian = typedef OptionalJacobian<Eigen::Dynamic, Eigen::Dynamic> |
using gtsam::enable_if_t = typedef typename std::enable_if<B, T>::type |
An shorthand alias for accessing the ::type inside std::enable_if that can be used in a template directly.
Definition at line 30 of file make_shared.h.
using gtsam::Errors = typedef FastList<Vector> |
typedef std::uint64_t gtsam::FactorIndex |
typedef FastSet<FactorIndex> gtsam::FactorIndexSet |
typedef FastVector<FactorIndex> gtsam::FactorIndices |
Typedef for matlab wrapping.
Definition at line 134 of file nonlinear/FixedLagSmoother.h.
typedef FixedLagSmootherKeyTimestampMap::value_type gtsam::FixedLagSmootherKeyTimestampMapValue |
Definition at line 135 of file nonlinear/FixedLagSmoother.h.
Definition at line 136 of file nonlinear/FixedLagSmoother.h.
using gtsam::GaussianFactorGraphValuePair = typedef std::pair<GaussianFactorGraph, double> |
Definition at line 31 of file HybridGaussianProductFactor.h.
using gtsam::GaussianFactorValuePair = typedef std::pair<GaussianFactor::shared_ptr, double> |
Alias for pair of GaussianFactor::shared_pointer and a double value.
Definition at line 38 of file HybridGaussianFactor.h.
using gtsam::GraphAndValues = typedef std::pair<NonlinearFactorGraph::shared_ptr, Values::shared_ptr> |
Return type for load functions, which return a graph and initial values. For landmarks, the gtsam::Symbol L(index) is used to insert into the Values. Bearing-range measurements also refer to landmarks with L(index).
using gtsam::index_sequence_for = typedef make_index_sequence<sizeof...(T)> |
Definition at line 58 of file base/utilities.h.
typedef std::pair<std::pair<size_t, size_t>, Pose2> gtsam::IndexedEdge |
typedef std::pair<size_t, Point2> gtsam::IndexedLandmark |
typedef std::pair<size_t, Pose2> gtsam::IndexedPose |
typedef std::set<IndexPair> gtsam::IndexPairSet |
typedef ISAM2ThresholdMap::value_type gtsam::ISAM2ThresholdMapValue |
Definition at line 135 of file ISAM2Params.h.
using gtsam::JacobianVector = typedef std::vector<Matrix> |
Definition at line 24 of file CustomFactor.h.
typedef std::uint64_t gtsam::Key |
using gtsam::KeyDimMap = typedef std::map<Key, uint32_t> |
using gtsam::KeyFormatter = typedef std::function<std::string(Key)> |
using gtsam::KeyList = typedef FastList<Key> |
typedef std::map<Key, Rot3> gtsam::KeyRotMap |
Definition at line 34 of file InitializePose3.h.
using gtsam::KeySet = typedef FastSet<Key> |
typedef std::map<Key, std::vector<size_t> > gtsam::KeyVectorMap |
Definition at line 33 of file InitializePose3.h.
typedef Expression<Line3> gtsam::Line3_ |
Definition at line 40 of file slam/expressions.h.
using gtsam::LPSolver = typedef ActiveSetSolver<LP, LPPolicy, LPInitSolver> |
Definition at line 79 of file LPSolver.h.
typedef Eigen::MatrixXd gtsam::Matrix |
Definition at line 39 of file base/Matrix.h.
typedef Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> gtsam::MatrixRowMajor |
Definition at line 40 of file base/Matrix.h.
using gtsam::MotionModel = typedef BetweenFactor<double> |
Definition at line 120 of file Switching.h.
typedef Expression<NavState> gtsam::NavState_ |
Definition at line 17 of file navigation/expressions.h.
using gtsam::NonlinearFactorValuePair = typedef std::pair<NoiseModelFactor::shared_ptr, double> |
Alias for a NoiseModelFactor shared pointer and double scalar pair.
Definition at line 35 of file HybridNonlinearFactor.h.
using gtsam::OptionalMatrixType = typedef Matrix* |
This typedef will be used everywhere boost::optional<Matrix&> reference was used previously. This is used to indicate that the Jacobian is optional. In the future we will change this to OptionalJacobian
Definition at line 55 of file NonlinearFactor.h.
using gtsam::OptionalMatrixVecType = typedef std::vector<Matrix>* |
The OptionalMatrixVecType is a pointer to a vector of matrices. It will be used in situations where a vector of matrices is optional, like in unwhitenedError.
Definition at line 61 of file NonlinearFactor.h.
Definition at line 41 of file slam/expressions.h.
using gtsam::OrphanWrapper = typedef BayesTreeOrphanWrapper<HybridBayesTree::Clique> |
Definition at line 58 of file HybridGaussianFactorGraph.cpp.
using gtsam::Pairs = typedef std::vector<std::pair<Key, Matrix> > |
Definition at line 44 of file JacobianFactor.cpp.
using gtsam::Parser = typedef std::function<std::optional<T>(std::istream &is, const std::string &tag)> |
Definition at line 124 of file dataset.cpp.
using gtsam::PinholeCameraCal3_S2 = typedef gtsam::PinholeCamera<gtsam::Cal3_S2> |
Convenient aliases for Pinhole camera classes with different calibrations. Also needed as forward declarations in the wrapper.
Definition at line 34 of file SimpleCamera.h.
using gtsam::PinholeCameraCal3Bundler = typedef gtsam::PinholeCamera<gtsam::Cal3Bundler> |
Definition at line 35 of file SimpleCamera.h.
using gtsam::PinholeCameraCal3DS2 = typedef gtsam::PinholeCamera<gtsam::Cal3DS2> |
Definition at line 36 of file SimpleCamera.h.
using gtsam::PinholeCameraCal3Fisheye = typedef gtsam::PinholeCamera<gtsam::Cal3Fisheye> |
Definition at line 38 of file SimpleCamera.h.
using gtsam::PinholeCameraCal3Unified = typedef gtsam::PinholeCamera<gtsam::Cal3Unified> |
Definition at line 37 of file SimpleCamera.h.
typedef Vector2 gtsam::Point2 |
typedef Expression<Point2> gtsam::Point2_ |
Definition at line 22 of file slam/expressions.h.
using gtsam::Point2Pair = typedef std::pair<Point2, Point2> |
typedef Vector3 gtsam::Point3 |
typedef Expression<Point3> gtsam::Point3_ |
Definition at line 36 of file slam/expressions.h.
using gtsam::Point3Pair = typedef std::pair<Point3, Point3> |
typedef std::vector<Point3, Eigen::aligned_allocator<Point3> > gtsam::Point3Vector |
typedef Expression<Pose2> gtsam::Pose2_ |
Definition at line 24 of file slam/expressions.h.
using gtsam::Pose2Pair = typedef std::pair<Pose2, Pose2> |
typedef Expression<Pose3> gtsam::Pose3_ |
Definition at line 39 of file slam/expressions.h.
using gtsam::Pose3Pair = typedef std::pair<Pose3, Pose3> |
Definition at line 33 of file CombinedImuFactor.h.
using gtsam::QPSolver = typedef ActiveSetSolver<QP, QPPolicy, QPInitSolver> |
Definition at line 48 of file QPSolver.h.
typedef Eigen::Quaternion<double, Eigen::DontAlign> gtsam::Quaternion |
Definition at line 182 of file geometry/Quaternion.h.
using gtsam::ResultTree = typedef DecisionTree<Key, Result> |
Definition at line 73 of file HybridGaussianFactorGraph.cpp.
typedef Expression<Rot2> gtsam::Rot2_ |
Definition at line 23 of file slam/expressions.h.
typedef Expression<Rot3> gtsam::Rot3_ |
Definition at line 38 of file slam/expressions.h.
using gtsam::Row = typedef std::vector<double> |
Definition at line 9 of file SignatureParser.cpp.
typedef Eigen::RowVectorXd gtsam::RowVector |
Definition at line 25 of file LinearCost.h.
using gtsam::Sample = typedef std::pair<double, double> |
A sample is a key-value pair from a sequence.
Definition at line 38 of file FitBasis.h.
using gtsam::Sequence = typedef std::map<double, double> |
Our sequence representation is a map of {x: y} values where y = f(x)
Definition at line 36 of file FitBasis.h.
typedef PinholeCamera<Cal3Bundler> gtsam::SfmCamera |
typedef std::pair<size_t, Point2> gtsam::SfmMeasurement |
A measurement with its camera index.
Definition at line 32 of file SfmTrack.h.
Definition at line 119 of file SfmTrack.h.
Definition at line 765 of file NoiseModel.h.
Definition at line 764 of file NoiseModel.h.
using gtsam::SharedFactor = typedef std::shared_ptr<Factor> |
Definition at line 32 of file HybridFactorGraph.h.
Definition at line 763 of file NoiseModel.h.
Definition at line 766 of file NoiseModel.h.
Aliases. Deliberately not in noiseModel namespace.
Definition at line 762 of file NoiseModel.h.
using gtsam::ShonanAveragingParameters2 = typedef ShonanAveragingParameters<2> |
Definition at line 104 of file ShonanAveraging.h.
using gtsam::ShonanAveragingParameters3 = typedef ShonanAveragingParameters<3> |
Definition at line 105 of file ShonanAveraging.h.
using gtsam::ShonanFactor2 = typedef ShonanFactor<2> |
Definition at line 89 of file ShonanFactor.h.
using gtsam::ShonanFactor3 = typedef ShonanFactor<3> |
Definition at line 90 of file ShonanFactor.h.
typedef std::pair<size_t, size_t> gtsam::SiftIndex |
Sift index for SfmTrack.
Definition at line 35 of file SfmTrack.h.
typedef std::vector<SimPolygon2D> gtsam::SimPolygon2DVector |
Definition at line 131 of file SimPolygon2D.h.
typedef std::vector<SimWall2D> gtsam::SimWall2DVector |
Definition at line 77 of file SimWall2D.h.
Definition at line 45 of file SmartStereoProjectionFactor.h.
using gtsam::SO3 = typedef SO<3> |
using gtsam::SO4 = typedef SO<4> |
using gtsam::SOn = typedef SO<Eigen::Dynamic> |
typedef Eigen::SparseMatrix< double > gtsam::Sparse |
Definition at line 26 of file AcceleratedPowerMethod.h.
typedef Eigen::SparseMatrix<double, Eigen::ColMajor, int> gtsam::SparseEigen |
Eigen-format sparse matrix. Note: ColMajor is ~20% faster since InnerIndices must be sorted
Definition at line 35 of file SparseEigen.h.
using gtsam::SparseTriplets = typedef std::vector<std::tuple<int, int, double> > |
Definition at line 118 of file GaussianFactorGraph.cpp.
Definition at line 62 of file DoglegOptimizer.cpp.
typedef std::vector<StereoPoint2> gtsam::StereoPoint2Vector |
Definition at line 168 of file StereoPoint2.h.
typedef Eigen::Block<Matrix> gtsam::SubMatrix |
Definition at line 69 of file base/Matrix.h.
typedef Eigen::VectorBlock<Vector> gtsam::SubVector |
Definition at line 185 of file NonlinearOptimizerParams.h.
using gtsam::SymbolicCluster = typedef SymbolicJunctionTree::Cluster |
typedef for wrapper:
Definition at line 69 of file SymbolicJunctionTree.h.
using gtsam::Table = typedef std::vector<Row> |
Definition at line 10 of file SignatureParser.cpp.
typedef Expression<Unit3> gtsam::Unit3_ |
Definition at line 37 of file slam/expressions.h.
typedef Eigen::VectorXd gtsam::Vector |
typedef Eigen::Matrix<double, 1, 1> gtsam::Vector1 |
typedef Expression<Vector1> gtsam::Vector1_ |
Definition at line 29 of file nonlinear/expressions.h.
typedef Eigen::Vector2d gtsam::Vector2 |
typedef Expression<Vector2> gtsam::Vector2_ |
Definition at line 30 of file nonlinear/expressions.h.
typedef Eigen::Vector3d gtsam::Vector3 |
typedef Expression<Vector3> gtsam::Vector3_ |
Definition at line 31 of file nonlinear/expressions.h.
typedef Expression<Vector4> gtsam::Vector4_ |
Definition at line 32 of file nonlinear/expressions.h.
typedef Expression<Vector5> gtsam::Vector5_ |
Definition at line 33 of file nonlinear/expressions.h.
typedef Expression<Vector6> gtsam::Vector6_ |
Definition at line 34 of file nonlinear/expressions.h.
typedef Expression<Vector7> gtsam::Vector7_ |
Definition at line 35 of file nonlinear/expressions.h.
typedef Expression<Vector8> gtsam::Vector8_ |
Definition at line 36 of file nonlinear/expressions.h.
typedef Expression<Vector9> gtsam::Vector9_ |
Definition at line 37 of file nonlinear/expressions.h.
typedef Vector3 gtsam::Velocity3 |
Velocity is currently typedef'd to Vector3.
Syntactic sugar to clarify components.
Definition at line 28 of file NavState.h.
typedef Expression<Velocity3> gtsam::Velocity3_ |
Definition at line 18 of file navigation/expressions.h.
using gtsam::void_t = typedef void |
using gtsam::Weights = typedef Eigen::Matrix<double, 1, -1> |
using gtsam::Y = typedef GaussianFactorGraphValuePair |
Definition at line 29 of file HybridGaussianProductFactor.cpp.
How to manage degeneracy.
Enumerator | |
---|---|
IGNORE_DEGENERACY | |
ZERO_ON_DEGENERACY | |
HANDLE_INFINITY |
Definition at line 35 of file SmartFactorParams.h.
|
strong |
Enumerator | |
---|---|
FletcherReeves | |
PolakRibiere | |
HestenesStiefel | |
DaiYuan |
Definition at line 72 of file NonlinearConjugateGradientOptimizer.h.
enum gtsam::GncLossType |
Linearization mode: what factor to linearize to.
SmartFactorParams: parameters and (linearization/degeneracy) modes for SmartProjection and SmartStereoProjection factors
Enumerator | |
---|---|
HESSIAN | |
IMPLICIT_SCHUR | |
JACOBIAN_Q | |
JACOBIAN_SVD |
Definition at line 30 of file SmartFactorParams.h.
enum gtsam::NoiseFormat |
Indicates how noise parameters are stored in file.
GTSAM_EXPORT std::string gtsam::_defaultKeyFormatter | ( | Key | key | ) |
|
private |
This function is to add shims for the long-gone Point2 and Point3 types
Definition at line 52 of file python/gtsam/__init__.py.
GTSAM_EXPORT std::string gtsam::_multirobotKeyFormatter | ( | Key | key | ) |
|
static |
Definition at line 32 of file HybridGaussianProductFactor.cpp.
|
inline |
Definition at line 197 of file Expression-inl.h.
DecisionTree<L, Y> gtsam::apply | ( | const DecisionTree< L, Y > & | f, |
const DecisionTree< L, Y > & | g, | ||
const typename DecisionTree< L, Y >::Binary & | op | ||
) |
Apply binary operator op
to DecisionTree f
.
Definition at line 474 of file DecisionTree.h.
DecisionTree<L, Y> gtsam::apply | ( | const DecisionTree< L, Y > & | f, |
const typename DecisionTree< L, Y >::Unary & | op | ||
) |
Apply unary operator op
to DecisionTree f
.
free versions of apply
Definition at line 460 of file DecisionTree.h.
DecisionTree<L, Y> gtsam::apply | ( | const DecisionTree< L, Y > & | f, |
const typename DecisionTree< L, Y >::UnaryAssignment & | op | ||
) |
Apply unary operator op
with Assignment to DecisionTree f
.
Definition at line 467 of file DecisionTree.h.
bool gtsam::assert_container_equal | ( | const std::map< size_t, V2 > & | expected, |
const std::map< size_t, V2 > & | actual, | ||
double | tol = 1e-9 |
||
) |
Function for comparing maps of size_t->testable
Definition at line 128 of file TestableAssertions.h.
bool gtsam::assert_container_equal | ( | const std::map< V1, V2 > & | expected, |
const std::map< V1, V2 > & | actual, | ||
double | tol = 1e-9 |
||
) |
Function for comparing maps of testable->testable TODO: replace with more generalized version
Definition at line 90 of file TestableAssertions.h.
bool gtsam::assert_container_equal | ( | const std::vector< std::pair< V1, V2 > > & | expected, |
const std::vector< std::pair< V1, V2 > > & | actual, | ||
double | tol = 1e-9 |
||
) |
Function for comparing vector of pairs (testable, testable)
Definition at line 166 of file TestableAssertions.h.
bool gtsam::assert_container_equal | ( | const V & | expected, |
const V & | actual, | ||
double | tol = 1e-9 |
||
) |
General function for comparing containers of testable objects
Definition at line 206 of file TestableAssertions.h.
bool gtsam::assert_container_equality | ( | const std::map< size_t, V2 > & | expected, |
const std::map< size_t, V2 > & | actual | ||
) |
Function for comparing maps of size_t->testable Types are assumed to have operator ==
Definition at line 237 of file TestableAssertions.h.
General function for comparing containers of objects with operator==
Definition at line 275 of file TestableAssertions.h.
GTSAM_EXPORT bool gtsam::assert_equal | ( | const ConstSubVector & | expected, |
const ConstSubVector & | actual, | ||
double | tol | ||
) |
Definition at line 171 of file Vector.cpp.
Equals testing for basic types
Definition at line 35 of file TestableAssertions.h.
equals with an tolerance, prints out message if unequal
Definition at line 40 of file Matrix.cpp.
bool gtsam::assert_equal | ( | const std::list< Matrix > & | As, |
const std::list< Matrix > & | Bs, | ||
double | tol = 1e-9 |
||
) |
equals with an tolerance, prints out message if unequal
Definition at line 69 of file Matrix.cpp.
bool gtsam::assert_equal | ( | const std::optional< V > & | expected, |
const std::optional< V > & | actual, | ||
double | tol = 1e-9 |
||
) |
Comparisons for std.optional objects that checks whether objects exist before comparing their values. First version allows for both to be std::nullopt, but the second, with expected given rather than optional
Concept requirement: V is testable
Definition at line 51 of file TestableAssertions.h.
|
inline |
Compare strings for unit tests
Definition at line 304 of file TestableAssertions.h.
Same, prints if error
vec1 | Vector |
vec2 | Vector |
tol | 1e-9 |
Definition at line 162 of file Vector.cpp.
bool gtsam::assert_equal | ( | const V & | expected, |
const std::optional< std::reference_wrapper< const V >> & | actual, | ||
double | tol = 1e-9 |
||
) |
Definition at line 76 of file TestableAssertions.h.
bool gtsam::assert_equal | ( | const V & | expected, |
const std::optional< V > & | actual, | ||
double | tol = 1e-9 |
||
) |
Definition at line 67 of file TestableAssertions.h.
bool gtsam::assert_equal | ( | const V & | expected, |
const V & | actual, | ||
double | tol = 1e-9 |
||
) |
This template works for any type with equals
Definition at line 99 of file Testable.h.
Same, prints if error
vec1 | Vector |
vec2 | Vector |
tol | 1e-9 |
Definition at line 144 of file Vector.cpp.
inequals with an tolerance, prints out message if within tolerance
Definition at line 60 of file Matrix.cpp.
bool gtsam::assert_inequal | ( | const V & | expected, |
const V & | actual, | ||
double | tol = 1e-9 |
||
) |
Allow for testing inequality
Definition at line 317 of file TestableAssertions.h.
Not the same, prints if error
vec1 | Vector |
vec2 | Vector |
tol | 1e-9 |
Definition at line 153 of file Vector.cpp.
bool gtsam::assert_print_equal | ( | const std::string & | expected, |
const V & | actual, | ||
const std::string & | s = "" |
||
) |
Capture print function output and compare against string.
Definition at line 352 of file TestableAssertions.h.
bool gtsam::assert_stdout_equal | ( | const std::string & | expected, |
const V & | actual | ||
) |
Capture std out via cout stream and compare against string.
Definition at line 330 of file TestableAssertions.h.
Definition at line 34 of file navigation/expressions.h.
BLAS level 2 style AXPY, y := alpha*x + y
Definition at line 110 of file Errors.cpp.
backSubstitute L*x=b
L | an lower triangular matrix |
b | an RHS vector |
unit,set | true if unit triangular |
Definition at line 365 of file Matrix.cpp.
backSubstitute U*x=b
U | an upper triangular matrix |
b | an RHS vector |
unit,set | true if unit triangular |
Definition at line 375 of file Matrix.cpp.
backSubstitute x'*U=b'
U | an upper triangular matrix |
b | an RHS vector |
unit,set | true if unit triangular |
Definition at line 385 of file Matrix.cpp.
AGC: bracket() only appears in Rot3 tests, should this be used elsewhere?
Three term approximation of the Baker-Campbell-Hausdorff formula In non-commutative Lie groups, when composing exp(Z) = exp(X)exp(Y) it is not true that Z = X+Y. Instead, Z can be calculated using the BCH formula: Z = X + Y + [X,Y]/2 + [X-Y,[X,Y]]/12 - [Y,[X,[X,Y]]]/24 http://en.wikipedia.org/wiki/Baker-Campbell-Hausdorff_formula
Expression<T> gtsam::between | ( | const Expression< T > & | t1, |
const Expression< T > & | t2 | ||
) |
Definition at line 17 of file nonlinear/expressions.h.
double gtsam::bound | ( | double | a, |
double | min, | ||
double | max | ||
) |
Definition at line 17 of file PoseRTV.cpp.
GaussianFactorGraph gtsam::buildFactorSubgraph | ( | const GaussianFactorGraph & | gfg, |
const Subgraph & | subgraph, | ||
const bool | clone | ||
) |
Select the factors in a factor graph according to the subgraph.
Definition at line 407 of file SubgraphBuilder.cpp.
VectorValues gtsam::buildVectorValues | ( | const Vector & | v, |
const KeyInfo & | keyInfo | ||
) |
Create VectorValues from a Vector and a KeyInfo class.
Definition at line 166 of file PCGSolver.cpp.
VectorValues gtsam::buildVectorValues | ( | const Vector & | v, |
const Ordering & | ordering, | ||
const map< Key, size_t > & | dimensions | ||
) |
Create VectorValues from a Vector.
Definition at line 145 of file PCGSolver.cpp.
VectorValues gtsam::buildVectorValues | ( | const Vector & | v, |
const Ordering & | ordering, | ||
const std::map< Key, size_t > & | dimensions | ||
) |
Create VectorValues from a Vector.
Definition at line 145 of file PCGSolver.cpp.
void gtsam::calibrateJacobians | ( | const Cal & | calibration, |
const Point2 & | pn, | ||
OptionalJacobian< 2, Dim > | Dcal = {} , |
||
OptionalJacobian< 2, 2 > | Dp = {} |
||
) |
Function which makes use of the Implicit Function Theorem to compute the Jacobians of calibrate
using uncalibrate
. This is useful when there are iterative operations in the calibrate
function which make computing jacobians difficult.
Given f(pi, pn) = uncalibrate(pn) - pi, and g(pi) = calibrate, we can easily compute the Jacobians: df/pi = -I (pn and pi are independent args) Dp = -inv(H_uncal_pn) * df/pi = -inv(H_uncal_pn) * (-I) = inv(H_uncal_pn) Dcal = -inv(H_uncal_pn) * df/K = -inv(H_uncal_pn) * H_uncal_K
Cal | Calibration model. |
Dim | The number of parameters in the calibration model. |
p | Calibrated point. |
Dcal | optional 2*p Jacobian wrpt p Cal3DS2 parameters. |
Dp | optional 2*2 Jacobian wrpt intrinsic coordinates. |
|
inline |
Convert pixel measurements in image to homogeneous measurements in the image plane using camera intrinsics of each measurement.
CAMERA | Camera type to use. |
cameras | Cameras corresponding to each measurement. |
measurements | Vector of measurements to undistort. |
Definition at line 381 of file triangulation.h.
|
inline |
Specialize for SphericalCamera to do nothing.
Definition at line 397 of file triangulation.h.
|
inline |
Convert pixel measurements in image to homogeneous measurements in the image plane using shared camera intrinsics.
CALIBRATION | Calibration type to use. |
cal | Calibration with which measurements were taken. |
measurements | Vector of measurements to undistort. |
Definition at line 357 of file triangulation.h.
|
inline |
Free version of CartesianProduct.
Definition at line 124 of file DiscreteValues.h.
|
static |
Definition at line 97 of file NonlinearFactor.cpp.
bool gtsam::check_sharedCliques | ( | const std::pair< Key, typename BayesTree< CLIQUE >::sharedClique > & | v1, |
const std::pair< Key, typename BayesTree< CLIQUE >::sharedClique > & | v2 | ||
) |
Definition at line 259 of file BayesTree-inst.h.
GaussianConditional::shared_ptr gtsam::checkConditional | ( | const GaussianFactor::shared_ptr & | factor | ) |
Definition at line 38 of file HybridGaussianConditional.cpp.
GTSAM_EXPORT bool gtsam::checkConvergence | ( | const NonlinearOptimizerParams & | params, |
double | currentError, | ||
double | newError | ||
) |
Definition at line 234 of file NonlinearOptimizer.cpp.
bool gtsam::checkConvergence | ( | double | relativeErrorTreshold, |
double | absoluteErrorTreshold, | ||
double | errorThreshold, | ||
double | currentError, | ||
double | newError, | ||
NonlinearOptimizerParams::Verbosity | verbosity = NonlinearOptimizerParams::SILENT |
||
) |
Check whether the relative error decrease is less than relativeErrorTreshold, the absolute error decrease is less than absoluteErrorTreshold, or the error itself is less than errorThreshold.
Definition at line 182 of file NonlinearOptimizer.cpp.
|
static |
Definition at line 38 of file GncOptimizer.h.
Return the inverse of a S.P.D. matrix. Inversion is done via Cholesky decomposition.
Definition at line 537 of file Matrix.cpp.
"Careful" Cholesky computes the positive square-root of a positive symmetric semi-definite matrix (i.e. that may be rank-deficient). Unlike standard Cholesky, the square-root factor may have all-zero rows for free variables.
Additionally, this function returns the index of the row after the last non-zero row in the computed factor, so that it may be truncated to an upper-trapazoidal matrix.
The second element of the return value is true
if the matrix was factored successfully, or false
if it was non-positive-semidefinite (i.e. indefinite or negative-(semi-)definite.
Note that this returned index is the rank of the matrix if and only if all of the zero-rows of the factor occur after any non-zero rows. This is (always?) the case during elimination of a fully-constrained least-squares problem.
The optional order argument specifies the size of the square upper-left submatrix to operate on, ignoring the rest of the matrix.
Definition at line 75 of file base/cholesky.cpp.
Partial Cholesky computes a factor [R S such that [R' 0 [R S = [A B 0 L] S' I] 0 L] B' C]. The input to this function is the matrix ABC = [A B], and the parameter [B' C] nFrontal determines the split between A, B, and C, with A being of size nFrontal x nFrontal.
if non-zero, factorization proceeds in bottom-right corner starting at topleft
true
if the decomposition is successful, false
if A
was not positive-definite. Definition at line 107 of file base/cholesky.cpp.
Definition at line 35 of file base/cholesky.cpp.
GTSAM_EXPORT std::optional< Point2 > gtsam::circleCircleIntersection | ( | double | R_d, |
double | r_d, | ||
double | tol | ||
) |
Definition at line 55 of file Point2.cpp.
list<Point2> gtsam::circleCircleIntersection | ( | Point2 | c1, |
double | r1, | ||
Point2 | c2, | ||
double | r2, | ||
double | tol = 1e-9 |
||
) |
Intersect 2 circles.
c1 | center of first circle |
r1 | radius of first circle |
c2 | center of second circle |
r2 | radius of second circle |
tol | absolute tolerance below which we consider touching circles |
Definition at line 99 of file Point2.cpp.
GTSAM_EXPORT std::list< Point2 > gtsam::circleCircleIntersection | ( | Point2 | c1, |
Point2 | c2, | ||
std::optional< Point2 > | fh | ||
) |
Definition at line 70 of file Point2.cpp.
Matrix gtsam::collect | ( | const std::vector< const Matrix * > & | matrices, |
size_t | m = 0 , |
||
size_t | n = 0 |
||
) |
create a matrix by concatenating Given a set of matrices: A1, A2, A3... If all matrices have the same size, specifying single matrix dimensions will avoid the lookup of dimensions
matrices | is a vector of matrices in the order to be collected |
m | is the number of rows of a single matrix |
n | is the number of columns of a single matrix |
Definition at line 441 of file Matrix.cpp.
Definition at line 466 of file Matrix.cpp.
DiscreteKeys gtsam::CollectDiscreteKeys | ( | const DiscreteKeys & | key1, |
const DiscreteKeys & | key2 | ||
) |
Definition at line 43 of file HybridFactor.cpp.
KeyDimMap gtsam::collectKeyDim | ( | const LinearGraph & | linearGraph | ) |
KeyVector gtsam::CollectKeys | ( | const KeyVector & | continuousKeys, |
const DiscreteKeys & | discreteKeys | ||
) |
Definition at line 23 of file HybridFactor.cpp.
Definition at line 35 of file HybridFactor.cpp.
const MATRIX::ConstColXpr gtsam::column | ( | const MATRIX & | A, |
size_t | j | ||
) |
Extracts a column view from a matrix that avoids a copy
A | matrix to extract column from |
j | index of the column |
Definition at line 210 of file base/Matrix.h.
Definition at line 223 of file Matrix.cpp.
Expression<T> gtsam::compose | ( | const Expression< T > & | t1, |
const Expression< T > & | t2 | ||
) |
Definition at line 23 of file nonlinear/expressions.h.
std::shared_ptr<Values> gtsam::composePoses | ( | const G & | graph, |
const PredecessorMap< KEY > & | tree, | ||
const POSE & | rootPose | ||
) |
Compose the poses by following the chain specified by the spanning tree
Definition at line 167 of file graph-inl.h.
std::vector<double> gtsam::ComputeLeafOrdering | ( | const DiscreteKeys & | dkeys, |
const DecisionTreeFactor & | dt | ||
) |
Compute the correct ordering of the leaves in the decision tree.
This is done by first taking all the values which have modulo 0 value with the cardinality of the innermost key n
, and we go up to modulo n.
dt | The DecisionTree |
Definition at line 73 of file TableFactor.cpp.
concatenate Vectors
Definition at line 301 of file Vector.cpp.
concatenate Vectors
Definition at line 316 of file Vector.cpp.
VectorValues gtsam::conjugateGradientDescent | ( | const GaussianFactorGraph & | fg, |
const VectorValues & | x, | ||
const ConjugateGradientParameters & | parameters | ||
) |
Method of conjugate gradients (CG), Gaussian Factor Graph version
Definition at line 70 of file iterative.cpp.
Vector gtsam::conjugateGradientDescent | ( | const Matrix & | A, |
const Vector & | b, | ||
const Vector & | x, | ||
const ConjugateGradientParameters & | parameters | ||
) |
Method of conjugate gradients (CG), Matrix version
Definition at line 57 of file iterative.cpp.
Vector gtsam::conjugateGradientDescent | ( | const System & | Ab, |
const Vector & | x, | ||
const ConjugateGradientParameters & | parameters | ||
) |
Method of conjugate gradients (CG), System version
Definition at line 45 of file iterative.cpp.
V gtsam::conjugateGradients | ( | const S & | Ab, |
V | x, | ||
const ConjugateGradientParameters & | parameters, | ||
bool | steepest = false |
||
) |
Method of conjugate gradients (CG) template "System" class S needs gradient(S,v), e=S*v, v=S^e "Vector" class V needs dot(v,v), -v, v+v, s*v "Vector" class E needs dot(v,v)
Ab,the | "system" that needs to be solved, examples below |
x | is the initial estimate |
steepest | flag, if true does steepest descent, not CG |
Definition at line 126 of file iterative-inl.h.
|
static |
Definition at line 72 of file DotWriter.cpp.
|
static |
Definition at line 66 of file DotWriter.cpp.
|
static |
Definition at line 219 of file HybridGaussianFactorGraph.cpp.
|
static |
Definition at line 993 of file ShonanAveraging.cpp.
|
static |
Definition at line 409 of file dataset.cpp.
|
static |
Definition at line 882 of file dataset.cpp.
SharedNoiseModel gtsam::ConvertNoiseModel | ( | const SharedNoiseModel & | model, |
size_t | n, | ||
bool | defaultToUnit = true |
||
) |
When creating (any) FrobeniusFactor we can convert a Rot/Pose BetweenFactor noise model into a n-dimensional isotropic noise model used to weight the Frobenius norm. If the noise model passed is null we return a n-dimensional isotropic noise model with sigma=1.0. If not, we we check if the d-dimensional noise model on rotations is isotropic. If it is, we extend to 'n' dimensions, otherwise we throw an error. If the noise model is a robust error model, we use the sigmas of the underlying noise model.
If defaultToUnit == false throws an exception on unexepcted input.
Definition at line 27 of file FrobeniusFactor.cpp.
|
static |
Definition at line 945 of file ShonanAveraging.cpp.
|
static |
Definition at line 77 of file SubgraphPreconditioner.cpp.
|
static |
Compute the probability p(μ;m) = exp(-error(μ;m)) * sqrt(det(2π Σ_m) from the residual error ||b||^2 at the mean μ. The residual error contains no keys, and only depends on the discrete separator if present.
Definition at line 304 of file HybridGaussianFactorGraph.cpp.
Errors gtsam::createErrors | ( | const VectorValues & | V | ) |
Break V into pieces according to its start indices.
Definition at line 28 of file Errors.cpp.
|
static |
Definition at line 329 of file HybridGaussianFactorGraph.cpp.
|
static |
Definition at line 216 of file dataset.cpp.
Cal3_S2 gtsam::createPinholeCalibration | ( | const CALIBRATION & | cal | ) |
Create a pinhole calibration from a different Cal3 object, removing distortion.
CALIBRATION | Original calibration object. |
cal | Input calibration object. |
Definition at line 253 of file triangulation.h.
std::vector<Point3> gtsam::createPoints | ( | ) |
std::shared_ptr< Preconditioner > gtsam::createPreconditioner | ( | const std::shared_ptr< PreconditionerParameters > | params | ) |
Definition at line 189 of file Preconditioner.cpp.
std::string gtsam::createRewrittenFileName | ( | const std::string & | name | ) |
Creates a temporary file name that needs to be ignored in .gitingnore for checking read-write oprations
Definition at line 105 of file dataset.cpp.
std::shared_ptr<Sampler> gtsam::createSampler | ( | const SharedNoiseModel & | model | ) |
Definition at line 383 of file dataset.cpp.
std::vector<Expression<T> > gtsam::createUnknowns | ( | size_t | n, |
char | c, | ||
size_t | start = 0 |
||
) |
Construct an array of leaves.
Construct an array of unknown expressions with successive symbol keys Example: createUnknowns<Pose2>(3,'x') creates unknown expressions for x0,x1,x2
Definition at line 283 of file Expression-inl.h.
Point3 gtsam::cross | ( | const Point3 & | p, |
const Point3 & | q, | ||
OptionalJacobian< 3, 3 > | H_p = {} , |
||
OptionalJacobian< 3, 3 > | H_q = {} |
||
) |
Definition at line 66 of file slam/expressions.h.
|
static |
Definition at line 57 of file Cal3DS2_Base.cpp.
|
static |
Definition at line 71 of file Cal3DS2_Base.cpp.
double gtsam::DaiYuan | ( | const Gradient & | currentGradient, |
const Gradient & | prevGradient, | ||
const Gradient & | direction | ||
) |
The Dai-Yuan formula for computing β, the direction of steepest descent.
Definition at line 63 of file NonlinearConjugateGradientOptimizer.h.
std::string gtsam::demangle | ( | const char * | name | ) |
NonlinearFactorGraph::shared_ptr gtsam::gtsam::deserializeGraph | ( | const std::string & | serialized_graph | ) |
Definition at line 184 of file serialization.cpp.
NonlinearFactorGraph::shared_ptr gtsam::gtsam::deserializeGraphFromFile | ( | const std::string & | fname | ) |
Definition at line 251 of file serialization.cpp.
NonlinearFactorGraph::shared_ptr gtsam::gtsam::deserializeGraphFromXMLFile | ( | const std::string & | fname, |
const std::string & | name = "graph" |
||
) |
Definition at line 259 of file serialization.cpp.
NonlinearFactorGraph::shared_ptr gtsam::gtsam::deserializeGraphXML | ( | const std::string & | serialized_graph, |
const std::string & | name = "graph" |
||
) |
Definition at line 196 of file serialization.cpp.
Values::shared_ptr gtsam::gtsam::deserializeValues | ( | const std::string & | serialized_values | ) |
Definition at line 209 of file serialization.cpp.
Values::shared_ptr gtsam::gtsam::deserializeValuesFromFile | ( | const std::string & | fname | ) |
Definition at line 268 of file serialization.cpp.
Values::shared_ptr gtsam::gtsam::deserializeValuesFromXMLFile | ( | const std::string & | fname, |
const std::string & | name = "values" |
||
) |
Definition at line 276 of file serialization.cpp.
Values::shared_ptr gtsam::gtsam::deserializeValuesXML | ( | const std::string & | serialized_values, |
const std::string & | name = "values" |
||
) |
Definition at line 221 of file serialization.cpp.
Create a matrix with submatrices along its diagonal
Definition at line 206 of file Matrix.cpp.
|
static |
Definition at line 27 of file ScenarioRunner.h.
|
static |
Definition at line 260 of file HybridGaussianFactorGraph.cpp.
|
static |
Take negative log-values, shift them so that the minimum value is 0, and then exponentiate to create a DecisionTreeFactor (not normalized yet!).
errors | DecisionTree of (unnormalized) errors. |
Definition at line 249 of file HybridGaussianFactorGraph.cpp.
std::set<DiscreteKey> gtsam::DiscreteKeysAsSet | ( | const DiscreteKeys & | discreteKeys | ) |
Return the DiscreteKey vector as a set.
Definition at line 298 of file HybridGaussianConditional.cpp.
|
inline |
Definition at line 117 of file slam/expressions.h.
double gtsam::distance2 | ( | const Point2 & | p, |
const Point2 & | q, | ||
OptionalJacobian< 1, 2 > | H1, | ||
OptionalJacobian< 1, 2 > | H2 | ||
) |
distance between two points
Definition at line 39 of file Point2.cpp.
double gtsam::distance3 | ( | const Point3 & | p1, |
const Point3 & | q, | ||
OptionalJacobian< 1, 3 > | H1, | ||
OptionalJacobian< 1, 3 > | H2 | ||
) |
distance between two points
Definition at line 27 of file Point3.cpp.
Direct linear transform algorithm that calls svd to find a vector v that minimizes the algebraic error A*v
A | of size m*n, where m>=n (pad with zero rows if not!) Returns rank of A, minimum error (singular value), and corresponding eigenvector (column of V, with A=U*S*V') |
Definition at line 566 of file Matrix.cpp.
Dot product.
Definition at line 96 of file Errors.cpp.
double gtsam::dot | ( | const Point3 & | p, |
const Point3 & | q, | ||
OptionalJacobian< 1, 3 > | H1, | ||
OptionalJacobian< 1, 3 > | H2 | ||
) |
dot product
Definition at line 72 of file Point3.cpp.
Definition at line 72 of file slam/expressions.h.
|
inline |
elementwise division, but 0/0 = 0, not inf
a | first vector |
b | second vector |
Definition at line 198 of file Vector.cpp.
std::pair<GaussianConditional::shared_ptr, JacobianFactor::shared_ptr> gtsam::EliminateQR | ( | const GaussianFactorGraph & | factors, |
const Ordering & | keys | ||
) |
Multiply all factors and eliminate the given keys from the resulting factor using a QR variant that handles constraints (zero sigmas). Computation happens in noiseModel::Gaussian::QR Returns a conditional on those keys, and a new factor on the separator.
Definition at line 778 of file JacobianFactor.cpp.
std::pair<std::shared_ptr<SymbolicConditional>, std::shared_ptr<SymbolicFactor> > gtsam::EliminateSymbolic | ( | const SymbolicFactorGraph & | factors, |
const Ordering & | keys | ||
) |
Dense elimination function for symbolic factors. This is usually provided as an argument to one of the factor graph elimination functions (see EliminateableFactorGraph). The factor graph elimination functions do sparse variable elimination, and use this function to eliminate single variables or variable cliques.
Definition at line 36 of file SymbolicFactor.cpp.
Point2 gtsam::EpipolarTransfer | ( | const Matrix3 & | Fca, |
const Point2 & | pa, | ||
const Matrix3 & | Fcb, | ||
const Point2 & | pb | ||
) |
Transfer projections from cameras a and b to camera c.
Take two fundamental matrices Fca and Fcb, and two points pa and pb, and returns the 2D point in view (c) where the epipolar lines intersect.
Definition at line 15 of file FundamentalMatrix.cpp.
Call equal without tolerance (use default tolerance)
Definition at line 91 of file Testable.h.
Call equal on the object
Definition at line 85 of file Testable.h.
bool gtsam::equal_with_abs_tol | ( | const Eigen::DenseBase< MATRIX > & | A, |
const Eigen::DenseBase< MATRIX > & | B, | ||
double | tol = 1e-9 |
||
) |
equals with a tolerance
Definition at line 80 of file base/Matrix.h.
GTSAM_EXPORT bool gtsam::equal_with_abs_tol | ( | const SubVector & | vec1, |
const SubVector & | vec2, | ||
double | tol | ||
) |
Definition at line 133 of file Vector.cpp.
VecA == VecB up to tolerance
Definition at line 122 of file Vector.cpp.
Definition at line 52 of file Errors.cpp.
Numerical exponential map, naive approach, not industrial strength !!!
A | matrix to exponentiate |
K | number of iterations |
Definition at line 587 of file Matrix.cpp.
std::vector<double> gtsam::expNormalize | ( | const std::vector< double > & | logProbs | ) |
Normalize a set of log probabilities.
Normalizing a set of log probabilities in a numerically stable way is tricky. To avoid overflow/underflow issues, we compute the largest (finite) log probability and subtract it from each log probability before normalizing. This comes from the observation that if: p_i = exp(L_i) / ( sum_j exp(L_j) ), Then, p_i = exp(Z) exp(L_i - Z) / (exp(Z) sum_j exp(L_j - Z)), = exp(L_i - Z) / ( sum_j exp(L_j - Z) )
Setting Z = max_j L_j, we can avoid numerical issues that arise when all of the (unnormalized) log probabilities are either very large or very small.
Definition at line 70 of file DiscreteFactor.cpp.
|
static |
Definition at line 961 of file ShonanAveraging.cpp.
|
static |
Definition at line 1009 of file ShonanAveraging.cpp.
std::string gtsam::findExampleDataFile | ( | const std::string & | name | ) |
Find the full path to an example dataset distributed with gtsam. The name may be specified with or without a file extension - if no extension is given, this function first looks for the .graph extension, then .txt. We first check the gtsam source tree for the file, followed by the installed example dataset location. Both the source tree and installed locations are obtained from CMake during compilation.
std::invalid_argument | if no matching file could be found using the search process described above. |
Definition at line 70 of file dataset.cpp.
Definition at line 45 of file KarcherMeanFactor-inl.h.
T gtsam::FindKarcherMean | ( | const std::vector< T, Eigen::aligned_allocator< T >> & | rotations | ) |
Optimize for the Karcher mean, minimizing the geodesic distance to each of the given rotations, by constructing a factor graph out of simple PriorFactors.
Definition at line 50 of file KarcherMeanFactor-inl.h.
Definition at line 55 of file KarcherMeanFactor-inl.h.
T gtsam::FindKarcherMeanImpl | ( | const vector< T, ALLOC > & | rotations | ) |
Definition at line 30 of file KarcherMeanFactor-inl.h.
PredecessorMap<KEY> gtsam::findMinimumSpanningTree | ( | const G & | g | ) |
find the minimum spanning tree using boost graph library
Definition at line 222 of file graph-inl.h.
double gtsam::FletcherReeves | ( | const Gradient & | currentGradient, |
const Gradient & | prevGradient | ||
) |
Fletcher-Reeves formula for computing β, the direction of steepest descent.
Definition at line 30 of file NonlinearConjugateGradientOptimizer.h.
std::string gtsam::formatMatrixIndented | ( | const std::string & | label, |
const Matrix & | matrix, | ||
bool | makeVectorHorizontal | ||
) |
Definition at line 597 of file Matrix.cpp.
bool gtsam::fpEqual | ( | double | a, |
double | b, | ||
double | tol, | ||
bool | check_relative_also = true |
||
) |
Ensure we are not including a different version of Eigen in user code than while compiling gtsam, since it can lead to hard-to-understand runtime crashes. Numerically stable function for comparing if floating point values are equal within epsilon tolerance. Used for vector and matrix comparison with C++11 compatible functions.
If either value is NaN or Inf, we check for both values to be NaN or Inf respectively for the comparison to be true. If one is NaN/Inf and the other is not, returns false.
check_relative_also | is a flag which toggles additional checking for relative error. This means that if either the absolute error or the relative error is within the tolerance, the result will be true. By default, the flag is true. |
Return true if two numbers are close wrt tol.
Definition at line 41 of file Vector.cpp.
|
static |
|
static |
GenericValue<T> gtsam::genericValue | ( | const T & | v | ) |
Functional constructor of GenericValue<T> so T can be automatically deduced
Definition at line 211 of file GenericValue.h.
HybridFactor::Category gtsam::GetCategory | ( | const KeyVector & | continuousKeys, |
const DiscreteKeys & | discreteKeys | ||
) |
Definition at line 56 of file HybridFactor.cpp.
|
inline |
Definition at line 177 of file slam/expressions.h.
|
static |
Definition at line 37 of file SubgraphPreconditioner.cpp.
|
static |
Return the gradient vector of a nonlinear factor graph.
nfg | the graph |
values | a linearization point Can be moved to NonlinearFactorGraph.h if desired |
Definition at line 37 of file NonlinearConjugateGradientOptimizer.cpp.
Greater than or equal to operation returns true if all elements in v1 are greater than corresponding elements in v2
Definition at line 113 of file Vector.cpp.
This function converts a GTSAM camera pose to an openGL camera pose.
PoseGTSAM | pose in GTSAM format |
Definition at line 96 of file SfmData.cpp.
This function converts a GTSAM camera pose to an openGL camera pose.
R | rotation in GTSAM |
tx | x component of the translation in GTSAM |
ty | y component of the translation in GTSAM |
tz | z component of the translation in GTSAM |
Definition at line 88 of file SfmData.cpp.
Check invariants.
gtsam::GTSAM_CONCEPT_REQUIRES | ( | IsTestable< T > | , |
bool | |||
) | const & |
Check invariants for Manifold type.
bool GTSAM_EXPORT gtsam::guardedIsDebug | ( | const std::string & | s | ) |
void GTSAM_EXPORT gtsam::guardedSetDebug | ( | const std::string & | s, |
const bool | v | ||
) |
bool gtsam::hasConstraints | ( | const GaussianFactorGraph & | factors | ) |
Evaluates whether linear factors have any constrained noise models
Definition at line 442 of file GaussianFactorGraph.cpp.
double gtsam::HestenesStiefel | ( | const Gradient & | currentGradient, |
const Gradient & | prevGradient, | ||
const Gradient & | direction | ||
) |
The Hestenes-Stiefel formula for computing β, the direction of steepest descent.
Definition at line 52 of file NonlinearConjugateGradientOptimizer.h.
house(x,j) computes HouseHolder vector v and scaling factor beta from x, such that the corresponding Householder reflection zeroes out all but x.(j), j is base 0. Golub & Van Loan p 210.
Definition at line 236 of file Vector.cpp.
Householder tranformation, zeros below diagonal
k | number of columns to zero out below diagonal |
A | matrix |
Definition at line 352 of file Matrix.cpp.
Imperative version of Householder QR factorization, Golub & Van Loan p 224 version with Householder vectors below diagonal, as in GVL
Householder transformation, Householder vectors below diagonal
k | number of columns to zero out below diagonal |
A | matrix |
copy_vectors | - true to copy Householder vectors below diagonal |
Definition at line 325 of file Matrix.cpp.
double gtsam::houseInPlace | ( | Vector & | x | ) |
beta = house(x) computes the HouseHolder vector in place
Definition at line 211 of file Vector.cpp.
string gtsam::html | ( | const DiscreteValues & | values, |
const KeyFormatter & | keyFormatter, | ||
const DiscreteValues::Names & | names | ||
) |
Free version of html.
Definition at line 135 of file DiscreteValues.cpp.
const Ordering gtsam::HybridOrdering | ( | const HybridGaussianFactorGraph & | graph | ) |
Return a Colamd constrained ordering where the discrete keys are eliminated after the continuous keys.
Definition at line 87 of file HybridGaussianFactorGraph.cpp.
|
inline |
This function creates initial values for cameras and points from db.
Note: Pose keys are simply integer indices, points use Symbol('p', j).
SfmData |
Definition at line 430 of file SfmData.cpp.
This function creates initial values for cameras from db.
No symbol is used, so camera keys are simply integer indices.
SfmData |
Definition at line 422 of file SfmData.cpp.
|
inline |
compatibility version for ublas' inner_prod()
void gtsam::inplace_QR | ( | Matrix & | A | ) |
QR factorization using Eigen's internal block QR algorithm
A | is the input matrix, and is the output |
clear_below_diagonal | enables zeroing out below diagonal |
Definition at line 636 of file Matrix.cpp.
void gtsam::insertSub | ( | Eigen::MatrixBase< Derived1 > & | fullMatrix, |
const Eigen::MatrixBase< Derived2 > & | subMatrix, | ||
size_t | i, | ||
size_t | j | ||
) |
insert a submatrix IN PLACE at a specified location in a larger matrix NOTE: there is no size checking
fullMatrix | matrix to be updated |
subMatrix | matrix to be inserted |
i | is the row of the upper left corner insert location |
j | is the column of the upper left corner insert location |
Definition at line 194 of file base/Matrix.h.
Use Cholesky to calculate inverse square root of a matrix
Definition at line 550 of file Matrix.cpp.
Definition at line 82 of file Matrix.cpp.
|
static |
Definition at line 331 of file ShonanAveraging.cpp.
|
static |
check whether the rows of two matrices are linear dependent
Definition at line 114 of file Matrix.cpp.
check whether two vectors are linearly dependent
vec1 | Vector |
vec2 | Vector |
tol | 1e-9 |
Definition at line 180 of file Vector.cpp.
check whether the rows of two matrices are linear independent
Definition at line 100 of file Matrix.cpp.
Expression<T> gtsam::linearExpression | ( | const std::function< T(A)> & | f, |
const Expression< A > & | expression, | ||
const Eigen::Matrix< double, traits< T >::dimension, traits< A >::dimension > & | dTdA | ||
) |
Create an expression out of a linear function f:T->A with (constant) Jacobian dTdA TODO(frank): create a more efficient version like ScalarMultiplyExpression. This version still does a malloc every linearize.
Definition at line 247 of file Expression.h.
|
inline |
Linearize a nonlinear factor using numerical differentiation The benefit of this method is that it does not need to know what types are involved to evaluate the factor. If all the machinery of gtsam is working correctly, we should get the correct numerical derivatives out the other side. NOTE(frank): factors that have non vector-space measurements use between or LocalCoordinates to evaluate the error, and their derivatives will only be correct for near-zero errors. This is fixable but expensive, and does not matter in practice as most factors will sit near zero errors anyway. However, it means that below will only be exact for the correct measurement.
Definition at line 39 of file factorTesting.h.
double gtsam::lineSearch | ( | const S & | system, |
const V | currentValues, | ||
const W & | gradient | ||
) |
Implement the golden-section line search algorithm
Definition at line 136 of file NonlinearConjugateGradientOptimizer.h.
Definition at line 521 of file Matrix.cpp.
GraphAndValues gtsam::load2D | ( | const std::string & | filename, |
SharedNoiseModel | model = SharedNoiseModel() , |
||
size_t | maxIndex = 0 , |
||
bool | addNoise = false , |
||
bool | smart = true , |
||
NoiseFormat | noiseFormat = NoiseFormatAUTO , |
||
KernelFunctionType | kernelFunctionType = KernelFunctionTypeNONE |
||
) |
Load TORO/G2O style graph files
filename | |
model | optional noise model to use instead of one specified by file |
maxIndex | if non-zero cut out vertices >= maxIndex |
addNoise | add noise to the edges |
smart | try to reduce complexity of covariance to cheapest model |
noiseFormat | how noise parameters are stored |
kernelFunctionType | whether to wrap the noise model in a robust kernel |
Definition at line 505 of file dataset.cpp.
GraphAndValues gtsam::load2D | ( | std::pair< std::string, SharedNoiseModel > | dataset, |
size_t | maxIndex = 0 , |
||
bool | addNoise = false , |
||
bool | smart = true , |
||
NoiseFormat | noiseFormat = NoiseFormatAUTO , |
||
KernelFunctionType | kernelFunctionType = KernelFunctionTypeNONE |
||
) |
Load TORO 2D Graph
dataset/model | pair as constructed by [dataset] |
maxIndex | if non-zero cut out vertices >= maxIndex |
addNoise | add noise to the edges |
smart | try to reduce complexity of covariance to cheapest model |
Definition at line 572 of file dataset.cpp.
GraphAndValues gtsam::load2D_robust | ( | const std::string & | filename, |
const noiseModel::Base::shared_ptr & | model, | ||
size_t | maxIndex | ||
) |
Definition at line 581 of file dataset.cpp.
GraphAndValues gtsam::load3D | ( | const std::string & | filename | ) |
Load TORO 3D Graph.
Definition at line 922 of file dataset.cpp.
gtsam::Expression<typename gtsam::traits<T>::TangentVector> gtsam::logmap | ( | const gtsam::Expression< T > & | x1, |
const gtsam::Expression< T > & | x2 | ||
) |
logmap
Definition at line 192 of file slam/expressions.h.
|
static |
Definition at line 64 of file Symbol.cpp.
|
static |
Definition at line 109 of file LabeledSymbol.cpp.
gtsam::enable_if_t<needs_eigen_aligned_allocator<T>::value, std::shared_ptr<T> > gtsam::make_shared | ( | Args &&... | args | ) |
Add our own make_shared
as a layer of wrapping on std::make_shared
This solves the problem with the stock make_shared
that custom alignment is not respected, causing SEGFAULTs at runtime, which is notoriously hard to debug.
The template needs_eigen_aligned_allocator<T>::value
will evaluate to std::true_type
if the type alias _eigen_aligned_allocator_trait = void
is present in a class, which is automatically added by the GTSAM_MAKE_ALIGNED_OPERATOR_NEW
macro.
This function declaration will only be taken when the above condition is true, so if some object does not need to be aligned, gtsam::make_shared
will fall back to the next definition, which is a simple wrapper for std::make_shared
.
T | The type of object being constructed |
Args | Type of the arguments of the constructor |
args | Arguments of the constructor |
Definition at line 56 of file make_shared.h.
gtsam::enable_if_t<!needs_eigen_aligned_allocator<T>::value, std::shared_ptr<T> > gtsam::make_shared | ( | Args &&... | args | ) |
Fall back to the boost version if no need for alignment.
Definition at line 62 of file make_shared.h.
|
inline |
Return the ordering as a binary tree such that all parent nodes are above their children.
This will result in a nested dissection Bayes tree after elimination.
input | The original ordering. |
Definition at line 89 of file Switching.h.
FunctorizedFactor<R, T> gtsam::MakeFunctorizedFactor | ( | Key | key, |
const R & | z, | ||
const SharedNoiseModel & | model, | ||
const FUNC | func | ||
) |
Helper function to create a functorized factor.
Uses function template deduction to identify return type and functor type, so template list only needs the functor argument type.
Definition at line 148 of file FunctorizedFactor.h.
FunctorizedFactor2<R, T1, T2> gtsam::MakeFunctorizedFactor2 | ( | Key | key1, |
Key | key2, | ||
const R & | z, | ||
const SharedNoiseModel & | model, | ||
const FUNC | func | ||
) |
Helper function to create a functorized factor.
Uses function template deduction to identify return type and functor type, so template list only needs the functor argument type.
Definition at line 260 of file FunctorizedFactor.h.
|
inline |
Create a switching system chain. A switching system is a continuous system which depends on a discrete mode at each time step of the chain.
K | The number of chain elements. |
x | The functional to help specify the continuous key. |
m | The functional to help specify the discrete key. |
Definition at line 54 of file Switching.h.
string gtsam::markdown | ( | const DiscreteValues & | values, |
const KeyFormatter & | keyFormatter, | ||
const DiscreteValues::Names & | names | ||
) |
Free version of markdown.
Definition at line 130 of file DiscreteValues.cpp.
const Eigen::IOFormat & gtsam::matlabFormat | ( | ) |
Definition at line 139 of file Matrix.cpp.
Key gtsam::maxKey | ( | const PROBLEM & | problem | ) |
Find the max key in a problem. Useful to determine unique keys for additional slack variables
Definition at line 191 of file ActiveSetSolver.h.
Point3 gtsam::mean | ( | const CONTAINER & | points | ) |
Point2Pair gtsam::means | ( | const std::vector< Point2Pair > & | abPointPairs | ) |
Calculate the two means of a set of Point2 pairs.
Definition at line 116 of file Point2.cpp.
Point3Pair gtsam::means | ( | const std::vector< Point3Pair > & | abPointPairs | ) |
Calculate the two means of a set of Point3 pairs.
Definition at line 79 of file Point3.cpp.
std::pair<Pose2, bool> gtsam::moveWithBounce | ( | const Pose2 & | cur_pose, |
double | step_size, | ||
const std::vector< SimWall2D > | walls, | ||
Sampler & | angle_drift, | ||
Sampler & | reflect_noise, | ||
const Rot2 & | bias = Rot2() |
||
) |
Calculates the next pose in a trajectory constrained by walls, with noise on angular drift and reflection noise
cur_pose | is the pose of the robot |
step_size | is the size of the forward step the robot tries to take |
walls | is a set of walls to use for bouncing |
angle_drift | is a sampler for angle drift (dim=1) |
reflect_noise | is a sampler for scatter after hitting a wall (dim=3) |
Definition at line 125 of file SimWall2D.cpp.
Create a symbol key from a character, label and index, i.e. xA5.
Definition at line 158 of file LabeledSymbol.h.
|
inline |
Return the character portion of a symbol key.
Definition at line 163 of file LabeledSymbol.h.
Return the index portion of a symbol key.
Definition at line 171 of file LabeledSymbol.h.
|
inline |
Return the label portion of a symbol key.
Definition at line 166 of file LabeledSymbol.h.
std::tuple<V, int> gtsam::nonlinearConjugateGradient | ( | const S & | system, |
const V & | initial, | ||
const NonlinearOptimizerParams & | params, | ||
const bool | singleIteration, | ||
const DirectionMethod & | directionMethod = DirectionMethod::PolakRibiere , |
||
const bool | gradientDescent = false |
||
) |
Implement the nonlinear conjugate gradient method using the Polak-Ribiere formula suggested in http://en.wikipedia.org/wiki/Nonlinear_conjugate_gradient_method.
The S (system) class requires three member functions: error(state), gradient(state) and advance(state, step-size, direction). The V class denotes the state or the solution.
The last parameter is a switch between gradient-descent and conjugate gradient
Definition at line 196 of file NonlinearConjugateGradientOptimizer.h.
double gtsam::norm2 | ( | const Point2 & | p, |
OptionalJacobian< 1, 2 > | H | ||
) |
Distance of the point from the origin, with Jacobian.
Definition at line 27 of file Point2.cpp.
double gtsam::norm3 | ( | const Point3 & | p, |
OptionalJacobian< 1, 3 > | H | ||
) |
Distance of the point from the origin, with Jacobian.
Definition at line 41 of file Point3.cpp.
|
inline |
Definition at line 121 of file slam/expressions.h.
Point3 gtsam::normalize | ( | const Point3 & | p, |
OptionalJacobian< 3, 3 > | H | ||
) |
normalize, with optional Jacobian
Definition at line 52 of file Point3.cpp.
Definition at line 61 of file slam/expressions.h.
|
static |
Definition at line 88 of file Signature.cpp.
|
static |
Definition at line 97 of file ShonanAveraging.cpp.
internal::FixedSizeMatrix<Y, X>::type gtsam::numericalDerivative11 | ( | std::function< Y(const X &)> | h, |
const X & | x, | ||
double | delta = 1e-5 |
||
) |
New-style numerical derivatives using manifold_traits.
Computes numerical derivative in argument 1 of unary function
h | unary function yielding m-vector |
x | n-dimensional value at which to evaluate h |
delta | increment for numerical derivative Class Y is the output argument Class X is the input argument |
int | N is the dimension of the X input value if variable dimension type but known at test time |
Definition at line 110 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X>::type gtsam::numericalDerivative11 | ( | Y(*)(const X &) | h, |
const X & | x, | ||
double | delta = 1e-5 |
||
) |
use a raw C++ function pointer
Definition at line 150 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X1>::type gtsam::numericalDerivative21 | ( | const std::function< Y(const X1 &, const X2 &)> & | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 1 of binary function
h | binary function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X1 input value if variable dimension type but known at test time |
Definition at line 166 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X1>::type gtsam::numericalDerivative21 | ( | Y(*)(const X1 &, const X2 &) | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
double | delta = 1e-5 |
||
) |
use a raw C++ function pointer
Definition at line 178 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X2>::type gtsam::numericalDerivative22 | ( | std::function< Y(const X1 &, const X2 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 2 of binary function
h | binary function yielding m-vector |
x1 | first argument value |
x2 | n-dimensional second argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X2 input value if variable dimension type but known at test time |
Definition at line 195 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X2>::type gtsam::numericalDerivative22 | ( | Y(*)(const X1 &, const X2 &) | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
double | delta = 1e-5 |
||
) |
use a raw C++ function pointer
Definition at line 207 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X1>::type gtsam::numericalDerivative31 | ( | std::function< Y(const X1 &, const X2 &, const X3 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 1 of ternary function
h | ternary function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X1 input value if variable dimension type but known at test time |
Definition at line 226 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X1>::type gtsam::numericalDerivative31 | ( | Y(*)(const X1 &, const X2 &, const X3 &) | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
double | delta = 1e-5 |
||
) |
Definition at line 239 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X2>::type gtsam::numericalDerivative32 | ( | std::function< Y(const X1 &, const X2 &, const X3 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 2 of ternary function
h | ternary function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X2 input value if variable dimension type but known at test time |
Definition at line 259 of file numericalDerivative.h.
|
inline |
Definition at line 272 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X3>::type gtsam::numericalDerivative33 | ( | std::function< Y(const X1 &, const X2 &, const X3 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 3 of ternary function
h | ternary function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X3 input value if variable dimension type but known at test time |
Definition at line 292 of file numericalDerivative.h.
|
inline |
Definition at line 305 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X1>::type gtsam::numericalDerivative41 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 1 of 4-argument function
h | quartic function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
x4 | fourth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X1 input value if variable dimension type but known at test time |
Definition at line 325 of file numericalDerivative.h.
|
inline |
Definition at line 339 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X2>::type gtsam::numericalDerivative42 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 2 of 4-argument function
h | quartic function yielding m-vector |
x1 | first argument value |
x2 | n-dimensional second argument value |
x3 | third argument value |
x4 | fourth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X2 input value if variable dimension type but known at test time |
Definition at line 359 of file numericalDerivative.h.
|
inline |
Definition at line 373 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X3>::type gtsam::numericalDerivative43 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 3 of 4-argument function
h | quartic function yielding m-vector |
x1 | first argument value |
x2 | second argument value |
x3 | n-dimensional third argument value |
x4 | fourth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X3 input value if variable dimension type but known at test time |
Definition at line 393 of file numericalDerivative.h.
|
inline |
Definition at line 407 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X4>::type gtsam::numericalDerivative44 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 4 of 4-argument function
h | quartic function yielding m-vector |
x1 | first argument value |
x2 | second argument value |
x3 | third argument value |
x4 | n-dimensional fourth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X4 input value if variable dimension type but known at test time |
Definition at line 427 of file numericalDerivative.h.
|
inline |
Definition at line 441 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X1>::type gtsam::numericalDerivative51 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
const X5 & | x5, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 1 of 5-argument function
h | quintic function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
x4 | fourth argument value |
x5 | fifth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X1 input value if variable dimension type but known at test time |
Definition at line 462 of file numericalDerivative.h.
|
inline |
Definition at line 476 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X2>::type gtsam::numericalDerivative52 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
const X5 & | x5, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 2 of 5-argument function
h | quintic function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
x4 | fourth argument value |
x5 | fifth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X2 input value if variable dimension type but known at test time |
Definition at line 498 of file numericalDerivative.h.
|
inline |
Definition at line 512 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X3>::type gtsam::numericalDerivative53 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
const X5 & | x5, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 3 of 5-argument function
h | quintic function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
x4 | fourth argument value |
x5 | fifth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X3 input value if variable dimension type but known at test time |
Definition at line 534 of file numericalDerivative.h.
|
inline |
Definition at line 548 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X4>::type gtsam::numericalDerivative54 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
const X5 & | x5, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 4 of 5-argument function
h | quintic function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
x4 | fourth argument value |
x5 | fifth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X4 input value if variable dimension type but known at test time |
Definition at line 570 of file numericalDerivative.h.
|
inline |
Definition at line 584 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X5>::type gtsam::numericalDerivative55 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
const X5 & | x5, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 5 of 5-argument function
h | quintic function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
x4 | fourth argument value |
x5 | fifth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X5 input value if variable dimension type but known at test time |
Definition at line 606 of file numericalDerivative.h.
|
inline |
Definition at line 620 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X1>::type gtsam::numericalDerivative61 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
const X5 & | x5, | ||
const X6 & | x6, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 1 of 6-argument function
h | quintic function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
x4 | fourth argument value |
x5 | fifth argument value |
x6 | sixth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X1 input value if variable dimension type but known at test time |
Definition at line 643 of file numericalDerivative.h.
|
inline |
Definition at line 657 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X2>::type gtsam::numericalDerivative62 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
const X5 & | x5, | ||
const X6 & | x6, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 2 of 6-argument function
h | quintic function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
x4 | fourth argument value |
x5 | fifth argument value |
x6 | sixth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X2 input value if variable dimension type but known at test time |
Definition at line 680 of file numericalDerivative.h.
|
inline |
Definition at line 694 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X3>::type gtsam::numericalDerivative63 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
const X5 & | x5, | ||
const X6 & | x6, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 3 of 6-argument function
h | quintic function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
x4 | fourth argument value |
x5 | fifth argument value |
x6 | sixth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X3 input value if variable dimension type but known at test time |
Definition at line 717 of file numericalDerivative.h.
|
inline |
Definition at line 731 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X4>::type gtsam::numericalDerivative64 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
const X5 & | x5, | ||
const X6 & | x6, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 4 of 6-argument function
h | quintic function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
x4 | fourth argument value |
x5 | fifth argument value |
x6 | sixth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X4 input value if variable dimension type but known at test time |
Definition at line 754 of file numericalDerivative.h.
|
inline |
Definition at line 768 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y,X5>::type gtsam::numericalDerivative65 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
const X5 & | x5, | ||
const X6 & | x6, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 5 of 6-argument function
h | quintic function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
x4 | fourth argument value |
x5 | fifth argument value |
x6 | sixth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X5 input value if variable dimension type but known at test time |
Definition at line 791 of file numericalDerivative.h.
|
inline |
Definition at line 805 of file numericalDerivative.h.
internal::FixedSizeMatrix<Y, X6>::type gtsam::numericalDerivative66 | ( | std::function< Y(const X1 &, const X2 &, const X3 &, const X4 &, const X5 &, const X6 &)> | h, |
const X1 & | x1, | ||
const X2 & | x2, | ||
const X3 & | x3, | ||
const X4 & | x4, | ||
const X5 & | x5, | ||
const X6 & | x6, | ||
double | delta = 1e-5 |
||
) |
Compute numerical derivative in argument 6 of 6-argument function
h | quintic function yielding m-vector |
x1 | n-dimensional first argument value |
x2 | second argument value |
x3 | third argument value |
x4 | fourth argument value |
x5 | fifth argument value |
x6 | sixth argument value |
delta | increment for numerical derivative |
int | N is the dimension of the X6 input value if variable dimension type but known at test time |
Definition at line 828 of file numericalDerivative.h.
|
inline |
Definition at line 843 of file numericalDerivative.h.
Eigen::Matrix<double, N, 1> gtsam::numericalGradient | ( | std::function< double(const X &)> | h, |
const X & | x, | ||
double | delta = 1e-5 |
||
) |
Numerically compute gradient of scalar function.
Definition at line 70 of file numericalDerivative.h.
|
inline |
Definition at line 874 of file numericalDerivative.h.
|
inline |
Compute numerical Hessian matrix. Requires a single-argument Lie->scalar function. This is implemented simply as the derivative of the gradient.
f | A function taking a Lie object as input and returning a scalar |
x | The center point for computing the Hessian |
delta | The numerical derivative step size |
Definition at line 861 of file numericalDerivative.h.
|
inline |
Definition at line 938 of file numericalDerivative.h.
|
inline |
Definition at line 920 of file numericalDerivative.h.
|
inline |
Definition at line 913 of file numericalDerivative.h.
|
inline |
Definition at line 901 of file numericalDerivative.h.
|
inline |
Definition at line 961 of file numericalDerivative.h.
|
inline |
Definition at line 945 of file numericalDerivative.h.
|
inline |
Definition at line 988 of file numericalDerivative.h.
|
inline |
Numerical Hessian for tenary functions
Definition at line 972 of file numericalDerivative.h.
|
inline |
Definition at line 1081 of file numericalDerivative.h.
|
inline |
Definition at line 1047 of file numericalDerivative.h.
|
inline |
Definition at line 1089 of file numericalDerivative.h.
|
inline |
Definition at line 1058 of file numericalDerivative.h.
|
inline |
Definition at line 1013 of file numericalDerivative.h.
|
inline |
Definition at line 997 of file numericalDerivative.h.
|
inline |
Definition at line 1097 of file numericalDerivative.h.
|
inline |
Definition at line 1069 of file numericalDerivative.h.
|
inline |
Definition at line 1038 of file numericalDerivative.h.
|
inline |
Definition at line 1022 of file numericalDerivative.h.
This function converts an openGL camera pose to an GTSAM camera pose.
R | rotation in openGL |
tx | x component of the translation in openGL |
ty | y component of the translation in openGL |
tz | z component of the translation in openGL |
Definition at line 79 of file SfmData.cpp.
Rot3 gtsam::openGLFixedRotation | ( | ) |
Definition at line 65 of file SfmData.cpp.
|
inline |
inequality
Definition at line 106 of file base/Matrix.h.
Signature gtsam::operator% | ( | const DiscreteKey & | key, |
const Signature::Table & | parent | ||
) |
Helper function to create Signature objects, using table construction directly example: Signature s(D % table);
Definition at line 139 of file Signature.cpp.
GTSAM_EXPORT Signature gtsam::operator% | ( | const DiscreteKey & | key, |
const std::string & | parent | ||
) |
Helper function to create Signature objects example: Signature s(D % "99/1");
Definition at line 134 of file Signature.cpp.
Signature gtsam::operator% | ( | const DiscreteKey & | key, |
const std::string & | parent | ||
) |
Helper function to create Signature objects example: Signature s(D % "99/1");
Definition at line 134 of file Signature.cpp.
DiscreteKeys gtsam::operator& | ( | const DiscreteKey & | key1, |
const DiscreteKey & | key2 | ||
) |
Create a list from two keys.
Definition at line 45 of file DiscreteKey.cpp.
VectorValues gtsam::operator* | ( | const double | a, |
const VectorValues & | c | ||
) |
Element-wise scaling by a constant.
Definition at line 357 of file VectorValues.cpp.
Expression<T> gtsam::operator* | ( | const Expression< T > & | e1, |
const Expression< T > & | e2 | ||
) |
Construct a product expression, assumes T::compose(T) -> T.
Construct a product expression, assumes T::compose(T) -> T Example: Expression<Point2> a(0), b(1), c = a*b;
Definition at line 272 of file Expression-inl.h.
ScalarMultiplyExpression<T> gtsam::operator* | ( | double | s, |
const Expression< T > & | e | ||
) |
Construct an expression that executes the scalar multiplication with an input expression The type T must be a vector space Example: Expression<Point2> a(0), b = 12 * a;
Definition at line 267 of file Expression.h.
Addition.
Definition at line 59 of file Errors.cpp.
BinarySumExpression<T> gtsam::operator+ | ( | const Expression< T > & | e1, |
const Expression< T > & | e2 | ||
) |
Construct an expression that sums two input expressions of the same type T The type T must be a vector space Example: Expression<Point2> a(0), b(1), c = a + b;
Definition at line 278 of file Expression.h.
HybridGaussianProductFactor gtsam::operator+ | ( | const HybridGaussianProductFactor & | a, |
const HybridGaussianProductFactor & | b | ||
) |
Definition at line 39 of file HybridGaussianProductFactor.cpp.
Negation.
Definition at line 88 of file Errors.cpp.
Subtraction.
Definition at line 74 of file Errors.cpp.
BinarySumExpression<T> gtsam::operator- | ( | const Expression< T > & | e1, |
const Expression< T > & | e2 | ||
) |
Construct an expression that subtracts one expression from another.
Definition at line 284 of file Expression.h.
ostream& gtsam::operator<< | ( | ostream & | os, |
const EssentialMatrix & | E | ||
) |
Definition at line 117 of file EssentialMatrix.cpp.
ostream& gtsam::operator<< | ( | ostream & | os, |
const gtsam::Point2Pair & | p | ||
) |
Definition at line 129 of file Point2.cpp.
ostream& gtsam::operator<< | ( | ostream & | os, |
const gtsam::Point3Pair & | p | ||
) |
Definition at line 92 of file Point3.cpp.
ostream& gtsam::operator<< | ( | ostream & | os, |
const IterativeOptimizationParameters & | p | ||
) |
Definition at line 56 of file IterativeSolver.cpp.
ostream& gtsam::operator<< | ( | ostream & | os, |
const key_formatter & | m | ||
) |
ostream& gtsam::operator<< | ( | ostream & | os, |
const PreconditionerParameters & | p | ||
) |
Definition at line 36 of file Preconditioner.cpp.
ostream& gtsam::operator<< | ( | ostream & | os, |
const PreintegrationBase & | pim | ||
) |
Definition at line 37 of file PreintegrationBase.cpp.
ostream& gtsam::operator<< | ( | ostream & | os, |
const Rot3 & | R | ||
) |
ostream& gtsam::operator<< | ( | ostream & | os, |
const Signature & | s | ||
) |
Definition at line 111 of file Signature.cpp.
ostream& gtsam::operator<< | ( | ostream & | os, |
const Signature::Row & | row | ||
) |
Definition at line 30 of file Signature.cpp.
ostream& gtsam::operator<< | ( | ostream & | os, |
const Signature::Table & | table | ||
) |
Definition at line 36 of file Signature.cpp.
ostream& gtsam::operator<< | ( | ostream & | os, |
const StereoPoint2 & | p | ||
) |
Definition at line 31 of file StereoPoint2.cpp.
ostream& gtsam::operator<< | ( | ostream & | os, |
const StreamedKey & | streamedKey | ||
) |
ostream& gtsam::operator<< | ( | ostream & | os, |
const Subgraph & | subgraph | ||
) |
Definition at line 104 of file SubgraphBuilder.cpp.
ostream& gtsam::operator<< | ( | ostream & | os, |
const Subgraph::Edge & | edge | ||
) |
Definition at line 95 of file SubgraphBuilder.cpp.
ostream& gtsam::operator<< | ( | ostream & | os, |
const SubgraphBuilderParameters & | p | ||
) |
Definition at line 126 of file SubgraphBuilder.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Cal3 & | cal | ||
) |
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Cal3_S2 & | cal | ||
) |
Definition at line 27 of file Cal3_S2.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Cal3_S2Stereo & | cal | ||
) |
Definition at line 25 of file Cal3_S2Stereo.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Cal3Bundler & | cal | ||
) |
Definition at line 45 of file Cal3Bundler.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Cal3DS2 & | cal | ||
) |
Definition at line 28 of file Cal3DS2.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Cal3DS2_Base & | cal | ||
) |
Definition at line 35 of file Cal3DS2_Base.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Cal3f & | cal | ||
) |
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Cal3Fisheye & | cal | ||
) |
Definition at line 157 of file Cal3Fisheye.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Cal3Unified & | cal | ||
) |
Definition at line 36 of file Cal3Unified.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const CombinedImuFactor & | f | ||
) |
Definition at line 299 of file CombinedImuFactor.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Dih6 & | m | ||
) |
Definition at line 109 of file testGroup.cpp.
GTSAM_EXPORT std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const EdgeKey & | key | ||
) |
Definition at line 27 of file EdgeKey.cpp.
GTSAM_EXPORT std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const gtsam::Point2Pair & | p | ||
) |
GTSAM_EXPORT std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const gtsam::Point3Pair & | p | ||
) |
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const ImuFactor & | f | ||
) |
Definition at line 128 of file ImuFactor.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const ImuFactor2 & | f | ||
) |
Definition at line 223 of file ImuFactor.cpp.
GTSAM_EXPORT std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const LabeledSymbol & | symbol | ||
) |
Definition at line 145 of file LabeledSymbol.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const NavState & | state | ||
) |
Definition at line 88 of file NavState.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Pose2 & | pose | ||
) |
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Pose3 & | pose | ||
) |
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Similarity2 & | p | ||
) |
Definition at line 225 of file Similarity2.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Similarity3 & | p | ||
) |
Definition at line 278 of file Similarity3.cpp.
GTSAM_EXPORT std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Symbol & | symbol | ||
) |
Definition at line 73 of file Symbol.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const Unit3 & | pair | ||
) |
GTSAM_EXPORT std::ostream& gtsam::operator<< | ( | std::ostream & | os, |
const VectorValues & | v | ||
) |
Definition at line 139 of file VectorValues.cpp.
std::ostream& gtsam::operator<< | ( | std::ostream & | stream, |
const ImuMeasurement & | meas | ||
) |
Definition at line 27 of file ImuMeasurement.h.
equality is just equal_with_abs_tol 1e-9
Definition at line 99 of file base/Matrix.h.
Definition at line 103 of file Vector.cpp.
istream& gtsam::operator>> | ( | istream & | inputStream, |
Matrix & | destinationMatrix | ||
) |
Definition at line 173 of file Matrix.cpp.
istream& gtsam::operator>> | ( | istream & | is, |
EssentialMatrix & | E | ||
) |
Definition at line 126 of file EssentialMatrix.cpp.
GTSAM_EXPORT std::istream& gtsam::operator>> | ( | std::istream & | inputStream, |
Matrix & | destinationMatrix | ||
) |
Read a matrix from an input stream, such as a file. Entries can be either tab-, space-, or comma-separated, similar to the format read by the MATLAB dlmread command.
std::istream& gtsam::operator>> | ( | std::istream & | is, |
GaussianFactorGraphValuePair & | pair | ||
) |
Create a dummy overload of >> for GaussianFactorGraphValuePair so that HybridGaussianProductFactor compiles with the constructor DecisionTree(const std::vector<LabelC>& labelCs, const std::string& table)
.
Needed to compile on Windows.
Definition at line 107 of file HybridGaussianProductFactor.cpp.
std::istream& gtsam::operator>> | ( | std::istream & | is, |
Matrix6 & | m | ||
) |
Definition at line 800 of file dataset.cpp.
std::istream& gtsam::operator>> | ( | std::istream & | is, |
Quaternion & | q | ||
) |
Definition at line 738 of file dataset.cpp.
std::istream& gtsam::operator>> | ( | std::istream & | is, |
Rot3 & | R | ||
) |
Definition at line 748 of file dataset.cpp.
overload ^ for trans(A)*v We transpose the vectors for speed.
Definition at line 128 of file Matrix.cpp.
Signature gtsam::operator| | ( | const DiscreteKey & | key, |
const DiscreteKey & | parent | ||
) |
Helper function to create Signature objects example: Signature s = D | E;
Definition at line 129 of file Signature.cpp.
Point3 gtsam::optimize | ( | const NonlinearFactorGraph & | graph, |
const Values & | values, | ||
Key | landmarkKey | ||
) |
Optimize for triangulation
graph | nonlinear factors for projection |
values | initial values |
landmarkKey | to refer to landmark |
Definition at line 177 of file triangulation.cpp.
size_t gtsam::optimizeWildfire | ( | const ISAM2Clique::shared_ptr & | root, |
double | threshold, | ||
const KeySet & | replaced, | ||
VectorValues * | delta | ||
) |
Optimize the BayesTree, starting from the root.
threshold | The maximum change against the PREVIOUS delta for non-replaced variables that can be ignored, ie. the old delta entry is kept and recursive backsubstitution might eventually stop if none of the changed variables are contained in the subtree. |
replaced | Needs to contain all variables that are contained in the top of the Bayes tree that has been redone. |
delta | The current solution, an offset from the linearization point. |
Definition at line 226 of file ISAM2Clique.cpp.
size_t gtsam::optimizeWildfireNonRecursive | ( | const ISAM2Clique::shared_ptr & | root, |
double | threshold, | ||
const KeySet & | keys, | ||
VectorValues * | delta | ||
) |
Definition at line 260 of file ISAM2Clique.cpp.
FastVector<VariableSlots::const_iterator> gtsam::orderedSlotsHelper | ( | const Ordering & | ordering, |
const VariableSlots & | variableSlots | ||
) |
Definition at line 285 of file JacobianFactor.cpp.
GTSAM_EXPORT BetweenFactorPose2s gtsam::parse2DFactors | ( | const std::string & | filename, |
const noiseModel::Diagonal::shared_ptr & | model, | ||
size_t | maxIndex | ||
) |
Definition at line 948 of file dataset.cpp.
GTSAM_EXPORT BetweenFactorPose3s gtsam::parse3DFactors | ( | const std::string & | filename, |
const noiseModel::Diagonal::shared_ptr & | model, | ||
size_t | maxIndex | ||
) |
Definition at line 954 of file dataset.cpp.
|
inlinestatic |
Definition at line 20 of file SignatureParser.cpp.
|
static |
Definition at line 24 of file SignatureParser.cpp.
|
static |
Definition at line 44 of file SignatureParser.cpp.
std::optional<IndexedEdge> gtsam::parseEdge | ( | std::istream & | is, |
const std::string & | tag | ||
) |
Parse TORO/G2O edge "id1 id2 x y yaw"
is | input stream |
tag | string parsed from input stream, will only parse if edge type |
Definition at line 299 of file dataset.cpp.
GTSAM_EXPORT std::vector<typename BetweenFactor<T>::shared_ptr> gtsam::parseFactors | ( | const std::string & | filename, |
const noiseModel::Diagonal::shared_ptr & | model = nullptr , |
||
size_t | maxIndex = 0 |
||
) |
GTSAM_EXPORT std::vector<BetweenFactor<Pose2>::shared_ptr> gtsam::parseFactors< Pose2 > | ( | const std::string & | filename, |
const noiseModel::Diagonal::shared_ptr & | model, | ||
size_t | maxIndex | ||
) |
Definition at line 440 of file dataset.cpp.
GTSAM_EXPORT std::vector<BetweenFactor<Pose3>::shared_ptr> gtsam::parseFactors< Pose3 > | ( | const std::string & | filename, |
const noiseModel::Diagonal::shared_ptr & | model, | ||
size_t | maxIndex | ||
) |
Definition at line 914 of file dataset.cpp.
|
inlinestatic |
Definition at line 14 of file SignatureParser.cpp.
|
static |
Definition at line 130 of file dataset.cpp.
GTSAM_EXPORT std::vector< BinaryMeasurement< Rot3 > > gtsam::parseMeasurements | ( | const std::string & | filename, |
const noiseModel::Diagonal::shared_ptr & | model = nullptr , |
||
size_t | maxIndex = 0 |
||
) |
|
inlinestatic |
Definition at line 16 of file SignatureParser.cpp.
std::map<size_t, T> gtsam::parseToMap | ( | const std::string & | filename, |
Parser< std::pair< size_t, T >> | parse, | ||
size_t | maxIndex | ||
) |
Definition at line 144 of file dataset.cpp.
|
static |
Definition at line 161 of file dataset.cpp.
|
inlinestatic |
Definition at line 12 of file SignatureParser.cpp.
GTSAM_EXPORT std::map<size_t, Point2> gtsam::parseVariables< Point2 > | ( | const std::string & | filename, |
size_t | maxIndex | ||
) |
Definition at line 209 of file dataset.cpp.
GTSAM_EXPORT std::map<size_t, Point3> gtsam::parseVariables< Point3 > | ( | const std::string & | filename, |
size_t | maxIndex | ||
) |
Definition at line 793 of file dataset.cpp.
GTSAM_EXPORT std::map<size_t, Pose2> gtsam::parseVariables< Pose2 > | ( | const std::string & | filename, |
size_t | maxIndex | ||
) |
Definition at line 187 of file dataset.cpp.
GTSAM_EXPORT std::map<size_t, Pose3> gtsam::parseVariables< Pose3 > | ( | const std::string & | filename, |
size_t | maxIndex | ||
) |
Definition at line 775 of file dataset.cpp.
std::optional<IndexedLandmark> gtsam::parseVertexLandmark | ( | std::istream & | is, |
const std::string & | tag | ||
) |
Parse G2O landmark vertex "id x y"
is | input stream |
tag | string parsed from input stream, will only parse if vertex type |
Definition at line 193 of file dataset.cpp.
std::optional<std::pair<size_t, Point3> > gtsam::parseVertexPoint3 | ( | std::istream & | is, |
const std::string & | tag | ||
) |
Definition at line 781 of file dataset.cpp.
std::optional<IndexedPose> gtsam::parseVertexPose | ( | std::istream & | is, |
const std::string & | tag | ||
) |
Parse TORO/G2O vertex "id x y yaw"
is | input stream |
tag | string parsed from input stream, will only parse if vertex type |
Definition at line 173 of file dataset.cpp.
std::optional<std::pair<size_t, Pose3> > gtsam::parseVertexPose3 | ( | std::istream & | is, |
const std::string & | tag | ||
) |
Definition at line 756 of file dataset.cpp.
Definition at line 498 of file ShonanAveraging.cpp.
Definition at line 101 of file slam/expressions.h.
double gtsam::PolakRibiere | ( | const Gradient & | currentGradient, |
const Gradient & | prevGradient | ||
) |
Polak-Ribiere formula for computing β, the direction of steepest descent.
Definition at line 40 of file NonlinearConjugateGradientOptimizer.h.
Definition at line 37 of file navigation/expressions.h.
|
inlinestatic |
Definition at line 179 of file HybridGaussianFactor.cpp.
|
static |
MINIMUM EIGENVALUE COMPUTATIONS.
Definition at line 521 of file ShonanAveraging.cpp.
V gtsam::preconditionedConjugateGradient | ( | const S & | system, |
const V & | initial, | ||
const ConjugateGradientParameters & | parameters | ||
) |
Definition at line 107 of file ConjugateGradientSolver.h.
std::tuple<G, V, std::map<KEY,V> > gtsam::predecessorMap2Graph | ( | const PredecessorMap< KEY > & | p_map | ) |
Build takes a predecessor map, and builds a directed graph corresponding to the tree. G = Graph type V = Vertex type
Definition at line 113 of file graph-inl.h.
std::list<KEY> gtsam::predecessorMap2Keys | ( | const PredecessorMap< KEY > & | p_map | ) |
Generate a list of keys from a spanning tree represented by its predecessor map
Definition at line 50 of file graph-inl.h.
void gtsam::Print | ( | const CONTAINER & | keys, |
const string & | s, | ||
const KeyFormatter & | keyFormatter | ||
) |
GTSAM_EXPORT void gtsam::print | ( | const Errors & | e, |
const std::string & | s = "Errors" |
||
) |
Print an Errors instance.
Definition at line 37 of file Errors.cpp.
void gtsam::print | ( | const Errors & | e, |
const string & | s | ||
) |
Print an Errors instance.
Definition at line 37 of file Errors.cpp.
GTSAM_EXPORT void gtsam::print | ( | const Matrix & | A, |
const std::string & | s, | ||
std::ostream & | stream | ||
) |
print without optional string, must specify cout yourself
GTSAM_EXPORT void gtsam::print | ( | const Matrix & | A, |
const std::string & | s = "" |
||
) |
print with optional string to cout
Definition at line 161 of file Matrix.cpp.
void gtsam::print | ( | const Matrix & | A, |
const std::string & | s = "" |
||
) |
print with optional string to cout
Definition at line 161 of file Matrix.cpp.
void gtsam::print | ( | const Matrix & | A, |
const string & | s, | ||
ostream & | stream | ||
) |
Definition at line 155 of file Matrix.cpp.
GTSAM_EXPORT void gtsam::print | ( | const Vector & | v, |
const std::string & | s, | ||
std::ostream & | stream | ||
) |
print without optional string, must specify cout yourself
GTSAM_EXPORT void gtsam::print | ( | const Vector & | v, |
const std::string & | s = "" |
||
) |
print with optional string to cout
Definition at line 91 of file Vector.cpp.
void gtsam::print | ( | const Vector & | v, |
const std::string & | s = "" |
||
) |
print with optional string to cout
Definition at line 91 of file Vector.cpp.
void gtsam::print | ( | const Vector & | v, |
const string & | s, | ||
ostream & | stream | ||
) |
Definition at line 79 of file Vector.cpp.
|
inline |
Definition at line 79 of file Testable.h.
|
inline |
Definition at line 76 of file Testable.h.
|
static |
Definition at line 95 of file HybridGaussianFactorGraph.cpp.
GTSAM_EXPORT void gtsam::PrintKey | ( | Key | key, |
const std::string & | s = "" , |
||
const KeyFormatter & | keyFormatter = DefaultKeyFormatter |
||
) |
void gtsam::PrintKey | ( | Key | key, |
const string & | s, | ||
const KeyFormatter & | keyFormatter | ||
) |
GTSAM_EXPORT void gtsam::PrintKeyList | ( | const KeyList & | keys, |
const std::string & | s = "" , |
||
const KeyFormatter & | keyFormatter = DefaultKeyFormatter |
||
) |
void gtsam::PrintKeyList | ( | const KeyList & | keys, |
const string & | s, | ||
const KeyFormatter & | keyFormatter | ||
) |
GTSAM_EXPORT void gtsam::PrintKeySet | ( | const KeySet & | keys, |
const std::string & | s = "" , |
||
const KeyFormatter & | keyFormatter = DefaultKeyFormatter |
||
) |
void gtsam::PrintKeySet | ( | const KeySet & | keys, |
const string & | s, | ||
const KeyFormatter & | keyFormatter | ||
) |
GTSAM_EXPORT void gtsam::PrintKeyVector | ( | const KeyVector & | keys, |
const std::string & | s = "" , |
||
const KeyFormatter & | keyFormatter = DefaultKeyFormatter |
||
) |
void gtsam::PrintKeyVector | ( | const KeyVector & | keys, |
const string & | s, | ||
const KeyFormatter & | keyFormatter | ||
) |
|
inline |
products using old-style format to improve compatibility
Definition at line 143 of file base/Matrix.h.
Expression version of PinholeBase::Project.
Definition at line 131 of file slam/expressions.h.
Definition at line 136 of file slam/expressions.h.
Point2_ gtsam::project2 | ( | const Expression< CAMERA > & | camera_, |
const Expression< POINT > & | p_ | ||
) |
Definition at line 151 of file slam/expressions.h.
|
inline |
Definition at line 166 of file slam/expressions.h.
std::vector<Matrix34, Eigen::aligned_allocator<Matrix34> > gtsam::projectionMatricesFromCameras | ( | const CameraSet< CAMERA > & | cameras | ) |
Definition at line 225 of file triangulation.h.
std::vector<Matrix34, Eigen::aligned_allocator<Matrix34> > gtsam::projectionMatricesFromPoses | ( | const std::vector< Pose3 > & | poses, |
std::shared_ptr< CALIBRATION > | sharedCal | ||
) |
Definition at line 235 of file triangulation.h.
Householder QR factorization, Golub & Van Loan p 224, explicit version
QR factorization, inefficient, best use imperative householder below m*n matrix -> m*m Q, m*n R
A | a matrix |
Definition at line 234 of file Matrix.cpp.
Definition at line 30 of file slam/expressions.h.
SfmData gtsam::readBal | ( | const std::string & | filename | ) |
This function parses a "Bundle Adjustment in the Large" (BAL) file and returns the data as a SfmData structure. Mainly used by wrapped code.
filename | The name of the BAL file. |
Definition at line 325 of file SfmData.cpp.
GraphAndValues gtsam::readG2o | ( | const std::string & | g2oFile, |
const bool | is3D = false , |
||
KernelFunctionType | kernelFunctionType = KernelFunctionTypeNONE |
||
) |
This function parses a g2o file and stores the measurements into a NonlinearFactorGraph and the initial guess in a Values structure.
filename | The name of the g2o file\ |
is3D | indicates if the file describes a 2D or 3D problem |
kernelFunctionType | whether to wrap the noise model in a robust kernel |
Definition at line 621 of file dataset.cpp.
void gtsam::recursiveMarkAffectedKeys | ( | const Key & | key, |
const ISAM2Clique::shared_ptr & | clique, | ||
std::set< Key > & | additionalKeys | ||
) |
Definition at line 28 of file IncrementalFixedLagSmoother.cpp.
|
inline |
Definition at line 281 of file base/Matrix.h.
Definition at line 97 of file slam/expressions.h.
Definition at line 105 of file slam/expressions.h.
Definition at line 89 of file slam/expressions.h.
Definition at line 237 of file ShonanAveraging.cpp.
const MATRIX::ConstRowXpr gtsam::row | ( | const MATRIX & | A, |
size_t | j | ||
) |
Extracts a row view from a matrix that avoids a copy
A | matrix to extract row from |
j | index of the row |
Definition at line 221 of file base/Matrix.h.
pair<Matrix3, Vector3> gtsam::RQ | ( | const Matrix3 & | A, |
OptionalJacobian< 3, 9 > | H = {} |
||
) |
[RQ] receives a 3 by 3 matrix and returns an upper triangular matrix R and 3 rotation angles corresponding to the rotation matrix Q=Qz'*Qy'*Qx' such that A = R*Q = R*Qz'*Qy'*Qx'. When A is a rotation matrix, R will be the identity and Q is a yaw-pitch-roll decomposition of A. The implementation uses Givens rotations and is based on Hartley-Zisserman.
Definition at line 528 of file Matrix.cpp.
GTSAM_EXPORT void gtsam::save | ( | const Matrix & | A, |
const std::string & | s, | ||
const std::string & | filename | ||
) |
save a matrix to file, which can be loaded by matlab
Definition at line 166 of file Matrix.cpp.
void gtsam::save | ( | const Matrix & | A, |
const std::string & | s, | ||
const std::string & | filename | ||
) |
save a matrix to file, which can be loaded by matlab
Definition at line 166 of file Matrix.cpp.
GTSAM_EXPORT void gtsam::save | ( | const Vector & | A, |
const std::string & | s, | ||
const std::string & | filename | ||
) |
save a vector to file, which can be loaded by matlab
Definition at line 96 of file Vector.cpp.
void gtsam::save | ( | const Vector & | A, |
const std::string & | s, | ||
const std::string & | filename | ||
) |
save a vector to file, which can be loaded by matlab
Definition at line 96 of file Vector.cpp.
void gtsam::save2D | ( | const NonlinearFactorGraph & | graph, |
const Values & | config, | ||
const noiseModel::Diagonal::shared_ptr | model, | ||
const std::string & | filename | ||
) |
save 2d graph
Definition at line 588 of file dataset.cpp.
|
static |
Scale x from [a, b] to [t1, t2].
((b'-a') * (x - a) / (b - a)) + a'
x | Value to scale to new range. |
a | Original lower limit. |
b | Original upper limit. |
t1 | New lower limit. |
t2 | New upper limit. |
Definition at line 35 of file Chebyshev.cpp.
Definition at line 281 of file NonlinearFactorGraph.cpp.
Definition at line 296 of file NonlinearFactorGraph.cpp.
std::string gtsam::gtsam::serializeGraph | ( | const NonlinearFactorGraph & | graph | ) |
Definition at line 179 of file serialization.cpp.
bool gtsam::gtsam::serializeGraphToFile | ( | const NonlinearFactorGraph & | graph, |
const std::string & | fname | ||
) |
Definition at line 229 of file serialization.cpp.
bool gtsam::gtsam::serializeGraphToXMLFile | ( | const NonlinearFactorGraph & | graph, |
const std::string & | fname, | ||
const std::string & | name = "graph" |
||
) |
Definition at line 234 of file serialization.cpp.
std::string gtsam::gtsam::serializeGraphXML | ( | const NonlinearFactorGraph & | graph, |
const std::string & | name = "graph" |
||
) |
Definition at line 191 of file serialization.cpp.
std::string gtsam::gtsam::serializeValues | ( | const Values & | values | ) |
Definition at line 204 of file serialization.cpp.
bool gtsam::gtsam::serializeValuesToFile | ( | const Values & | values, |
const std::string & | fname | ||
) |
Definition at line 240 of file serialization.cpp.
bool gtsam::gtsam::serializeValuesToXMLFile | ( | const Values & | values, |
const std::string & | fname, | ||
const std::string & | name = "values" |
||
) |
Definition at line 245 of file serialization.cpp.
std::string gtsam::gtsam::serializeValuesXML | ( | const Values & | values, |
const std::string & | name = "values" |
||
) |
Definition at line 216 of file serialization.cpp.
|
static |
Definition at line 63 of file SubgraphPreconditioner.cpp.
|
inline |
Definition at line 405 of file base/Matrix.h.
|
inline |
skew symmetric matrix returns this: 0 -wz wy wz 0 -wx -wy wx 0
wx | 3 dimensional vector |
wy | |
wz |
Definition at line 400 of file base/Matrix.h.
SparseEigen gtsam::sparseJacobianEigen | ( | const GaussianFactorGraph & | gfg | ) |
Definition at line 58 of file SparseEigen.h.
SparseEigen gtsam::sparseJacobianEigen | ( | const GaussianFactorGraph & | gfg, |
const Ordering & | ordering | ||
) |
Constructs an Eigen-format SparseMatrix of a GaussianFactorGraph.
Definition at line 38 of file SparseEigen.h.
|
static |
Function to compute the minimum eigenvalue of A using Lanczos in Spectra. This does 2 things:
(1) Quick (coarse) eigenvalue computation to estimate the largest-magnitude eigenvalue (2) A second eigenvalue computation applied to A-sigma*I, where sigma is chosen to make the minimum eigenvalue of A the extremal eigenvalue of A-sigma*I
Upon completion, this returns a boolean value indicating whether the minimum eigenvalue was computed to the required precision – if so, its sets the values of minEigenValue and minEigenVector appropriately Note that in the following function signature, S is supposed to be the block-row-matrix that is a critical point for the optimization algorithm; either S (Stiefel manifold) or R (block rotations). We use this to construct a starting vector v for the Lanczos process that will be close to the minimum eigenvector we're looking for whenever the relaxation is exact – this is a key feature that helps to make this method fast. Note that instead of passing in all of S, it would be enough to pass in one of S's rows, if that's more convenient.
Definition at line 624 of file ShonanAveraging.cpp.
void gtsam::split | ( | const G & | g, |
const PredecessorMap< KEY > & | tree, | ||
G & | Ab1, | ||
G & | Ab2 | ||
) |
Split the graph into two parts: one corresponds to the given spanning tree, and the other corresponds to the rest of the factors
Definition at line 245 of file graph-inl.h.
std::pair<GaussianFactorGraph, GaussianFactorGraph> gtsam::splitFactorGraph | ( | const GaussianFactorGraph & | factorGraph, |
const Subgraph & | subgraph | ||
) |
Split the graph into a subgraph and the remaining edges. Note that the remaining factorgraph has null factors.
Definition at line 420 of file SubgraphBuilder.cpp.
Definition at line 422 of file Matrix.cpp.
create a matrix by stacking other matrices Given a set of matrices: A1, A2, A3...
... | pointers to matrices to be stacked |
Definition at line 395 of file Matrix.cpp.
VectorValues gtsam::steepestDescent | ( | const GaussianFactorGraph & | fg, |
const VectorValues & | x, | ||
const ConjugateGradientParameters & | parameters | ||
) |
Method of steepest gradients, Gaussian Factor Graph version
Definition at line 64 of file iterative.cpp.
Vector gtsam::steepestDescent | ( | const Matrix & | A, |
const Vector & | b, | ||
const Vector & | x, | ||
const ConjugateGradientParameters & | parameters | ||
) |
convenience calls using matrices, will create System class internally: Method of steepest gradients, Matrix version
Definition at line 51 of file iterative.cpp.
Vector gtsam::steepestDescent | ( | const System & | Ab, |
const Vector & | x, | ||
const ConjugateGradientParameters & | parameters | ||
) |
Definition at line 40 of file iterative.cpp.
GTSAM_EXPORT Vector gtsam::steepestDescent | ( | const System & | Ab, |
const Vector & | x, | ||
const IterativeOptimizationParameters & | parameters | ||
) |
Method of steepest gradients, System version
GTSAM_EXPORT Matrix43 gtsam::stiefel | ( | const SO4 & | Q, |
OptionalJacobian< 12, 6 > | H = {} |
||
) |
|
static |
Definition at line 345 of file DiscreteConditional.cpp.
Eigen::Block<const MATRIX> gtsam::sub | ( | const MATRIX & | A, |
size_t | i1, | ||
size_t | i2, | ||
size_t | j1, | ||
size_t | j2 | ||
) |
extract submatrix, slice semantics, i.e. range = [i1,i2[ excluding i2
A | matrix |
i1 | first row index |
i2 | last row index + 1 |
j1 | first col index |
j2 | last col index + 1 |
Definition at line 180 of file base/Matrix.h.
SVD computes economy SVD A=U*S*V'
A | an m*n matrix |
U | output argument: rotation matrix |
S | output argument: sorted vector of singular values |
V | output argument: rotation matrix if m > n then U*S*V' = (m*n)*(n*n)*(n*n) if m < n then U*S*V' = (m*m)*(m*m)*(m*n) Careful! The dimensions above reflect V', not V, which is n*m if m<n. U is a basis in R^m, V is a basis in R^n You can just pass empty matrices U,V, and vector S, they will be re-allocated. |
Definition at line 558 of file Matrix.cpp.
|
inline |
Create a symbol key from a character and index, i.e. x5.
Definition at line 139 of file inference/Symbol.h.
|
inline |
Return the character portion of a symbol key.
Definition at line 142 of file inference/Symbol.h.
|
inline |
Return the index portion of a symbol key.
Definition at line 145 of file inference/Symbol.h.
void GTSAM_UNSTABLE_EXPORT gtsam::synchronize | ( | ConcurrentFilter & | filter, |
ConcurrentSmoother & | smoother | ||
) |
Definition at line 28 of file ConcurrentFilteringAndSmoothing.cpp.
gtsam::TEST | ( | LPInitSolver | , |
InfiniteLoopMultiVar | |||
) |
Definition at line 78 of file testLPSolver.cpp.
gtsam::TEST | ( | LPInitSolver | , |
InfiniteLoopSingleVar | |||
) |
Definition at line 61 of file testLPSolver.cpp.
gtsam::TEST | ( | LPInitSolver | , |
Initialization | |||
) |
Definition at line 107 of file testLPSolver.cpp.
gtsam::TEST | ( | SmartFactorBase | , |
Pinhole | |||
) |
Definition at line 38 of file testSmartFactorBase.cpp.
gtsam::TEST | ( | SmartFactorBase | , |
PinholeWithSensor | |||
) |
Definition at line 45 of file testSmartFactorBase.cpp.
gtsam::TEST | ( | SmartFactorBase | , |
Stereo | |||
) |
Definition at line 97 of file testSmartFactorBase.cpp.
void gtsam::testChartDerivatives | ( | TestResult & | result_, |
const std::string & | name_, | ||
const G & | t1, | ||
const G & | t2 | ||
) |
void gtsam::testDefaultChart | ( | TestResult & | result_, |
const std::string & | name_, | ||
const T & | value | ||
) |
Definition at line 31 of file chartTesting.h.
void gtsam::testLieGroupDerivatives | ( | TestResult & | result_, |
const std::string & | name_, | ||
const G & | t1, | ||
const G & | t2 | ||
) |
|
static |
Definition at line 79 of file HybridGaussianFactorGraph.cpp.
Convert the factor graph to an SDGraph G = Graph type F = Factor type Key = Key type
Definition at line 63 of file graph-inl.h.
|
static |
Definition at line 68 of file SignatureParser.cpp.
GTSAM_EXPORT Matrix3 gtsam::topLeft | ( | const SO4 & | Q, |
OptionalJacobian< 9, 6 > | H = {} |
||
) |
static transpose function, just calls Eigen transpose member function
Definition at line 241 of file base/Matrix.h.
P gtsam::transform_point | ( | const T & | trans, |
const P & | global, | ||
OptionalMatrixType | Dtrans, | ||
OptionalMatrixType | Dglobal | ||
) |
Transform function that must be specialized specific domains
T | is a Transform type |
P | is a point type |
Definition at line 30 of file ReferenceFrameFactor.h.
Definition at line 47 of file slam/expressions.h.
Definition at line 57 of file slam/expressions.h.
Definition at line 26 of file slam/expressions.h.
Line3 gtsam::transformTo | ( | const Pose3 & | wTc, |
const Line3 & | wL, | ||
OptionalJacobian< 4, 6 > | Dpose = {} , |
||
OptionalJacobian< 4, 4 > | Dline = {} |
||
) |
Transform a line from world to camera frame
wTc | - Pose3 of camera in world frame |
wL | - Line3 in world frame |
Dpose | - OptionalJacobian of transformed line with respect to p |
Dline | - OptionalJacobian of transformed line with respect to l |
Definition at line 51 of file slam/expressions.h.
Definition at line 43 of file slam/expressions.h.
Definition at line 93 of file slam/expressions.h.
Point3 gtsam::triangulateDLT | ( | const std::vector< Matrix34, Eigen::aligned_allocator< Matrix34 >> & | projection_matrices, |
const Point2Vector & | measurements, | ||
double | rank_tol = 1e-9 |
||
) |
DLT triangulation: See Hartley and Zisserman, 2nd Ed., page 312
projection_matrices | Projection matrices (K*P^-1) |
measurements | 2D measurements |
rank_tol | SVD rank tolerance |
Definition at line 149 of file triangulation.cpp.
Point3 gtsam::triangulateDLT | ( | const std::vector< Matrix34, Eigen::aligned_allocator< Matrix34 >> & | projection_matrices, |
const std::vector< Unit3 > & | measurements, | ||
double | rank_tol = 1e-9 |
||
) |
overload of previous function to work with Unit3 (projected to canonical camera)
Definition at line 159 of file triangulation.cpp.
Vector4 gtsam::triangulateHomogeneousDLT | ( | const std::vector< Matrix34, Eigen::aligned_allocator< Matrix34 >> & | projection_matrices, |
const Point2Vector & | measurements, | ||
double | rank_tol = 1e-9 |
||
) |
DLT triangulation: See Hartley and Zisserman, 2nd Ed., page 312
projection_matrices | Projection matrices (K*P^-1) |
measurements | 2D measurements |
rank_tol | SVD rank tolerance |
Definition at line 27 of file triangulation.cpp.
Vector4 gtsam::triangulateHomogeneousDLT | ( | const std::vector< Matrix34, Eigen::aligned_allocator< Matrix34 >> & | projection_matrices, |
const std::vector< Unit3 > & | measurements, | ||
double | rank_tol = 1e-9 |
||
) |
Same math as Hartley and Zisserman, 2nd Ed., page 312, but with unit-norm bearing vectors (contrarily to pinhole projection, the z entry is not assumed to be 1 as in Hartley and Zisserman)
projection_matrices | Projection matrices (K*P^-1) |
measurements | Unit3 bearing measurements |
rank_tol | SVD rank tolerance |
Definition at line 58 of file triangulation.cpp.
Point3 gtsam::triangulateLOST | ( | const std::vector< Pose3 > & | poses, |
const Point3Vector & | calibratedMeasurements, | ||
const SharedIsotropic & | measurementNoise, | ||
double | rank_tol = 1e-9 |
||
) |
Triangulation using the LOST (Linear Optimal Sine Triangulation) algorithm proposed in https://arxiv.org/pdf/2205.12197.pdf by Sebastien Henry and John Christian.
poses | camera poses in world frame |
calibratedMeasurements | measurements in homogeneous coordinates in each camera pose |
measurementNoise | isotropic noise model for the measurements |
Definition at line 86 of file triangulation.cpp.
Point3 gtsam::triangulateNonlinear | ( | const CameraSet< CAMERA > & | cameras, |
const typename CAMERA::MeasurementVector & | measurements, | ||
const Point3 & | initialEstimate, | ||
const SharedNoiseModel & | model = nullptr |
||
) |
Given an initial estimate , refine a point using measurements in several cameras
cameras | pinhole cameras (monocular or stereo) |
measurements | 2D measurements |
initialEstimate |
Definition at line 211 of file triangulation.h.
Point3 gtsam::triangulateNonlinear | ( | const std::vector< Pose3 > & | poses, |
std::shared_ptr< CALIBRATION > | sharedCal, | ||
const Point2Vector & | measurements, | ||
const Point3 & | initialEstimate, | ||
const SharedNoiseModel & | model = nullptr |
||
) |
Given an initial estimate , refine a point using measurements in several cameras
poses | Camera poses |
sharedCal | shared pointer to single calibration object |
measurements | 2D measurements |
initialEstimate |
Definition at line 191 of file triangulation.h.
Point3 gtsam::triangulatePoint3 | ( | const CameraSet< CAMERA > & | cameras, |
const typename CAMERA::MeasurementVector & | measurements, | ||
double | rank_tol = 1e-9 , |
||
bool | optimize = false , |
||
const SharedNoiseModel & | model = nullptr , |
||
const bool | useLOST = false |
||
) |
Function to triangulate 3D landmark point from an arbitrary number of poses (at least 2) using the DLT. This function is similar to the one above, except that each camera has its own calibration. The function checks that the resulting point lies in front of all cameras, but has no other checks to verify the quality of the triangulation.
cameras | pinhole cameras |
measurements | A vector of camera measurements |
rank_tol | rank tolerance, default 1e-9 |
optimize | Flag to turn on nonlinear refinement of triangulation |
useLOST | whether to use the LOST algorithm instead of DLT |
Definition at line 488 of file triangulation.h.
Point3 gtsam::triangulatePoint3 | ( | const CameraSet< PinholeCamera< CALIBRATION >> & | cameras, |
const Point2Vector & | measurements, | ||
double | rank_tol = 1e-9 , |
||
bool | optimize = false , |
||
const SharedNoiseModel & | model = nullptr , |
||
const bool | useLOST = false |
||
) |
Pinhole-specific version.
Definition at line 549 of file triangulation.h.
Point3 gtsam::triangulatePoint3 | ( | const std::vector< Pose3 > & | poses, |
std::shared_ptr< CALIBRATION > | sharedCal, | ||
const Point2Vector & | measurements, | ||
double | rank_tol = 1e-9 , |
||
bool | optimize = false , |
||
const SharedNoiseModel & | model = nullptr , |
||
const bool | useLOST = false |
||
) |
Function to triangulate 3D landmark point from an arbitrary number of poses (at least 2) using the DLT. The function checks that the resulting point lies in front of all cameras, but has no other checks to verify the quality of the triangulation.
poses | A vector of camera poses |
sharedCal | shared pointer to single calibration object |
measurements | A vector of camera measurements |
rank_tol | rank tolerance, default 1e-9 |
optimize | Flag to turn on nonlinear refinement of triangulation |
useLOST | whether to use the LOST algorithm instead of DLT |
Definition at line 421 of file triangulation.h.
TriangulationResult gtsam::triangulateSafe | ( | const CameraSet< CAMERA > & | cameras, |
const typename CAMERA::MeasurementVector & | measured, | ||
const TriangulationParameters & | params | ||
) |
triangulateSafe: extensive checking of the outcome
Definition at line 698 of file triangulation.h.
std::pair<NonlinearFactorGraph, Values> gtsam::triangulationGraph | ( | const CameraSet< CAMERA > & | cameras, |
const typename CAMERA::MeasurementVector & | measurements, | ||
Key | landmarkKey, | ||
const Point3 & | initialEstimate, | ||
const SharedNoiseModel & | model = nullptr |
||
) |
Create a factor graph with projection factors from pinhole cameras (each camera has a pose and calibration)
cameras | pinhole cameras (monocular or stereo) |
measurements | 2D measurements |
landmarkKey | to refer to landmark |
initialEstimate |
Definition at line 154 of file triangulation.h.
std::pair<NonlinearFactorGraph, Values> gtsam::triangulationGraph | ( | const std::vector< Pose3 > & | poses, |
std::shared_ptr< CALIBRATION > | sharedCal, | ||
const Point2Vector & | measurements, | ||
Key | landmarkKey, | ||
const Point3 & | initialEstimate, | ||
const SharedNoiseModel & | model = noiseModel::Unit::Create(2) |
||
) |
Create a factor graph with projection factors from poses and one calibration
poses | Camera poses |
sharedCal | shared pointer to single calibration object (monocular only!) |
measurements | 2D measurements |
landmarkKey | to refer to landmark |
initialEstimate |
Definition at line 126 of file triangulation.h.
Point2_ gtsam::uncalibrate | ( | const Expression< CALIBRATION > & | K, |
const Point2_ & | xy_hat | ||
) |
Definition at line 172 of file slam/expressions.h.
MEASUREMENT gtsam::undistortMeasurementInternal | ( | const CALIBRATION & | cal, |
const MEASUREMENT & | measurement, | ||
std::optional< Cal3_S2 > | pinholeCal = {} |
||
) |
Internal undistortMeasurement to be used by undistortMeasurement and undistortMeasurements
Definition at line 261 of file triangulation.h.
|
inline |
Specialization for Cal3_S2 as it doesn't need to be undistorted.
Definition at line 299 of file triangulation.h.
Point2Vector gtsam::undistortMeasurements | ( | const CALIBRATION & | cal, |
const Point2Vector & | measurements | ||
) |
Remove distortion for measurements so as if the measurements came from a pinhole camera.
Removes distortion but maintains the K matrix of the initial cal. Operates by calibrating using full calibration and uncalibrating with only the pinhole component of the calibration.
CALIBRATION | Calibration type to use. |
cal | Calibration with which measurements were taken. |
measurements | Vector of measurements to undistort. |
Definition at line 282 of file triangulation.h.
CAMERA::MeasurementVector gtsam::undistortMeasurements | ( | const CameraSet< CAMERA > & | cameras, |
const typename CAMERA::MeasurementVector & | measurements | ||
) |
Remove distortion for measurements so as if the measurements came from a pinhole camera.
Removes distortion but maintains the K matrix of the initial calibrations. Operates by calibrating using full calibration and uncalibrating with only the pinhole component of the calibration.
CAMERA | Camera type to use. |
cameras | Cameras corresponding to each measurement. |
measurements | Vector of measurements to undistort. |
Definition at line 316 of file triangulation.h.
|
inline |
Specialize for Cal3_S2 to do nothing.
Definition at line 334 of file triangulation.h.
|
inline |
Specialize for SphericalCamera to do nothing.
Definition at line 342 of file triangulation.h.
Definition at line 109 of file slam/expressions.h.
Definition at line 113 of file slam/expressions.h.
std::pair<DecisionTree<L, T1>, DecisionTree<L, T2> > gtsam::unzip | ( | const DecisionTree< L, std::pair< T1, T2 > > & | input | ) |
unzip a DecisionTree with std::pair
values.
input | the DecisionTree with (T1,T2) values. |
Definition at line 487 of file DecisionTree.h.
|
static |
Definition at line 248 of file DecisionTreeFactor.cpp.
|
static |
Definition at line 504 of file Matrix.cpp.
Definition at line 496 of file Matrix.cpp.
scales a matrix row or column by the values in a vector Arguments (Matrix, Vector) scales the columns, (Vector, Matrix) scales the rows
inf_mask | when true, will not scale with a NaN or inf value. |
Definition at line 480 of file Matrix.cpp.
|
inline |
Definition at line 40 of file navigation/expressions.h.
Declaration of wedge (see Murray94book) used to convert from n exponential coordinates to n*n element of the Lie algebra
|
inline |
|
inline |
|
inline |
Definition at line 224 of file Similarity3.h.
list<std::tuple<Vector, double, double> > gtsam::weighted_eliminate | ( | Matrix & | A, |
Vector & | b, | ||
const Vector & | sigmas | ||
) |
Imperative algorithm for in-place full elimination with weights and constraint handling
A | is a matrix to eliminate |
b | is the rhs |
sigmas | is a vector of the measurement standard deviation |
Definition at line 271 of file Matrix.cpp.
Weighted Householder solution vector, a.k.a., the pseudoinverse of the column NOTE: if any sigmas are zero (indicating a constraint) the pseudoinverse will be a selection vector, and the variance will be zero
v | is the first column of the matrix to solve |
weights | is a vector of weights/precisions where w=1/(s*s) |
Definition at line 291 of file Vector.cpp.
GTSAM_EXPORT double gtsam::weightedPseudoinverse | ( | const Vector & | a, |
const Vector & | weights, | ||
Vector & | pseudo | ||
) |
Definition at line 245 of file Vector.cpp.
bool gtsam::writeBAL | ( | const std::string & | filename, |
const SfmData & | data | ||
) |
This function writes a "Bundle Adjustment in the Large" (BAL) file from a SfmData structure.
filename | The name of the BAL file to write |
data | SfM structure where the data is stored |
Definition at line 249 of file SfmData.cpp.
bool gtsam::writeBALfromValues | ( | const std::string & | filename, |
const SfmData & | data, | ||
const Values & | values | ||
) |
This function writes a "Bundle Adjustment in the Large" (BAL) file from a SfmData structure and a value structure (measurements are the same as the SfM input data, while camera poses and values are read from Values)
filename | The name of the BAL file to write |
data | SfM structure where the data is stored |
values | structure where the graph values are stored (values can be either Pose3 or PinholeCamera<Cal3Bundler> for the cameras, and should be Point3 for the 3D points). Note: assumes that the keys are "i" for pose i and "Symbol::('p',j)" for landmark j. |
Definition at line 330 of file SfmData.cpp.
void gtsam::writeG2o | ( | const NonlinearFactorGraph & | graph, |
const Values & | estimate, | ||
const std::string & | filename | ||
) |
This function writes a g2o file from NonlinearFactorGraph and a Values structure.
filename | The name of the g2o file to write |
graph | NonlinearFactor graph storing the measurements |
estimate | Values |
Note:behavior change in PR #471: to be consistent with load2D and load3D, we write the indices to file and not the full Keys. This change really only affects landmarks, which get read as indices but stored in values with the symbol L(index).
Definition at line 636 of file dataset.cpp.
void gtsam::zeroBelowDiagonal | ( | MATRIX & | A, |
size_t | cols = 0 |
||
) |
Zeros all of the elements below the diagonal of a matrix, in place
A | is a matrix, to be modified in place |
cols | is the number of columns to zero, use zero for all columns |
Definition at line 231 of file base/Matrix.h.
|
static |
Definition at line 30 of file Symbol.cpp.
Definition at line 32 of file Symbol.cpp.
template class GTSAM_EXPORT gtsam::Conditional< DecisionTreeFactor, DiscreteConditional > |
Definition at line 40 of file DiscreteConditional.cpp.
GTSAM_EXTERN_EXPORT FastMap< std::string, ValueWithDefault< bool, false > > gtsam::debugFlags |
GTSAM_EXPORT KeyFormatter gtsam::DefaultKeyFormatter = &_defaultKeyFormatter |
|
static |
Get the discrete keys from the HybridGaussianFactorGraph as DiscreteKeys.
Definition at line 350 of file HybridGaussianFactorGraph.cpp.
Definition at line 31 of file Symbol.cpp.
Definition at line 33 of file Symbol.cpp.
|
static |
Definition at line 27 of file ScenarioRunner.cpp.
|
static |
Definition at line 75 of file HybridGaussianFactorGraph.cpp.
Definition at line 29 of file Symbol.cpp.
gtsam.KeypointsVector = list |
Definition at line 37 of file python/gtsam/__init__.py.
|
static |
Definition at line 14 of file PoseRTV.cpp.
|
static |
Definition at line 21 of file DynamicsPriors.h.
|
static |
Definition at line 28 of file ScenarioRunner.cpp.
|
static |
Definition at line 20 of file DynamicsPriors.h.
|
static |
Definition at line 19 of file DynamicsPriors.h.
|
static |
Definition at line 23 of file DynamicsPriors.h.
|
static |
Definition at line 22 of file DynamicsPriors.h.
constant needed below
Definition at line 28 of file WhiteNoiseFactor.h.
gtsam.MatchIndicesMap = dict |
Definition at line 36 of file python/gtsam/__init__.py.
const size_t gtsam::max_it = 100000 |
Definition at line 15 of file SimPolygon2D.cpp.
|
static |
A KeyFormatter that will check for LabeledSymbol keys, as well as Symbol and plain integer keys. This keyformatter will need to be passed in to override the default formatter in print functions.
Checks for LabeledSymbol, Symbol and then plain keys, in order.
|
static |
Definition at line 29 of file base/cholesky.cpp.
|
static |
|
static |
|
static |
instantiate concept checks
gtsam.SfmCameras = list |
Definition at line 34 of file python/gtsam/__init__.py.
gtsam.SfmMeasurementVector = list |
Definition at line 35 of file python/gtsam/__init__.py.
gtsam.SfmTracks = list |
Definition at line 33 of file python/gtsam/__init__.py.
|
static |
Definition at line 32 of file base/cholesky.cpp.
|
static |
Definition at line 31 of file base/cholesky.cpp.
|
static |
|
static |
|
static |
Definition at line 30 of file base/cholesky.cpp.