Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
gtsam Namespace Reference

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
 

Classes

struct  _ValuesConstKeyValuePair
 
struct  _ValuesKeyValuePair
 
class  AcceleratedPowerMethod
 Compute maximum Eigenpair with accelerated power method. More...
 
class  AcceleratingScenario
 Accelerating from an arbitrary initial state, with optional rotation. More...
 
class  ActiveSetSolver
 
class  AdaptAutoDiff
 
struct  additive_group_tag
 
class  AHRS
 
class  AHRSFactor
 
class  AlgebraicDecisionTree
 
class  AllDiff
 
class  AntiFactor
 
class  Assignment
 
class  AttitudeFactor
 
class  BarometricFactor
 
class  Basis
 
class  BatchFixedLagSmoother
 
class  BayesNet
 
class  BayesTree
 
class  BayesTreeCliqueBase
 
struct  BayesTreeCliqueData
 
struct  BayesTreeCliqueStats
 
class  BayesTreeOrphanWrapper
 
class  BayesTreeOrphanWrapper< HybridBayesTreeClique >
 Class for Hybrid Bayes tree orphan subtrees. More...
 
struct  Bearing
 
struct  Bearing< Pose2, T >
 
struct  Bearing< Pose3, Point3 >
 
struct  Bearing< Pose3, Pose3 >
 
struct  BearingFactor
 
struct  BearingRange
 
class  BearingRangeFactor
 
class  BearingS2
 
class  BetweenConstraint
 
class  BetweenFactor
 
class  BetweenFactorEM
 
class  BiasedGPSFactor
 
class  BinaryAllDiff
 
struct  BinaryJacobianFactor
 
class  BinaryMeasurement
 
class  BinarySumExpression
 
class  BlockJacobiPreconditioner
 
struct  BlockJacobiPreconditionerParameters
 
struct  BoundingConstraint1
 
struct  BoundingConstraint2
 
class  BTree
 Binary tree. More...
 
class  Cal3
 Common base class for all calibration models. More...
 
class  Cal3_S2
 The most common 5DOF 3D->2D calibration. More...
 
class  Cal3_S2Stereo
 The most common 5DOF 3D->2D calibration, stereo version. More...
 
class  Cal3Bundler
 Calibration used by Bundler. More...
 
struct  Cal3Bundler0
 
class  Cal3DS2
 Calibration of a camera with radial distortion that also supports Lie-group behaviors for optimization. More...
 
class  Cal3DS2_Base
 Calibration of a camera with radial distortion. More...
 
class  Cal3Fisheye
 Calibration of a fisheye camera. More...
 
class  Cal3Unified
 Calibration of a omni-directional camera with mirror + lens radial distortion. More...
 
class  CalibratedCamera
 
class  CameraSet
 A set of cameras, all with their own calibration. More...
 
struct  CGState
 
struct  Chebyshev1Basis
 
class  Chebyshev2
 
struct  Chebyshev2Basis
 
class  CheiralityException
 
class  CholeskyFailed
 Indicate Cholesky factorization failure. More...
 
class  ClusterTree
 
class  CombinedImuFactor
 
class  CombinedScenarioRunner
 
class  ComponentDerivativeFactor
 
class  compose_key_visitor
 
class  ConcurrentBatchFilter
 
class  ConcurrentBatchSmoother
 
class  ConcurrentFilter
 
class  ConcurrentIncrementalFilter
 
class  ConcurrentIncrementalSmoother
 
class  ConcurrentMap
 
class  ConcurrentSmoother
 
class  Conditional
 
class  ConjugateGradientParameters
 
struct  const_selector
 
struct  const_selector< BASIC_TYPE, BASIC_TYPE, AS_NON_CONST, AS_CONST >
 
struct  const_selector< const BASIC_TYPE, BASIC_TYPE, AS_NON_CONST, AS_CONST >
 
class  ConstantTwistScenario
 
class  ConstantVelocityFactor
 
class  Constraint
 
struct  ConstructorTraversalData
 
class  CRefCallAddCopy
 
class  CRefCallPushBack
 
class  CSP
 
class  CustomFactor
 
class  Cyclic
 Cyclic group of order N. More...
 
class  DecisionTree
 
class  DecisionTreeFactor
 
class  DeltaFactor
 
class  DeltaFactorBase
 
struct  DeltaImpl
 
class  DerivativeFactor
 
struct  DGroundConstraint
 
struct  DHeightPrior
 
class  DirectProduct
 
class  DirectSum
 
class  DiscreteBayesNet
 
class  DiscreteBayesTree
 A Bayes tree representing a Discrete distribution. More...
 
class  DiscreteBayesTreeClique
 
class  DiscreteConditional
 
class  DiscreteDistribution
 
class  DiscreteEliminationTree
 Elimination tree for discrete factors. More...
 
class  DiscreteEulerPoincareHelicopter
 
class  DiscreteFactor
 
class  DiscreteFactorGraph
 
class  DiscreteJunctionTree
 
struct  DiscreteKeys
 DiscreteKeys is a set of keys that can be assembled using the & operator. More...
 
class  DiscreteLookupDAG
 
class  DiscreteLookupTable
 DiscreteLookupTable table for max-productInherits from discrete conditional for convenience, but is not normalized. Is used in the max-product algorithm. More...
 
class  DiscreteMarginals
 
class  DiscreteValues
 
class  DoglegOptimizer
 
struct  DoglegOptimizerImpl
 
class  DoglegParams
 
class  Domain
 
struct  DotWriter
 DotWriter is a helper class for writing graphviz .dot files. More...
 
struct  DRollPrior
 
class  DSF
 
class  DSFBase
 
class  DSFMap
 
class  DSFVector
 
struct  Dummy
 
class  DummyFactor
 
class  DummyPreconditioner
 
struct  DummyPreconditionerParameters
 
class  DynamicValuesMismatched
 
class  EliminatableClusterTree
 
class  EliminateableFactorGraph
 
struct  EliminationData
 
struct  EliminationTraits
 
struct  EliminationTraits< DiscreteFactorGraph >
 
struct  EliminationTraits< GaussianFactorGraph >
 
struct  EliminationTraits< HybridGaussianFactorGraph >
 
struct  EliminationTraits< SymbolicFactorGraph >
 
class  EliminationTree
 
class  EmptyCal
 
class  EqualityFactorGraph
 
struct  equals
 
struct  equals_star
 
struct  equalsVector
 
class  EquivInertialNavFactor_GlobalVel
 
class  EquivInertialNavFactor_GlobalVel_NoBias
 
class  EssentialMatrix
 
class  EssentialMatrixConstraint
 
class  EssentialMatrixFactor
 
class  EssentialMatrixFactor2
 
class  EssentialMatrixFactor3
 
class  EssentialMatrixFactor4
 
class  EvaluationFactor
 Factor for enforcing the scalar value of the polynomial BASIS representation at x is the same as the measurement z when using a pseudo-spectral parameterization. More...
 
class  Event
 
class  Expression
 
class  ExpressionFactor
 
class  ExpressionFactorGraph
 
class  ExpressionFactorN
 
class  ExtendedKalmanFilter
 
class  Factor
 
class  FactorGraph
 
class  FastList
 
class  FastMap
 
class  FastSet
 
class  FitBasis
 
struct  FixedDimension
 Give fixed size dimension of a type, fails at compile time if dynamic. More...
 
class  FixedLagSmoother
 
class  FixedLagSmootherKeyTimestampMap
 
class  FixedVector
 
class  FourierBasis
 Fourier basis. More...
 
class  FrobeniusBetweenFactor
 
class  FrobeniusFactor
 
class  FrobeniusPrior
 
class  FullIMUFactor
 
class  FunctorizedFactor
 
class  FunctorizedFactor2
 
class  G_x1
 
class  GaussianBayesNet
 
class  GaussianBayesTree
 
class  GaussianBayesTreeClique
 
class  GaussianConditional
 
class  GaussianDensity
 
class  GaussianEliminationTree
 
class  GaussianFactor
 
class  GaussianFactorGraph
 
class  GaussianFactorGraphSystem
 
class  GaussianISAM
 
class  GaussianJunctionTree
 
class  GaussianMixture
 A conditional of gaussian mixtures indexed by discrete variables, as part of a Bayes Network. This is the result of the elimination of a continuous variable in a hybrid scheme, such that the remaining variables are discrete+continuous. More...
 
class  GaussianMixtureFactor
 Implementation of a discrete conditional mixture factor. Implements a joint discrete-continuous factor where the discrete variable serves to "select" a mixture component corresponding to a GaussianFactor type of measurement. More...
 
class  GaussMarkov1stOrderFactor
 
class  GaussNewtonOptimizer
 
class  GaussNewtonParams
 
class  GeneralSFMFactor
 
class  GeneralSFMFactor2
 
class  GenericProjectionFactor
 
class  GenericStereoFactor
 
class  GenericValue
 
class  GncOptimizer
 
class  GncParams
 
class  GPSFactor
 
class  GPSFactor2
 
struct  GraphvizFormatting
 
struct  group_tag
 tag to assert a type is a group More...
 
struct  HasBearing
 
struct  HasRange
 
struct  HasTestablePrereqs
 Requirements on type to pass it to Testable template below. More...
 
class  HessianFactor
 A Gaussian factor using the canonical parameters (information form) More...
 
struct  HybridAssignmentData
 Helper class for Depth First Forest traversal on the HybridBayesTree. More...
 
class  HybridBayesNet
 
class  HybridBayesTree
 
class  HybridBayesTreeClique
 A clique in a HybridBayesTree which is a HybridConditional internally. More...
 
class  HybridConditional
 
struct  HybridConstructorTraversalData
 
class  HybridEliminationTree
 
class  HybridFactor
 
class  HybridFactorGraph
 
class  HybridGaussianFactorGraph
 
class  HybridGaussianISAM
 
class  HybridJunctionTree
 
class  HybridNonlinearFactorGraph
 
class  HybridNonlinearISAM
 
class  HybridSmoother
 
class  HybridValues
 
class  IMUFactor
 
class  ImuFactor
 
class  ImuFactor2
 
class  ImuMeasurement
 Contains data from the IMU mesaurements. More...
 
class  InconsistentEliminationRequested
 
class  IncrementalFixedLagSmoother
 
class  IndeterminantLinearSystemException
 
struct  index_sequence
 
class  IndexPair
 Small utility class for representing a wrappable pairs of ints. More...
 
class  InequalityFactorGraph
 
class  InertialNavFactor_GlobalVelocity
 
class  InfeasibleInitialValues
 
class  InfeasibleOrUnboundedProblem
 
struct  InitializePose3
 
class  InvalidArgumentThreadsafe
 Thread-safe invalid argument exception. More...
 
class  InvalidDenseElimination
 
class  InvalidMatrixBlock
 
class  InvalidNoiseModel
 
class  InvDepthCamera3
 
class  InvDepthFactor3
 
class  InvDepthFactorVariant1
 
class  InvDepthFactorVariant2
 
class  InvDepthFactorVariant3a
 
class  InvDepthFactorVariant3b
 
class  ISAM
 
class  ISAM2
 
class  ISAM2BayesTree
 
class  ISAM2Clique
 
struct  ISAM2DoglegParams
 
struct  ISAM2GaussNewtonParams
 
class  ISAM2JunctionTree
 
struct  ISAM2Params
 
struct  ISAM2Result
 
struct  ISAM2UpdateParams
 
class  IsGroup
 
class  IsLieGroup
 
class  IsTestable
 
class  IsVectorSpace
 Vector Space concept. More...
 
class  IterativeOptimizationParameters
 
class  IterativeSolver
 
class  JacobianFactor
 
class  JacobianFactorQ
 
class  JacobianFactorQR
 
class  JacobianFactorSVD
 
class  JointMarginal
 
class  JunctionTree
 
class  KalmanFilter
 
class  KarcherMeanFactor
 
class  key_formatter
 
class  KeyInfo
 
struct  KeyInfoEntry
 
class  LabeledSymbol
 
class  LevenbergMarquardtOptimizer
 
class  LevenbergMarquardtParams
 
struct  lie_group_tag
 tag to assert a type is a Lie group More...
 
struct  LieGroup
 
class  Line3
 
class  LinearContainerFactor
 
class  LinearCost
 
class  LinearEquality
 
class  LinearInequality
 
class  LinearizedGaussianFactor
 
class  LinearizedHessianFactor
 
class  LinearizedJacobianFactor
 
class  LocalOrientedPlane3Factor
 
struct  LP
 
class  LPInitSolver
 
struct  LPPolicy
 Policy for ActivetSetSolver to solve Linear Programming. More...
 
class  MagFactor
 
class  MagFactor1
 
class  MagFactor2
 
class  MagFactor3
 
class  MagPoseFactor
 
struct  make_index_sequence
 
struct  make_index_sequence< 0 >
 
struct  make_index_sequence< 1 >
 
struct  MakeJacobian
 : meta-function to generate Jacobian More...
 
struct  MakeOptionalJacobian
 : meta-function to generate JacobianTA optional reference Used mainly by Expressions More...
 
struct  manifold_tag
 tag to assert a type is a manifold More...
 
class  ManifoldEvaluationFactor
 
class  ManifoldPreintegration
 
class  MarginalizeNonleafException
 
class  Marginals
 
struct  MatrixProdFunctor
 
class  Measurement
 This is the base class for all measurement types. More...
 
class  Mechanization_bRn2
 
class  MetisIndex
 
class  MFAS
 
class  MixtureFactor
 Implementation of a discrete conditional mixture factor. More...
 
struct  multiplicative_group_tag
 Group operator syntax flavors. More...
 
struct  MultiplyWithInverse
 
struct  MultiplyWithInverseFunction
 
class  MultiProjectionFactor
 
class  NavState
 
struct  needs_eigen_aligned_allocator
 
struct  needs_eigen_aligned_allocator< T, void_t< typename T::_eigen_aligned_allocator_trait > >
 
class  NoiseModelFactor
 
class  NoiseModelFactorN
 
class  NoMatchFoundForFixed
 
class  NonlinearClusterTree
 
class  NonlinearConjugateGradientOptimizer
 
class  NonlinearEquality
 
class  NonlinearEquality1
 
class  NonlinearEquality2
 
class  NonlinearFactor
 
class  NonlinearFactorGraph
 
class  NonlinearISAM
 
class  NonlinearOptimizer
 
class  NonlinearOptimizerParams
 
class  OdometryFactorBase
 
class  OptionalJacobian
 
class  OptionalJacobian< Eigen::Dynamic, Eigen::Dynamic >
 
class  Ordering
 
class  ordering_key_visitor
 
class  OrientedPlane3
 Represents an infinite plane in 3D, which is composed of a planar normal and its perpendicular distance to the origin. Currently it provides a transform of the plane, and a norm 1 differencing of two planes. Refer to Trevor12iros for more math details. More...
 
class  OrientedPlane3DirectionPrior
 
class  OrientedPlane3Factor
 
class  OutOfRangeThreadsafe
 Thread-safe out of range exception. More...
 
struct  ParseFactor
 
struct  ParseMeasurement
 
struct  ParseMeasurement< BearingRange2D >
 
struct  ParseMeasurement< Pose2 >
 
struct  ParseMeasurement< Pose3 >
 
class  PartialPriorFactor
 
class  ParticleFactor
 
class  ParticleFilter
 
class  PCGSolver
 
struct  PCGSolverParameters
 
class  PendulumFactor1
 
class  PendulumFactor2
 
class  PendulumFactorPk
 
class  PendulumFactorPk1
 
class  PinholeBase
 
class  PinholeBaseK
 
class  PinholeCamera
 
class  PinholeFactor
 
class  PinholePose
 
class  PinholeSet
 
class  Pose2
 
class  Pose3
 
class  Pose3AttitudeFactor
 
class  Pose3Upright
 
class  PoseBetweenFactor
 
class  PoseConcept
 
class  PosePriorFactor
 
class  PoseRotationPrior
 
class  PoseRTV
 
class  PoseToPointFactor
 
class  PoseTranslationPrior
 
class  PowerMethod
 Compute maximum Eigenpair with power method. More...
 
class  Preconditioner
 
struct  PreconditionerParameters
 
class  PredecessorMap
 
class  PreintegratedAhrsMeasurements
 
class  PreintegratedCombinedMeasurements
 
class  PreintegratedImuMeasurements
 
class  PreintegratedRotation
 
struct  PreintegratedRotationParams
 
class  PreintegrationBase
 
struct  PreintegrationCombinedParams
 
struct  PreintegrationParams
 
class  PriorFactor
 
class  ProductLieGroup
 
class  ProjectionFactorPPP
 
class  ProjectionFactorPPPC
 
class  ProjectionFactorRollingShutter
 
struct  QP
 
class  QPInitSolver
 
struct  QPPolicy
 Policy for ActivetSetSolver to solve Linear Programming. More...
 
class  QPSParser
 
class  QPSParserException
 
class  QPSVisitor
 
struct  Range
 
struct  Range< CalibratedCamera, T >
 
struct  Range< PinholeCamera< Calibration >, T >
 
struct  Range< Point2, Point2 >
 
struct  Range< Point3, Point3 >
 
struct  Range< Pose2, T >
 
struct  Range< Pose3, T >
 
struct  Range< PoseRTV, PoseRTV >
 
struct  Range< Vector4, Vector4 >
 
class  RangeFactor
 
class  RangeFactorWithTransform
 
class  Reconstruction
 
struct  RedirectCout
 
class  RefCallPushBack
 
class  ReferenceFrameFactor
 
class  RegularHessianFactor
 
class  RegularImplicitSchurFactor
 
class  RegularJacobianFactor
 
class  RelativeElevationFactor
 
struct  Reshape
 Reshape functor. More...
 
struct  Reshape< M, M, InOptions, M, M, InOptions >
 Reshape specialization that does nothing as shape stays the same (needed to not be ambiguous for square input equals square output) More...
 
struct  Reshape< M, N, InOptions, M, N, InOptions >
 Reshape specialization that does nothing as shape stays the same. More...
 
struct  Reshape< N, M, InOptions, M, N, InOptions >
 Reshape specialization that does transpose. More...
 
class  Rot2
 
class  Rot3
 Rot3 is a 3D rotation represented as a rotation matrix if the preprocessor symbol GTSAM_USE_QUATERNIONS is not defined, or as a quaternion if it is defined. More...
 
class  Rot3AttitudeFactor
 
class  RotateDirectionsFactor
 
class  RotateFactor
 
class  RuntimeErrorThreadsafe
 Thread-safe runtime error exception. More...
 
class  Sampler
 
class  ScalarMultiplyExpression
 
class  Scatter
 
class  Scenario
 Simple trajectory simulator. More...
 
class  ScenarioRunner
 
class  Scheduler
 
class  SDGraph
 
struct  SfmData
 SfmData stores a bunch of SfmTracks. More...
 
struct  SfmTrack
 
struct  SfmTrack2d
 Track containing 2D measurements associated with a single 3D point. Note: Equivalent to gtsam.SfmTrack, but without the 3d measurement. This class holds data temporarily before 3D point is initialized. More...
 
class  SGraph
 
class  ShonanAveraging
 
class  ShonanAveraging2
 
class  ShonanAveraging3
 
struct  ShonanAveragingParameters
 Parameters governing optimization etc. More...
 
class  ShonanFactor
 
class  ShonanGaugeFactor
 
class  Signature
 
struct  SignatureParser
 A simple parser that replaces the boost spirit parser. More...
 
class  Similarity2
 
class  Similarity3
 
class  SimPolygon2D
 
class  SimWall2D
 
class  SingleValue
 
struct  SlotEntry
 One SlotEntry stores the slot index for a variable, as well its dim. More...
 
class  SmartFactorBase
 Base class for smart factors. This base class has no internal point, but it has a measurement, noise model and an optional sensor pose. This class mainly computes the derivatives and returns them as a variety of factors. The methods take a CameraSet<CAMERA> argument and the value of a point, which is kept in the derived class. More...
 
class  SmartProjectionFactor
 
struct  SmartProjectionParams
 
class  SmartProjectionPoseFactor
 
class  SmartProjectionPoseFactorRollingShutter
 
class  SmartProjectionRigFactor
 
class  SmartRangeFactor
 
class  SmartStereoProjectionFactor
 
class  SmartStereoProjectionFactorPP
 
class  SmartStereoProjectionPoseFactor
 
class  SO
 
class  SphericalCamera
 
class  StereoCamera
 
class  StereoCheiralityException
 
class  StereoFactor
 
class  StereoPoint2
 
struct  StreamedKey
 To use the key_formatter on Keys, they must be wrapped in a StreamedKey. More...
 
class  Subgraph
 
class  SubgraphBuilder
 
struct  SubgraphBuilderParameters
 
class  SubgraphPreconditioner
 
struct  SubgraphPreconditionerParameters
 
class  SubgraphSolver
 
struct  SubgraphSolverParameters
 
struct  Switching
 
class  Symbol
 
class  SymbolGenerator
 
class  SymbolicBayesNet
 
class  SymbolicBayesTree
 
class  SymbolicBayesTreeClique
 A clique in a SymbolicBayesTree. More...
 
class  SymbolicConditional
 
class  SymbolicEliminationTree
 
class  SymbolicFactor
 
class  SymbolicFactorGraph
 
class  SymbolicISAM
 
class  SymbolicJunctionTree
 
class  Symmetric
 Symmetric group. More...
 
class  SymmetricBlockMatrix
 
class  System
 
class  TableFactor
 
class  TangentPreintegration
 
class  TbbOpenMPMixedScope
 
struct  Testable
 
class  TestOptionalStruct
 
class  ThreadsafeException
 Base exception type that uses tbb_allocator if GTSAM is compiled with TBB. More...
 
class  TimeOfArrival
 Time of arrival to given sensor. More...
 
class  TOAFactor
 A "Time of Arrival" factor - so little code seems hardly worth it :-) More...
 
struct  traits
 
struct  traits< ADT >
 
struct  traits< AlgebraicDecisionTree< T > >
 
struct  traits< BearingFactor< A1, A2, T > >
 traits More...
 
struct  traits< BearingRange< A1, A2 > >
 
struct  traits< BearingRangeFactor< A1, A2, B, R > >
 traits More...
 
struct  traits< BearingS2 >
 traits More...
 
struct  traits< BetweenConstraint< VALUE > >
 traits More...
 
struct  traits< BetweenFactor< VALUE > >
 traits More...
 
struct  traits< BetweenFactorEM< VALUE > >
 traits More...
 
struct  traits< BinaryJacobianFactor< M, N1, N2 > >
 
struct  traits< Cal3_S2 >
 
struct  traits< Cal3_S2Stereo >
 
struct  traits< Cal3Bundler >
 
struct  traits< Cal3Bundler0 >
 
struct  traits< Cal3DS2 >
 
struct  traits< Cal3Fisheye >
 
struct  traits< Cal3Unified >
 
struct  traits< CalibratedCamera >
 
struct  traits< CallConfig >
 
struct  traits< CameraSet< CAMERA > >
 
struct  traits< Class >
 
struct  traits< CombinedImuFactor >
 
struct  traits< ConcurrentBatchFilter >
 traits More...
 
struct  traits< ConcurrentBatchSmoother >
 traits More...
 
struct  traits< ConcurrentIncrementalFilter >
 traits More...
 
struct  traits< ConcurrentIncrementalSmoother >
 traits More...
 
struct  traits< const Cal3_S2 >
 
struct  traits< const Cal3_S2Stereo >
 
struct  traits< const Cal3Bundler >
 
struct  traits< const Cal3DS2 >
 
struct  traits< const Cal3Fisheye >
 
struct  traits< const Cal3Unified >
 
struct  traits< const CalibratedCamera >
 
struct  traits< const CameraSet< CAMERA > >
 
struct  traits< const EssentialMatrix >
 
struct  traits< const Line3 >
 
struct  traits< const OrientedPlane3 >
 
struct  traits< const PinholeCamera< Calibration > >
 
struct  traits< const PinholePose< CALIBRATION > >
 
struct  traits< const PinholeSet< CAMERA > >
 
struct  traits< const Pose2 >
 
struct  traits< const Pose3 >
 
struct  traits< const Rot2 >
 
struct  traits< const Rot3 >
 
struct  traits< const Similarity2 >
 
struct  traits< const Similarity3 >
 
struct  traits< const SO3 >
 
struct  traits< const SO4 >
 
struct  traits< const SO< N > >
 
struct  traits< const SphericalCamera >
 
struct  traits< const StereoCamera >
 
struct  traits< const StereoPoint2 >
 
struct  traits< const Unit3 >
 
struct  traits< CrazyDecisionTree >
 
struct  traits< Cyclic< N > >
 Define cyclic group to be a model of the Additive Group concept. More...
 
struct  traits< DecisionTree< L, Y > >
 
struct  traits< DecisionTreeFactor >
 
struct  traits< Dih6 >
 
struct  traits< DirectProduct< G, H > >
 
struct  traits< DirectSum< G, H > >
 
struct  traits< DiscreteBayesNet >
 
struct  traits< DiscreteConditional >
 
struct  traits< DiscreteDistribution >
 
struct  traits< DiscreteFactor >
 
struct  traits< DiscreteFactorGraph >
 traits More...
 
struct  traits< DiscreteKeys >
 
struct  traits< DiscreteLookupDAG >
 
struct  traits< DiscreteValues >
 
struct  traits< double >
 double More...
 
struct  traits< DT >
 
struct  traits< Eigen::Matrix< double, -1, -1, Options, MaxRows, MaxCols > >
 
struct  traits< Eigen::Matrix< double, -1, 1, Options, MaxRows, MaxCols > >
 
struct  traits< Eigen::Matrix< double, 1, -1, Options, MaxRows, MaxCols > >
 
struct  traits< Eigen::Matrix< double, M, N, Options, MaxRows, MaxCols > >
 
struct  traits< EqualityFactorGraph >
 traits More...
 
struct  traits< Errors >
 traits More...
 
struct  traits< EssentialMatrix >
 
struct  traits< Event >
 
struct  traits< ExpressionFactor< T > >
 traits More...
 
struct  traits< ExpressionFactorN< T, Args... > >
 traits More...
 
struct  traits< float >
 float More...
 
struct  traits< FunctorizedFactor2< R, T1, T2 > >
 traits More...
 
struct  traits< FunctorizedFactor< R, T > >
 traits More...
 
struct  traits< GaussianBayesNet >
 traits More...
 
struct  traits< GaussianBayesTree >
 traits More...
 
struct  traits< GaussianConditional >
 traits More...
 
struct  traits< GaussianFactor >
 traits More...
 
struct  traits< GaussianFactorGraph >
 traits More...
 
struct  traits< GaussianISAM >
 traits More...
 
struct  traits< GaussianMixture >
 
struct  traits< GaussianMixtureFactor >
 
struct  traits< GaussMarkov1stOrderFactor< VALUE > >
 traits More...
 
struct  traits< GeneralSFMFactor2< CALIBRATION > >
 
struct  traits< GeneralSFMFactor< CAMERA, LANDMARK > >
 
struct  traits< GenericProjectionFactor< POSE, LANDMARK, CALIBRATION > >
 traits More...
 
struct  traits< GenericStereoFactor< T1, T2 > >
 traits More...
 
struct  traits< GenericValue< ValueType > >
 
struct  traits< HessianFactor >
 traits More...
 
struct  traits< HybridBayesNet >
 traits More...
 
struct  traits< HybridBayesTree >
 traits More...
 
struct  traits< HybridConditional >
 
struct  traits< HybridFactor >
 
struct  traits< HybridGaussianISAM >
 traits More...
 
struct  traits< HybridNonlinearFactorGraph >
 
struct  traits< HybridValues >
 
struct  traits< imuBias::ConstantBias >
 
struct  traits< ImuFactor >
 
struct  traits< ImuFactor2 >
 
struct  traits< InequalityFactorGraph >
 traits More...
 
struct  traits< InertialNavFactor_GlobalVelocity< POSE, VELOCITY, IMUBIAS > >
 traits More...
 
struct  traits< ISAM2 >
 traits More...
 
struct  traits< JacobianFactor >
 traits More...
 
struct  traits< JacobianFactorQ< D, ZDim > >
 
struct  traits< K4 >
 Define K4 to be a model of the Additive Group concept, and provide Testable. More...
 
struct  traits< Key >
 
struct  traits< LabeledSymbol >
 traits More...
 
struct  traits< Line3 >
 
struct  traits< LinearContainerFactor >
 
struct  traits< LinearCost >
 traits More...
 
struct  traits< LinearEquality >
 traits More...
 
struct  traits< LinearInequality >
 traits More...
 
struct  traits< LinearizedHessianFactor >
 traits More...
 
struct  traits< LinearizedJacobianFactor >
 traits More...
 
struct  traits< LP >
 traits More...
 
struct  traits< MyType >
 
struct  traits< NavState >
 
struct  traits< noiseModel::Constrained >
 
struct  traits< noiseModel::Diagonal >
 
struct  traits< noiseModel::Gaussian >
 traits More...
 
struct  traits< noiseModel::Isotropic >
 
struct  traits< noiseModel::Unit >
 
struct  traits< NonlinearEquality1< VALUE > >
 
struct  traits< NonlinearEquality2< VALUE > >
 
struct  traits< NonlinearEquality< VALUE > >
 
struct  traits< NonlinearFactor >
 traits More...
 
struct  traits< NonlinearFactorGraph >
 traits More...
 
struct  traits< Ordering >
 traits More...
 
struct  traits< OrientedPlane3 >
 
struct  traits< PinholeCamera< Calibration > >
 
struct  traits< PinholeFactor >
 traits More...
 
struct  traits< PinholePose< CALIBRATION > >
 
struct  traits< PinholeSet< CAMERA > >
 
struct  traits< Pose2 >
 
struct  traits< Pose3 >
 
struct  traits< Pose3AttitudeFactor >
 traits More...
 
struct  traits< Pose3Upright >
 
struct  traits< PoseRTV >
 
struct  traits< PreintegratedCombinedMeasurements >
 
struct  traits< PreintegratedImuMeasurements >
 
struct  traits< PreintegratedRotation >
 
struct  traits< PreintegrationCombinedParams >
 
struct  traits< PriorFactor< VALUE > >
 traits More...
 
struct  traits< Product >
 
struct  traits< ProductLieGroup< G, H > >
 
struct  traits< ProjectionFactorPPP< POSE, LANDMARK, CALIBRATION > >
 traits More...
 
struct  traits< ProjectionFactorPPPC< POSE, LANDMARK, CALIBRATION > >
 traits More...
 
struct  traits< ProjectionFactorRollingShutter >
 traits More...
 
struct  traits< QUATERNION_TYPE >
 
struct  traits< RangeFactor< A1, A2, T > >
 traits More...
 
struct  traits< RangeFactorWithTransform< A1, A2, T > >
 traits More...
 
struct  traits< ReferenceFrameFactor< T1, T2 > >
 traits More...
 
struct  traits< RegularHessianFactor< D > >
 
struct  traits< RegularImplicitSchurFactor< CAMERA > >
 
struct  traits< Rot2 >
 
struct  traits< Rot3 >
 
struct  traits< Rot3AttitudeFactor >
 traits More...
 
struct  traits< SfmData >
 traits More...
 
struct  traits< SfmTrack >
 
struct  traits< Similarity2 >
 
struct  traits< Similarity3 >
 
struct  traits< simulated2D::GenericMeasurement< POSE, LANDMARK > >
 
struct  traits< simulated2D::Values >
 
struct  traits< SimWall2D >
 traits More...
 
struct  traits< SmartProjectionFactor< CAMERA > >
 traits More...
 
struct  traits< SmartProjectionPoseFactor< CALIBRATION > >
 traits More...
 
struct  traits< SmartProjectionPoseFactorRollingShutter< CAMERA > >
 traits More...
 
struct  traits< SmartProjectionRigFactor< CAMERA > >
 traits More...
 
struct  traits< SmartStereoProjectionFactor >
 traits More...
 
struct  traits< SmartStereoProjectionFactorPP >
 traits More...
 
struct  traits< SmartStereoProjectionPoseFactor >
 traits More...
 
struct  traits< SO3 >
 
struct  traits< SO4 >
 
struct  traits< SO< N > >
 
struct  traits< SphericalCamera >
 
struct  traits< StereoCamera >
 
struct  traits< StereoFactor >
 traits More...
 
struct  traits< StereoPoint2 >
 
struct  traits< Symbol >
 traits More...
 
struct  traits< SymbolicBayesNet >
 traits More...
 
struct  traits< SymbolicBayesTree >
 
struct  traits< SymbolicBayesTreeClique >
 traits More...
 
struct  traits< SymbolicConditional >
 traits More...
 
struct  traits< SymbolicEliminationTree >
 traits More...
 
struct  traits< SymbolicFactor >
 traits More...
 
struct  traits< SymbolicFactorGraph >
 traits More...
 
struct  traits< Symmetric< N > >
 Define permutation group traits to be a model of the Multiplicative Group concept. More...
 
struct  traits< TableFactor >
 
struct  traits< TestOptionalStruct >
 
struct  traits< TestPartialPriorFactor2 >
 
struct  traits< TestPartialPriorFactor3 >
 
struct  traits< TestPoseBetweenFactor >
 
struct  traits< TestPosePriorFactor >
 
struct  traits< TestProjectionFactor >
 
struct  traits< TestValue >
 
struct  traits< TransformBtwRobotsUnaryFactor< VALUE > >
 traits More...
 
struct  traits< TransformBtwRobotsUnaryFactorEM< VALUE > >
 traits More...
 
struct  traits< Unit3 >
 
struct  traits< Values >
 traits More...
 
struct  traits< VariableIndex >
 traits More...
 
struct  traits< VariableSlots >
 traits More...
 
struct  traits< VectorValues >
 traits More...
 
class  TransformBtwRobotsUnaryFactor
 
class  TransformBtwRobotsUnaryFactorEM
 
class  TransformCovariance
 
class  TranslationFactor
 
class  TranslationRecovery
 
class  TriangulationCheiralityException
 Exception thrown by triangulateDLT when landmark is behind one or more of the cameras. More...
 
class  TriangulationFactor
 
struct  TriangulationParameters
 
class  TriangulationResult
 
class  TriangulationUnderconstrainedException
 Exception thrown by triangulateDLT when SVD returns rank < 3. More...
 
class  Unit3
 Represents a 3D point on a unit sphere. More...
 
struct  UpdateImpl
 
class  Value
 
class  ValueCloneAllocator
 
class  Values
 
struct  ValuesCastHelper
 
struct  ValuesCastHelper< const Value, CastedKeyValuePairType, KeyValuePairType >
 
struct  ValuesCastHelper< Value, CastedKeyValuePairType, KeyValuePairType >
 
class  ValuesIncorrectType
 
class  ValuesKeyAlreadyExists
 
class  ValuesKeyDoesNotExist
 
struct  ValueWithDefault
 
class  VariableIndex
 
class  VariableSlots
 
struct  vector_space_tag
 tag to assert a type is a vector space More...
 
class  VectorComponentFactor
 
class  VectorDerivativeFactor
 
class  VectorEvaluationFactor
 
class  VectorValues
 
class  VelocityConstraint
 
class  VelocityConstraint3
 
struct  VelocityPrior
 
class  VerticalBlockMatrix
 
struct  Visit
 
struct  VisitLeaf
 
struct  VisitWith
 
class  WeightedSampler
 
class  WhiteNoiseFactor
 Binary factor to estimate parameters of zero-mean Gaussian white noise. More...
 

Typedefs

typedef qi::grammar< boost::spirit::basic_istream_iterator< char > > base_grammar
 
using BearingRange2D = BearingRange< Pose2, Point2 >
 
using BetweenFactorPose2s = list
 
using BetweenFactorPose3s = list
 
using BinaryMeasurementsPoint3 = list
 
using BinaryMeasurementsRot3 = list
 
using BinaryMeasurementsUnit3 = list
 
typedef Expression< Cal3_S2Cal3_S2_
 
typedef Expression< Cal3BundlerCal3Bundler_
 
typedef PinholeCamera< Cal3Bundler0Camera
 
using CameraSetCal3_S2 = CameraSet< PinholeCamera< Cal3_S2 > >
 
using CameraSetCal3Bundler = CameraSet< PinholeCamera< Cal3Bundler > >
 
using CameraSetCal3DS2 = CameraSet< PinholeCamera< Cal3DS2 > >
 
using CameraSetCal3Fisheye = CameraSet< PinholeCamera< Cal3Fisheye > >
 
using CameraSetCal3Unified = CameraSet< PinholeCamera< Cal3Unified > >
 
using CameraSetSpherical = CameraSet< SphericalCamera >
 
typedef ConcurrentBatchFilter::Result ConcurrentBatchFilterResult
 Typedef for Matlab wrapping. More...
 
typedef ConcurrentBatchSmoother::Result ConcurrentBatchSmootherResult
 Typedef for Matlab wrapping. More...
 
typedef ConcurrentIncrementalFilter::Result ConcurrentIncrementalFilterResult
 Typedef for Matlab wrapping. More...
 
typedef ConcurrentIncrementalSmoother::Result ConcurrentIncrementalSmootherResult
 Typedef for Matlab wrapping. More...
 
typedef Eigen::Block< const MatrixConstSubMatrix
 
typedef Eigen::VectorBlock< const VectorConstSubVector
 
using CustomErrorFunction = std::function< Vector(const CustomFactor &, const Values &, const JacobianVector *)>
 
typedef ptrdiff_t DenseIndex
 The index type for Eigen objects. More...
 
typedef DirectProduct< S2, S3Dih6
 
using Dims = std::vector< Eigen::Index >
 
using DiscreteKey = std::pair< Key, size_t >
 
using Domains = std::map< Key, Domain >
 
typedef Expression< double > Double_
 
typedef DSF< intDSFInt
 
typedef DSFMap< IndexPairDSFMapIndexPair
 
using DynamicJacobian = OptionalJacobian< Eigen::Dynamic, Eigen::Dynamic >
 
template<bool B, class T = void>
using enable_if_t = 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. More...
 
using Errors = FastList< Vector >
 Errors is a vector of errors. More...
 
typedef std::uint64_t FactorIndex
 Integer nonlinear factor index type. More...
 
typedef FastSet< FactorIndexFactorIndexSet
 
typedef FastVector< FactorIndexFactorIndices
 Define collection types: More...
 
template<typename T >
using FastVector = std::vector< T, typename internal::FastDefaultVectorAllocator< T >::type >
 
typedef FixedLagSmoother::KeyTimestampMap FixedLagSmootherKeyTimestampMap
 Typedef for matlab wrapping. More...
 
typedef FixedLagSmootherKeyTimestampMap::value_type FixedLagSmootherKeyTimestampMapValue
 
typedef FixedLagSmoother::Result FixedLagSmootherResult
 
using GaussianFactorGraphTree = DecisionTree< Key, GaussianFactorGraph >
 Alias for DecisionTree of GaussianFactorGraphs. More...
 
using GraphAndValues = std::pair< NonlinearFactorGraph::shared_ptr, Values::shared_ptr >
 
template<class... T>
using index_sequence_for = make_index_sequence< sizeof...(T)>
 
typedef std::pair< std::pair< size_t, size_t >, Pose2IndexedEdge
 
typedef std::pair< size_t, Point2IndexedLandmark
 
typedef std::pair< size_t, Pose2IndexedPose
 Return type for auxiliary functions. More...
 
typedef std::set< IndexPairIndexPairSet
 
typedef std::map< IndexPair, IndexPairSetIndexPairSetMap = dict
 
typedef std::vector< IndexPairIndexPairVector = list
 
typedef FastMap< char, VectorISAM2ThresholdMap
 
typedef ISAM2ThresholdMap::value_type ISAM2ThresholdMapValue
 
using JacobianVector = std::vector< Matrix >
 
typedef std::uint64_t Key
 Integer nonlinear key type. More...
 
using KeyDimMap = std::map< Key, size_t >
 Mapping between variable's key and its corresponding dimensionality. More...
 
using KeyFormatter = std::function< std::string(Key)>
 Typedef for a function to format a key, i.e. to convert it to a string. More...
 
using KeyGroupMap = FastMap< Key, int >
 
using KeyList = FastList< Key >
 
typedef std::map< std::pair< Key, Key >, double > KeyPairDoubleMap = dict
 
typedef std::map< Key, Rot3KeyRotMap
 
using KeySet = FastSet< Key >
 
using KeyVector = list
 Define collection type once and for all - also used in wrappers. More...
 
typedef std::map< Key, std::vector< size_t > > KeyVectorMap
 
typedef Expression< Line3Line3_
 
using LPSolver = ActiveSetSolver< LP, LPPolicy, LPInitSolver >
 
typedef Eigen::MatrixXd Matrix
 
typedef Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajorMatrixRowMajor
 
using MotionModel = BetweenFactor< double >
 
typedef Expression< NavStateNavState_
 
using OptionalMatrixType = Matrix *
 
using OptionalMatrixVecType = std::vector< Matrix > *
 
typedef Expression< OrientedPlane3OrientedPlane3_
 
using OrphanWrapper = BayesTreeOrphanWrapper< HybridBayesTree::Clique >
 
using Pairs = std::vector< std::pair< Eigen::Index, Matrix > >
 
template<typename T >
using Parser = std::function< std::optional< T >(std::istream &is, const std::string &tag)>
 
using PinholeCameraCal3_S2 = gtsam::PinholeCamera< gtsam::Cal3_S2 >
 
using PinholeCameraCal3Bundler = gtsam::PinholeCamera< gtsam::Cal3Bundler >
 
using PinholeCameraCal3DS2 = gtsam::PinholeCamera< gtsam::Cal3DS2 >
 
using PinholeCameraCal3Fisheye = gtsam::PinholeCamera< gtsam::Cal3Fisheye >
 
using PinholeCameraCal3Unified = gtsam::PinholeCamera< gtsam::Cal3Unified >
 
typedef Vector2 Point2
 
typedef Expression< Point2Point2_
 
using Point2Pair = std::pair< Point2, Point2 >
 
using Point2Pairs = list
 
typedef std::vector< Point2, Eigen::aligned_allocator< Point2 > > Point2Vector = list
 
typedef Vector3 Point3
 
typedef Expression< Point3Point3_
 
using Point3Pair = std::pair< Point3, Point3 >
 
using Point3Pairs = list
 
typedef std::vector< Point3, Eigen::aligned_allocator< Point3 > > Point3Vector
 
typedef Expression< Pose2Pose2_
 
using Pose2Pair = std::pair< Pose2, Pose2 >
 
using Pose2Pairs = list
 
typedef Expression< Pose3Pose3_
 
using Pose3Pair = std::pair< Pose3, Pose3 >
 
using Pose3Pairs = list
 
typedef std::vector< Pose3Pose3Vector = list
 
typedef ManifoldPreintegration PreintegrationType
 
using QPSolver = ActiveSetSolver< QP, QPPolicy, QPInitSolver >
 
typedef Eigen::Quaternion< double, Eigen::DontAlignQuaternion
 
typedef Expression< Rot2Rot2_
 
typedef Expression< Rot3Rot3_
 
using Rot3Vector = list
 std::vector of Rot3s, used in Matlab wrapper More...
 
using Row = std::vector< double >
 
typedef Eigen::RowVectorXd RowVector
 
using Sample = std::pair< double, double >
 A sample is a key-value pair from a sequence. More...
 
using Sequence = std::map< double, double >
 Our sequence representation is a map of {x: y} values where y = f(x) More...
 
typedef PinholeCamera< Cal3BundlerSfmCamera
 Define the structure for the camera poses. More...
 
typedef std::pair< size_t, Point2SfmMeasurement
 A measurement with its camera index. More...
 
using SfmTrack2dVector = list
 
typedef noiseModel::Constrained::shared_ptr SharedConstrained
 
typedef noiseModel::Diagonal::shared_ptr SharedDiagonal
 
using SharedFactor = std::shared_ptr< Factor >
 
typedef noiseModel::Gaussian::shared_ptr SharedGaussian
 
typedef noiseModel::Isotropic::shared_ptr SharedIsotropic
 
typedef noiseModel::Base::shared_ptr SharedNoiseModel
 
using ShonanAveragingParameters2 = ShonanAveragingParameters< 2 >
 
using ShonanAveragingParameters3 = ShonanAveragingParameters< 3 >
 
using ShonanFactor2 = ShonanFactor< 2 >
 
using ShonanFactor3 = ShonanFactor< 3 >
 
typedef std::pair< size_t, size_tSiftIndex
 Sift index for SfmTrack. More...
 
typedef std::vector< SimPolygon2DSimPolygon2DVector
 
typedef std::vector< SimWall2DSimWall2DVector
 
typedef SmartProjectionParams SmartStereoProjectionParams
 
using SO3 = SO< 3 >
 
using SO4 = SO< 4 >
 
using SOn = SO< Eigen::Dynamic >
 
using Sparse = Eigen::SparseMatrix< double >
 
typedef Eigen::SparseMatrix< double, Eigen::ColMajor, intSparseEigen
 
using SparseTriplets = std::vector< std::tuple< int, int, double > >
 
typedef internal::DoglegState State
 
typedef std::vector< StereoPoint2StereoPoint2Vector
 
typedef Eigen::Block< MatrixSubMatrix
 
typedef Eigen::VectorBlock< VectorSubVector
 
typedef NonlinearOptimizerParams SuccessiveLinearizationParams
 
using Table = std::vector< Row >
 
typedef Expression< Unit3Unit3_
 
typedef Eigen::VectorXd Vector
 
typedef Eigen::Matrix< double, 1, 1 > Vector1
 
typedef Expression< Vector1Vector1_
 
typedef Eigen::Vector2d Vector2
 
typedef Expression< Vector2Vector2_
 
typedef Eigen::Vector3d Vector3
 
typedef Expression< Vector3Vector3_
 
typedef Expression< Vector4 > Vector4_
 
typedef Expression< Vector5 > Vector5_
 
typedef Expression< Vector6 > Vector6_
 
typedef Expression< Vector7 > Vector7_
 
typedef Expression< Vector8 > Vector8_
 
typedef Expression< Vector9 > Vector9_
 
typedef Vector3 Velocity3
 Velocity is currently typedef'd to Vector3. More...
 
typedef Expression< Velocity3Velocity3_
 
template<typename ... >
using void_t = void
 Convenience void_t as we assume C++11, it will not conflict the std one in C++17 as this is in gtsam:: More...
 
using Weights = Eigen::Matrix< double, 1, -1 >
 

Enumerations

enum  DegeneracyMode { IGNORE_DEGENERACY, ZERO_ON_DEGENERACY, HANDLE_INFINITY }
 How to manage degeneracy. More...
 
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 GaussianFactorGraphTree addGaussian (const GaussianFactorGraphTree &gfgTree, const GaussianFactor::shared_ptr &factor)
 
std::unique_ptr< internal::ExecutionTraceStorage[]> allocAligned (size_t size)
 
template<typename L , typename Y >
DecisionTree< L, Yapply (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, Yapply (const DecisionTree< L, Y > &f, const typename DecisionTree< L, Y >::UnaryAssignment &op)
 Apply unary operator op with Assignment to DecisionTree f. More...
 
template<typename L , typename Y >
DecisionTree< L, Yapply (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<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 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::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 Key &expected, const Key &actual, double tol=0.0)
 
bool assert_equal (const Matrix &expected, const Matrix &actual, double tol)
 
template<class V >
bool assert_equal (const std::optional< V > &expected, const std::optional< V > &actual, double tol=1e-9)
 
template<class V >
bool assert_equal (const V &expected, const std::optional< V > &actual, double tol=1e-9)
 
bool assert_equal (const std::list< Matrix > &As, const std::list< Matrix > &Bs, 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 V &actual, double tol=1e-9)
 
bool assert_equal (const Vector &expected, const Vector &actual, double tol)
 
bool assert_equal (const SubVector &expected, const SubVector &actual, double tol)
 
bool assert_equal (const ConstSubVector &expected, const ConstSubVector &actual, double tol)
 
bool assert_equal (const std::string &expected, const std::string &actual)
 
bool assert_inequal (const Matrix &A, const Matrix &B, double tol)
 
bool assert_inequal (const Vector &expected, const Vector &actual, double tol)
 
template<class V >
bool assert_inequal (const V &expected, const V &actual, double tol=1e-9)
 
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< Tbetween (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 Ordering &ordering, const map< Key, size_t > &dimensions)
 Create VectorValues from a Vector. More...
 
VectorValues buildVectorValues (const Vector &v, const KeyInfo &keyInfo)
 Create VectorValues from a Vector and a KeyInfo class. 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)
 
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)
 
bool checkConvergence (double relativeErrorTreshold, double absoluteErrorTreshold, double errorThreshold, double currentError, double newError, NonlinearOptimizerParams::Verbosity verbosity)
 
GTSAM_EXPORT bool checkConvergence (const NonlinearOptimizerParams &params, double currentError, double newError)
 
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< Point2circleCircleIntersection (double R_d, double r_d, double tol)
 
list< Point2circleCircleIntersection (Point2 c1, Point2 c2, std::optional< Point2 > fh)
 
list< Point2circleCircleIntersection (Point2 c1, double r1, Point2 c2, double r2, double tol=1e-9)
 Intersect 2 circles. More...
 
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< Tcompose (const Expression< T > &t1, const Expression< T > &t2)
 
template<class G , class Factor , class POSE , class KEY >
std::shared_ptr< ValuescomposePoses (const G &graph, const PredecessorMap< KEY > &tree, const POSE &rootPose)
 
Vector concatVectors (const std::list< Vector > &vs)
 
Vector concatVectors (size_t nrVectors,...)
 
Vector conjugateGradientDescent (const System &Ab, const Vector &x, const ConjugateGradientParameters &parameters)
 
Vector conjugateGradientDescent (const Matrix &A, const Vector &b, const Vector &x, const ConjugateGradientParameters &parameters)
 
VectorValues conjugateGradientDescent (const GaussianFactorGraph &fg, const VectorValues &x, const ConjugateGradientParameters &parameters)
 
template<class S , class V , class E >
V conjugateGradients (const S &Ab, V x, const ConjugateGradientParameters &parameters, 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< Rot2convert (const BinaryMeasurement< Pose2 > &p)
 
static BinaryMeasurement< Rot3convert (const BinaryMeasurement< Pose3 > &p)
 
static BinaryMeasurement< Rot3convert (const BetweenFactor< Pose3 >::shared_ptr &f)
 
SharedNoiseModel ConvertNoiseModel (const SharedNoiseModel &model, size_t d, bool defaultToUnit)
 
static BinaryMeasurement< Rot2convertPose2ToBinaryMeasurementRot2 (const BetweenFactor< Pose2 >::shared_ptr &f)
 
static GaussianFactorGraph convertToJacobianFactors (const GaussianFactorGraph &gfg)
 
Errors createErrors (const VectorValues &V)
 Break V into pieces according to its start indices. More...
 
static SharedNoiseModel createNoiseModel (const Vector6 &v, bool smart, NoiseFormat noiseFormat, KernelFunctionType kernelFunctionType)
 
template<class CALIBRATION >
Cal3_S2 createPinholeCalibration (const CALIBRATION &cal)
 
std::shared_ptr< PreconditionercreatePreconditioner (const std::shared_ptr< PreconditionerParameters > params)
 
GTSAM_EXPORT std::string createRewrittenFileName (const std::string &name)
 
std::shared_ptr< SamplercreateSampler (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)
 
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)
 
std::set< DiscreteKeyDiscreteKeysAsSet (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, VectorDLT (const Matrix &A, double rank_tol)
 
Double_ dot (const Point3_ &a, const Point3_ &b)
 
double dot (const Point3 &p, const Point3 &q, OptionalJacobian< 1, 3 > H_p={}, OptionalJacobian< 1, 3 > H_q={})
 dot product More...
 
double dot (const Errors &a, const Errors &b)
 Dot product. More...
 
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_ptrEliminateDiscrete (const DiscreteFactorGraph &factors, const Ordering &keys)
 Main elimination function for DiscreteFactorGraph. More...
 
std::pair< DiscreteConditional::shared_ptr, DecisionTreeFactor::shared_ptrEliminateForMPE (const DiscreteFactorGraph &factors, const Ordering &frontalKeys)
 
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_ptrEliminateQR (const GaussianFactorGraph &factors, const Ordering &keys)
 
std::pair< std::shared_ptr< SymbolicConditional >, std::shared_ptr< SymbolicFactor > > EliminateSymbolic (const SymbolicFactorGraph &factors, const Ordering &keys)
 
template<class T >
bool equal (const T &obj1, const T &obj2, double tol)
 
template<class T >
bool equal (const T &obj1, const T &obj2)
 
bool equal (const Vector &vec1, const Vector &vec2, double tol)
 
bool equal (const Vector &vec1, const Vector &vec2)
 
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 Vector &vec1, const Vector &vec2, double tol)
 
bool equal_with_abs_tol (const SubVector &vec1, const SubVector &vec2, double tol)
 
bool equality (const Errors &actual, const Errors &expected, double tol)
 
template<class T >
T expm (const Vector &x, int K=7)
 
Matrix expm (const Matrix &A, size_t K)
 
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)
 
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< TgenericValue (const T &v)
 
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 Rot3 &R, double tx, double ty, double tz)
 This function converts a GTSAM camera pose to an openGL camera pose. More...
 
Pose3 gtsam2openGL (const Pose3 &PoseGTSAM)
 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)
 
pair< double, Vectorhouse (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...
 
static std::pair< HybridConditional::shared_ptr, std::shared_ptr< Factor > > hybridElimination (const HybridGaussianFactorGraph &factors, const Ordering &frontalKeys, const KeyVector &continuousSeparator, const std::set< DiscreteKey > &discreteSeparatorSet)
 
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 > &parameters)
 
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< TlinearExpression (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, TMakeFunctorizedFactor (Key key, const R &z, const SharedNoiseModel &model, const FUNC func)
 
template<typename T1 , typename T2 , typename R , typename FUNC >
FunctorizedFactor2< R, T1, T2MakeFunctorizedFactor2 (Key key1, Key key2, const R &z, const SharedNoiseModel &model, const FUNC func)
 
HybridGaussianFactorGraph::shared_ptr makeSwitchingChain (size_t n, std::function< Key(int)> keyFunc=X, std::function< Key(int)> dKeyFunc=M)
 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::IOFormatmatlabFormat ()
 
template<class PROBLEM >
Key maxKey (const PROBLEM &problem)
 
template<class CONTAINER >
Point3 mean (const CONTAINER &points)
 mean More...
 
Point3Pair means (const std::vector< Point3Pair > &abPointPairs)
 Calculate the two means of a set of Point3 pairs. More...
 
Point2Pair means (const std::vector< Point2Pair > &abPointPairs)
 Calculate the two means of a set of Point2 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)
 
unsigned char mrsymbolChr (Key key)
 
size_t mrsymbolIndex (Key key)
 
unsigned char mrsymbolLabel (Key key)
 
template<class S , class V >
std::tuple< V, intnonlinearConjugateGradient (const S &system, const V &initial, const NonlinearOptimizerParams &params, const bool singleIteration, 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 (std::function< double(const X &)> f, const X &x, double delta=1e-5)
 
template<class X >
internal::FixedSizeMatrix< X, X >::type numericalHessian (double(*f)(const X &), const X &x, 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, 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, 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< 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< 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 >
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 , 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, 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, 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, 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, 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< 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< 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, 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, 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< 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< 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)
 
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)
 
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 ()
 
DiscreteKeys operator & (const DiscreteKey &key1, const DiscreteKey &key2)
 Create a list from two keys. More...
 
GTSAM_EXPORT DiscreteKeys operator & (const DiscreteKey &key1, const DiscreteKey &key2)
 Create a list from two keys. More...
 
bool operator!= (const Matrix &A, const Matrix &B)
 
Signature operator% (const DiscreteKey &key, const string &parent)
 
Signature operator% (const DiscreteKey &key, const Signature::Table &parent)
 
GTSAM_EXPORT Signature operator% (const DiscreteKey &key, const std::string &parent)
 
Point2 operator* (double s, const Point2 &p)
 multiply with scalar More...
 
template<typename T >
ScalarMultiplyExpression< Toperator* (double s, const Expression< T > &e)
 
template<typename T >
Expression< Toperator* (const Expression< T > &expression1, const Expression< T > &expression2)
 Construct a product expression, assumes T::compose(T) -> T. More...
 
VectorValues operator* (const double a, const VectorValues &c)
 
Errors operator+ (const Errors &a, const Errors &b)
 Addition. More...
 
template<typename T >
BinarySumExpression< Toperator+ (const Expression< T > &e1, const Expression< T > &e2)
 
Errors operator- (const Errors &a, const Errors &b)
 Subtraction. More...
 
Errors operator- (const Errors &a)
 Negation. More...
 
template<typename T >
BinarySumExpression< Toperator- (const Expression< T > &e1, const Expression< T > &e2)
 Construct an expression that subtracts one expression from another. More...
 
std::ostream & operator<< (std::ostream &os, const Cal3_S2Stereo &cal)
 
std::ostream & operator<< (std::ostream &stream, const ImuMeasurement &meas)
 
std::ostream & operator<< (std::ostream &os, const Cal3_S2 &cal)
 
std::ostream & operator<< (std::ostream &os, const Cal3DS2 &cal)
 
ostream & operator<< (ostream &os, const Signature::Row &row)
 
ostream & operator<< (ostream &os, const StereoPoint2 &p)
 
std::ostream & operator<< (std::ostream &os, const Cal3DS2_Base &cal)
 
ostream & operator<< (ostream &os, const Signature::Table &table)
 
GTSAM_EXPORT std::ostream & operator<< (std::ostream &os, const gtsam::Point2Pair &p)
 
ostream & operator<< (ostream &os, const PreconditionerParameters &p)
 
std::ostream & operator<< (std::ostream &os, const Cal3Unified &cal)
 
ostream & operator<< (ostream &os, const PreintegrationBase &pim)
 
GTSAM_EXPORT std::ostream & operator<< (std::ostream &os, const gtsam::Point3Pair &p)
 
std::ostream & operator<< (std::ostream &os, const Cal3Bundler &cal)
 
std::ostream & operator<< (std::ostream &os, const Cal3 &cal)
 
ostream & operator<< (ostream &os, const IterativeOptimizationParameters &p)
 
std::ostream & operator<< (std::ostream &os, const Pose2 &pose)
 
GTSAM_EXPORT std::ostream & operator<< (std::ostream &os, const Symbol &symbol)
 
std::ostream & operator<< (std::ostream &os, const NavState &state)
 
ostream & operator<< (ostream &os, const gtsam::Point3Pair &p)
 
ostream & operator<< (ostream &os, const Subgraph::Edge &edge)
 
ostream & operator<< (ostream &os, const Subgraph &subgraph)
 
std::ostream & operator<< (std::ostream &os, const Dih6 &m)
 
ostream & operator<< (ostream &os, const key_formatter &m)
 
ostream & operator<< (ostream &os, const Signature &s)
 
ostream & operator<< (ostream &os, const EssentialMatrix &E)
 
ostream & operator<< (ostream &os, const StreamedKey &streamedKey)
 
ostream & operator<< (ostream &os, const SubgraphBuilderParameters &p)
 
std::ostream & operator<< (std::ostream &os, const ImuFactor &f)
 
ostream & operator<< (ostream &os, const gtsam::Point2Pair &p)
 
GTSAM_EXPORT std::ostream & operator<< (std::ostream &os, const VectorValues &v)
 
GTSAM_EXPORT std::ostream & operator<< (std::ostream &os, const LabeledSymbol &symbol)
 
std::ostream & operator<< (std::ostream &os, const Cal3Fisheye &cal)
 
std::ostream & operator<< (std::ostream &os, const Unit3 &pair)
 
std::ostream & operator<< (std::ostream &os, const ImuFactor2 &f)
 
std::ostream & operator<< (std::ostream &os, const Similarity2 &p)
 
std::ostream & operator<< (std::ostream &os, const Similarity3 &p)
 
std::ostream & operator<< (std::ostream &os, const CombinedImuFactor &f)
 
ostream & operator<< (ostream &os, const Rot3 &R)
 
std::ostream & operator<< (std::ostream &os, const Pose3 &pose)
 
bool operator== (const Matrix &A, const Matrix &B)
 
bool operator== (const Vector &vec1, const Vector &vec2)
 
istream & operator>> (istream &is, EssentialMatrix &E)
 
GTSAM_EXPORT std::istream & operator>> (std::istream &inputStream, Matrix &destinationMatrix)
 
istream & operator>> (istream &inputStream, Matrix &destinationMatrix)
 
std::istream & operator>> (std::istream &is, Quaternion &q)
 
std::istream & operator>> (std::istream &is, Rot3 &R)
 
std::istream & operator>> (std::istream &is, Matrix6 &m)
 
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< RowParseConditional (const std::string &token)
 
static std::optional< TableParseConditionalTable (const std::vector< std::string > &tokens)
 
std::optional< IndexedEdgeparseEdge (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<typename T >
GTSAM_EXPORT std::vector< BinaryMeasurement< T > > parseMeasurements (const std::string &filename, const noiseModel::Diagonal::shared_ptr &model=nullptr, size_t maxIndex=0)
 
template<>
GTSAM_EXPORT std::vector< BinaryMeasurement< Pose2 > > parseMeasurements (const std::string &filename, const noiseModel::Diagonal::shared_ptr &model, size_t maxIndex)
 
template<>
GTSAM_EXPORT std::vector< BinaryMeasurement< Rot2 > > parseMeasurements (const std::string &filename, const noiseModel::Diagonal::shared_ptr &model, size_t maxIndex)
 
template<>
GTSAM_EXPORT std::vector< BinaryMeasurement< Pose3 > > parseMeasurements (const std::string &filename, const noiseModel::Diagonal::shared_ptr &model, size_t maxIndex)
 
template<>
GTSAM_EXPORT std::vector< BinaryMeasurement< Rot3 > > parseMeasurements (const std::string &filename, const noiseModel::Diagonal::shared_ptr &model, size_t maxIndex)
 
static Table ParseOr ()
 
template<typename T >
std::map< size_t, TparseToMap (const std::string &filename, Parser< std::pair< size_t, T >> parse, size_t maxIndex)
 
template<typename T >
static std::vector< TparseToVector (const std::string &filename, Parser< T > parse)
 
static Row ParseTrueRow ()
 
template<typename T >
GTSAM_EXPORT std::map< size_t, TparseVariables (const std::string &filename, size_t maxIndex=0)
 
template<>
GTSAM_EXPORT std::map< size_t, Point2parseVariables< Point2 > (const std::string &filename, size_t maxIndex)
 
template<>
GTSAM_EXPORT std::map< size_t, Point3parseVariables< Point3 > (const std::string &filename, size_t maxIndex)
 
template<>
GTSAM_EXPORT std::map< size_t, Pose2parseVariables< Pose2 > (const std::string &filename, size_t maxIndex)
 
template<>
GTSAM_EXPORT std::map< size_t, Pose3parseVariables< Pose3 > (const std::string &filename, size_t maxIndex)
 
std::optional< IndexedLandmarkparseVertexLandmark (std::istream &is, const std::string &tag)
 
std::optional< std::pair< size_t, Point3 > > parseVertexPoint3 (std::istream &is, const std::string &tag)
 
std::optional< IndexedPoseparseVertexPose (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)
 
Point3_ position (const NavState_ &X)
 
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 &parameters)
 
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)
 
void print (const Errors &e, const string &s)
 Print an Errors instance. More...
 
GTSAM_EXPORT void print (const Errors &e, const std::string &s="Errors")
 Print an Errors instance. More...
 
template<class CONTAINER >
void Print (const CONTAINER &keys, const string &s, const KeyFormatter &keyFormatter)
 
void print (float v, const std::string &s="")
 
void print (double v, const std::string &s="")
 
void print (const Vector &v, const string &s, ostream &stream)
 
void print (const Vector &v, const string &s)
 
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="")
 
GTSAM_EXPORT void print (const Matrix &A, const std::string &s, std::ostream &stream)
 
void print (const Matrix &A, const string &s, ostream &stream)
 
GTSAM_EXPORT void print (const Matrix &A, const std::string &s="")
 
void print (const Matrix &A, const string &s)
 
void PrintKey (Key key, const string &s, const KeyFormatter &keyFormatter)
 Utility function to print one key with optional prefix. More...
 
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 PrintKeyList (const KeyList &keys, const string &s, const KeyFormatter &keyFormatter)
 Utility function to print sets of keys 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 PrintKeySet (const KeySet &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 PrintKeyVector (const KeyVector &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...
 
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)
 
std::function< double(const Assignment< Key > &, double)> prunerFunc (const DecisionTreeFactor &prunedDecisionTree, const HybridConditional &conditional)
 Helper function to get the pruner functional. More...
 
pair< Matrix, Matrixqr (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)
 
GaussianFactorGraphTree removeEmpty (const GaussianFactorGraphTree &sum)
 
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, Vector3RQ (const Matrix3 &A, OptionalJacobian< 3, 9 > H)
 
Matrix RtR (const Matrix &A)
 
void save (const Vector &v, const string &s, const string &filename)
 
GTSAM_EXPORT void save (const Vector &A, const std::string &s, const std::string &filename)
 
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)
 
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)
 
Matrix3 skewSymmetric (double wx, double wy, double wz)
 
template<class Derived >
Matrix3 skewSymmetric (const Eigen::MatrixBase< Derived > &w)
 
SparseEigen sparseJacobianEigen (const GaussianFactorGraph &gfg, const Ordering &ordering)
 Constructs an Eigen-format SparseMatrix of a GaussianFactorGraph. More...
 
SparseEigen sparseJacobianEigen (const GaussianFactorGraph &gfg)
 
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, GaussianFactorGraphsplitFactorGraph (const GaussianFactorGraph &factorGraph, const Subgraph &subgraph)
 
Matrix stack (size_t nrMatrices,...)
 
Matrix stack (const std::vector< Matrix > &blocks)
 
Vector steepestDescent (const System &Ab, const Vector &x, const ConjugateGradientParameters &parameters)
 
Vector steepestDescent (const Matrix &A, const Vector &b, const Vector &x, const ConjugateGradientParameters &parameters)
 
VectorValues steepestDescent (const GaussianFactorGraph &fg, const VectorValues &x, const ConjugateGradientParameters &parameters)
 
GTSAM_EXPORT Vector steepestDescent (const System &Ab, const Vector &x, const IterativeOptimizationParameters &parameters)
 
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 (SmartFactorBase, Pinhole)
 
 TEST (SmartFactorBase, PinholeWithSensor)
 
 TEST (LPInitSolver, InfiniteLoopSingleVar)
 
 TEST (LPInitSolver, InfiniteLoopMultiVar)
 
 TEST (SmartFactorBase, Stereo)
 
 TEST (LPInitSolver, Initialization)
 
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)
 
Point3_ transformTo (const Pose3_ &x, const Point3_ &p)
 
Line3_ transformTo (const Pose3_ &wTc, const Line3_ &wL)
 
Line3 transformTo (const Pose3 &wTc, const Line3 &wL, OptionalJacobian< 4, 6 > Dpose, OptionalJacobian< 4, 4 > Dline)
 
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 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 triangulateNonlinear (const CameraSet< CAMERA > &cameras, const typename CAMERA::MeasurementVector &measurements, const Point3 &initialEstimate, const SharedNoiseModel &model=nullptr)
 
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 >
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 CAMERA >
TriangulationResult triangulateSafe (const CameraSet< CAMERA > &cameras, const typename CAMERA::MeasurementVector &measured, const TriangulationParameters &params)
 triangulateSafe: extensive checking of the outcome More...
 
template<class CALIBRATION >
std::pair< NonlinearFactorGraph, ValuestriangulationGraph (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 CAMERA >
std::pair< NonlinearFactorGraph, ValuestriangulationGraph (const CameraSet< CAMERA > &cameras, const typename CAMERA::MeasurementVector &measurements, Key landmarkKey, const Point3 &initialEstimate, const SharedNoiseModel &model=nullptr)
 
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<class CALIBRATION >
Point2Vector undistortMeasurements (const CALIBRATION &cal, const Point2Vector &measurements)
 
template<>
Point2Vector undistortMeasurements (const Cal3_S2 &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 Vector &v, const Matrix &A, bool inf_mask)
 
Matrix vector_scale (const Matrix &A, const Vector &v, 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)
 
double weightedPseudoinverse (const Vector &a, const Vector &weights, Vector &pseudo)
 
pair< Vector, double > weightedPseudoinverse (const Vector &a, const Vector &weights)
 
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)
 
Standard serialization

Serialization in default compressed format

template<class T >
void serializeToStream (const T &input, std::ostream &out_archive_stream)
 
template<class T >
void deserializeFromStream (std::istream &in_archive_stream, T &output)
 deserializes from a stream More...
 
template<class T >
std::string serializeToString (const T &input)
 serializes to a string More...
 
template<class T >
void deserializeFromString (const std::string &serialized, T &output)
 deserializes from a string More...
 
template<class T >
bool serializeToFile (const T &input, const std::string &filename)
 serializes to a file More...
 
template<class T >
bool deserializeFromFile (const std::string &filename, T &output)
 deserializes from a file More...
 
template<class T >
std::string serialize (const T &input)
 serializes to a string More...
 
template<class T >
void deserialize (const std::string &serialized, T &output)
 deserializes from a string More...
 
XML Serialization

Serialization to XML format with named structures

template<class T >
void serializeToXMLStream (const T &input, std::ostream &out_archive_stream, const std::string &name="data")
 
template<class T >
void deserializeFromXMLStream (std::istream &in_archive_stream, T &output, const std::string &name="data")
 deserializes from a stream in XML More...
 
template<class T >
std::string serializeToXMLString (const T &input, const std::string &name="data")
 serializes to a string in XML More...
 
template<class T >
void deserializeFromXMLString (const std::string &serialized, T &output, const std::string &name="data")
 deserializes from a string in XML More...
 
template<class T >
bool serializeToXMLFile (const T &input, const std::string &filename, const std::string &name="data")
 serializes to an XML file More...
 
template<class T >
bool deserializeFromXMLFile (const std::string &filename, T &output, const std::string &name="data")
 deserializes from an XML file More...
 
template<class T >
std::string serializeXML (const T &input, const std::string &name="data")
 serializes to a string in XML More...
 
template<class T >
void deserializeXML (const std::string &serialized, T &output, const std::string &name="data")
 deserializes from a string in XML More...
 
Binary Serialization

Serialization to binary format with named structures

template<class T >
void serializeToBinaryStream (const T &input, std::ostream &out_archive_stream, const std::string &name="data")
 
template<class T >
void deserializeFromBinaryStream (std::istream &in_archive_stream, T &output, const std::string &name="data")
 deserializes from a stream in binary More...
 
template<class T >
std::string serializeToBinaryString (const T &input, const std::string &name="data")
 serializes to a string in binary More...
 
template<class T >
void deserializeFromBinaryString (const std::string &serialized, T &output, const std::string &name="data")
 deserializes from a string in binary More...
 
template<class T >
bool serializeToBinaryFile (const T &input, const std::string &filename, const std::string &name="data")
 serializes to a binary file More...
 
template<class T >
bool deserializeFromBinaryFile (const std::string &filename, T &output, const std::string &name="data")
 deserializes from a binary file More...
 
template<class T >
std::string serializeBinary (const T &input, const std::string &name="data")
 serializes to a string in binary More...
 
template<class T >
void deserializeBinary (const std::string &serialized, T &output, const std::string &name="data")
 deserializes from a string in binary More...
 
utility functions
VectorValues buildVectorValues (const Vector &v, const Ordering &ordering, const std::map< Key, size_t > &dimensions)
 Create VectorValues from a Vector. More...
 

Variables

const Gb
 
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
 
static const KeyFormatter DefaultKeyFormatter = &_defaultKeyFormatter
 
static size_t gDummyCount = 0
 
static const size_t indexBits = keyBits - chrBits
 
static const Key indexMask = ~chrMask
 
static double intNoiseVar = 0.0000001
 
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_tkVelocityIndices = { 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
 

Detailed Description

traits

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:

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:

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

Date
March 2, 2014
Author
Frank Dellaert
Module definition file for GTSAM

Typedef Documentation

◆ base_grammar

typedef qi::grammar<boost::spirit::basic_istream_iterator<char> > gtsam::base_grammar

Definition at line 409 of file QPSParser.cpp.

◆ BearingRange2D

Definition at line 450 of file dataset.cpp.

◆ BetweenFactorPose2s

Definition at line 212 of file dataset.h.

◆ BetweenFactorPose3s

Definition at line 218 of file dataset.h.

◆ BinaryMeasurementsPoint3

Definition at line 225 of file dataset.h.

◆ BinaryMeasurementsRot3

Definition at line 226 of file dataset.h.

◆ BinaryMeasurementsUnit3

Definition at line 224 of file dataset.h.

◆ Cal3_S2_

Definition at line 127 of file slam/expressions.h.

◆ Cal3Bundler_

Definition at line 128 of file slam/expressions.h.

◆ Camera

Definition at line 52 of file testAdaptAutoDiff.cpp.

◆ CameraSetCal3_S2

Definition at line 750 of file triangulation.h.

◆ CameraSetCal3Bundler

Definition at line 749 of file triangulation.h.

◆ CameraSetCal3DS2

Definition at line 751 of file triangulation.h.

◆ CameraSetCal3Fisheye

Definition at line 752 of file triangulation.h.

◆ CameraSetCal3Unified

Definition at line 753 of file triangulation.h.

◆ CameraSetSpherical

Definition at line 754 of file triangulation.h.

◆ ConcurrentBatchFilterResult

Typedef for Matlab wrapping.

Definition at line 254 of file ConcurrentBatchFilter.h.

◆ ConcurrentBatchSmootherResult

Typedef for Matlab wrapping.

Definition at line 205 of file ConcurrentBatchSmoother.h.

◆ ConcurrentIncrementalFilterResult

Typedef for Matlab wrapping.

Definition at line 199 of file ConcurrentIncrementalFilter.h.

◆ ConcurrentIncrementalSmootherResult

Typedef for Matlab wrapping.

Definition at line 169 of file ConcurrentIncrementalSmoother.h.

◆ ConstSubMatrix

Definition at line 70 of file base/Matrix.h.

◆ ConstSubVector

Definition at line 66 of file Vector.h.

◆ CustomErrorFunction

using gtsam::CustomErrorFunction = typedef std::function<Vector(const CustomFactor &, const Values &, const JacobianVector *)>

Definition at line 36 of file CustomFactor.h.

◆ DenseIndex

typedef ptrdiff_t gtsam::DenseIndex

The index type for Eigen objects.

Definition at line 108 of file types.h.

◆ Dih6

Definition at line 107 of file testGroup.cpp.

◆ Dims

typedef std::vector< Eigen::Index > gtsam::Dims

Definition at line 41 of file HessianFactor.cpp.

◆ Domains

using gtsam::Domains = typedef std::map<Key, Domain>

Definition at line 29 of file Constraint.h.

◆ Double_

typedef Expression<double> gtsam::Double_

Definition at line 28 of file nonlinear/expressions.h.

◆ DSFInt

typedef DSF<int> gtsam::DSFInt

Definition at line 210 of file DSF.h.

◆ DSFMapIndexPair

Definition at line 131 of file DSFMap.h.

◆ DynamicJacobian

Definition at line 363 of file SOn.h.

◆ enable_if_t

template<bool B, class T = void>
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.

◆ Errors

using gtsam::Errors = typedef FastList<Vector>

Errors is a vector of errors.

Definition at line 34 of file Errors.h.

◆ FactorIndex

Integer nonlinear factor index type.

Definition at line 105 of file types.h.

◆ FactorIndexSet

Definition at line 37 of file Factor.h.

◆ FactorIndices

Define collection types:

Define collection type:

Definition at line 36 of file Factor.h.

◆ FixedLagSmootherKeyTimestampMap

Typedef for matlab wrapping.

Definition at line 134 of file nonlinear/FixedLagSmoother.h.

◆ FixedLagSmootherKeyTimestampMapValue

typedef FixedLagSmootherKeyTimestampMap::value_type gtsam::FixedLagSmootherKeyTimestampMapValue

Definition at line 135 of file nonlinear/FixedLagSmoother.h.

◆ FixedLagSmootherResult

Definition at line 136 of file nonlinear/FixedLagSmoother.h.

◆ GaussianFactorGraphTree

Alias for DecisionTree of GaussianFactorGraphs.

Definition at line 34 of file HybridFactor.h.

◆ GraphAndValues

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).

Definition at line 143 of file dataset.h.

◆ index_sequence_for

template<class... T>
using gtsam::index_sequence_for = typedef make_index_sequence<sizeof...(T)>

Definition at line 56 of file base/utilities.h.

◆ IndexedEdge

typedef std::pair<std::pair<size_t, size_t>, Pose2> gtsam::IndexedEdge

Definition at line 113 of file dataset.h.

◆ IndexedLandmark

typedef std::pair<size_t, Point2> gtsam::IndexedLandmark

Definition at line 112 of file dataset.h.

◆ IndexedPose

typedef std::pair<size_t, Pose2> gtsam::IndexedPose

Return type for auxiliary functions.

Definition at line 111 of file dataset.h.

◆ IndexPairSet

Definition at line 126 of file DSFMap.h.

◆ IndexPairSetMap

Definition at line 130 of file DSFMap.h.

◆ IndexPairVector

Definition at line 125 of file DSFMap.h.

◆ ISAM2ThresholdMapValue

typedef ISAM2ThresholdMap::value_type gtsam::ISAM2ThresholdMapValue

Definition at line 135 of file ISAM2Params.h.

◆ JacobianVector

using gtsam::JacobianVector = typedef std::vector<Matrix>

Definition at line 24 of file CustomFactor.h.

◆ Key

Integer nonlinear key type.

Definition at line 102 of file types.h.

◆ KeyDimMap

using gtsam::KeyDimMap = typedef std::map<Key, size_t>

Mapping between variable's key and its corresponding dimensionality.

Definition at line 32 of file LP.h.

◆ KeyFormatter

using gtsam::KeyFormatter = typedef std::function<std::string(Key)>

Typedef for a function to format a key, i.e. to convert it to a string.

Definition at line 35 of file Key.h.

◆ KeyGroupMap

using gtsam::KeyGroupMap = typedef FastMap<Key, int>

Definition at line 91 of file Key.h.

◆ KeyList

using gtsam::KeyList = typedef FastList<Key>

Definition at line 89 of file Key.h.

◆ KeyPairDoubleMap

Definition at line 99 of file MFAS.h.

◆ KeyRotMap

typedef std::map<Key, Rot3> gtsam::KeyRotMap

Definition at line 34 of file InitializePose3.h.

◆ KeySet

using gtsam::KeySet = typedef FastSet<Key>

Definition at line 90 of file Key.h.

◆ KeyVector

Define collection type once and for all - also used in wrappers.

Typedefs to allow for backwards compatibility TODO(Varun) deprecate in future release gtsam.

Definition at line 86 of file Key.h.

◆ KeyVectorMap

typedef std::map<Key, std::vector<size_t> > gtsam::KeyVectorMap

Definition at line 33 of file InitializePose3.h.

◆ Line3_

Definition at line 40 of file slam/expressions.h.

◆ LPSolver

Definition at line 79 of file LPSolver.h.

◆ Matrix

typedef Eigen::MatrixXd gtsam::Matrix

Definition at line 39 of file base/Matrix.h.

◆ MatrixRowMajor

Definition at line 40 of file base/Matrix.h.

◆ MotionModel

using gtsam::MotionModel = typedef BetweenFactor<double>

Definition at line 117 of file Switching.h.

◆ NavState_

Definition at line 17 of file navigation/expressions.h.

◆ OptionalMatrixType

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.

◆ OptionalMatrixVecType

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.

◆ OrientedPlane3_

Definition at line 41 of file slam/expressions.h.

◆ OrphanWrapper

Definition at line 58 of file HybridGaussianFactorGraph.cpp.

◆ Pairs

using gtsam::Pairs = typedef std::vector<std::pair<Eigen::Index, Matrix> >

Definition at line 44 of file JacobianFactor.cpp.

◆ Parser

template<typename T >
using gtsam::Parser = typedef std::function<std::optional<T>(std::istream &is, const std::string &tag)>

Definition at line 124 of file dataset.cpp.

◆ PinholeCameraCal3_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.

◆ PinholeCameraCal3Bundler

Definition at line 35 of file SimpleCamera.h.

◆ PinholeCameraCal3DS2

Definition at line 36 of file SimpleCamera.h.

◆ PinholeCameraCal3Fisheye

Definition at line 38 of file SimpleCamera.h.

◆ PinholeCameraCal3Unified

Definition at line 37 of file SimpleCamera.h.

◆ Point2

As of GTSAM 4, in order to make GTSAM more lean, it is now possible to just typedef Point2 to Vector2

Definition at line 32 of file Point2.h.

◆ Point2_

Definition at line 22 of file slam/expressions.h.

◆ Point2Pair

using gtsam::Point2Pair = typedef std::pair<Point2, Point2>

Definition at line 35 of file Point2.h.

◆ Point2Pairs

Definition at line 38 of file Point2.h.

◆ Point2Vector

Definition at line 49 of file Point2.h.

◆ Point3

As of GTSAM 4, in order to make GTSAM more lean, it is now possible to just typedef Point3 to Vector3

Definition at line 38 of file Point3.h.

◆ Point3_

Definition at line 36 of file slam/expressions.h.

◆ Point3Pair

using gtsam::Point3Pair = typedef std::pair<Point3, Point3>

Definition at line 42 of file Point3.h.

◆ Point3Pairs

Definition at line 45 of file Point3.h.

◆ Point3Vector

Definition at line 39 of file Point3.h.

◆ Pose2_

Definition at line 24 of file slam/expressions.h.

◆ Pose2Pair

using gtsam::Pose2Pair = typedef std::pair<Pose2, Pose2>

Definition at line 361 of file Pose2.h.

◆ Pose2Pairs

Definition at line 362 of file Pose2.h.

◆ Pose3_

Definition at line 39 of file slam/expressions.h.

◆ Pose3Pair

using gtsam::Pose3Pair = typedef std::pair<Pose3, Pose3>

Definition at line 424 of file Pose3.h.

◆ Pose3Pairs

Definition at line 425 of file Pose3.h.

◆ Pose3Vector

Definition at line 428 of file Pose3.h.

◆ PreintegrationType

Definition at line 33 of file CombinedImuFactor.h.

◆ QPSolver

Definition at line 48 of file QPSolver.h.

◆ Quaternion

Definition at line 182 of file geometry/Quaternion.h.

◆ Rot2_

Definition at line 23 of file slam/expressions.h.

◆ Rot3_

Definition at line 38 of file slam/expressions.h.

◆ Rot3Vector

std::vector of Rot3s, used in Matlab wrapper

Definition at line 564 of file Rot3.h.

◆ Row

using gtsam::Row = typedef std::vector<double>

Definition at line 9 of file SignatureParser.cpp.

◆ RowVector

typedef Eigen::RowVectorXd gtsam::RowVector

Definition at line 25 of file LinearCost.h.

◆ Sample

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.

◆ Sequence

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.

◆ SfmCamera

Define the structure for the camera poses.

Definition at line 33 of file SfmData.h.

◆ SfmMeasurement

typedef std::pair<size_t, Point2> gtsam::SfmMeasurement

A measurement with its camera index.

Definition at line 32 of file SfmTrack.h.

◆ SfmTrack2dVector

Definition at line 119 of file SfmTrack.h.

◆ SharedConstrained

Definition at line 744 of file NoiseModel.h.

◆ SharedDiagonal

Definition at line 743 of file NoiseModel.h.

◆ SharedFactor

using gtsam::SharedFactor = typedef std::shared_ptr<Factor>

Definition at line 32 of file HybridFactorGraph.h.

◆ SharedGaussian

Definition at line 742 of file NoiseModel.h.

◆ SharedIsotropic

Definition at line 745 of file NoiseModel.h.

◆ SharedNoiseModel

Aliases. Deliberately not in noiseModel namespace.

Definition at line 741 of file NoiseModel.h.

◆ ShonanAveragingParameters2

Definition at line 104 of file ShonanAveraging.h.

◆ ShonanAveragingParameters3

Definition at line 105 of file ShonanAveraging.h.

◆ ShonanFactor2

using gtsam::ShonanFactor2 = typedef ShonanFactor<2>

Definition at line 89 of file ShonanFactor.h.

◆ ShonanFactor3

using gtsam::ShonanFactor3 = typedef ShonanFactor<3>

Definition at line 90 of file ShonanFactor.h.

◆ SiftIndex

typedef std::pair<size_t, size_t> gtsam::SiftIndex

Sift index for SfmTrack.

Definition at line 35 of file SfmTrack.h.

◆ SimPolygon2DVector

Definition at line 131 of file SimPolygon2D.h.

◆ SimWall2DVector

typedef std::vector<SimWall2D> gtsam::SimWall2DVector

Definition at line 77 of file SimWall2D.h.

◆ SmartStereoProjectionParams

Definition at line 45 of file SmartStereoProjectionFactor.h.

◆ SO3

using gtsam::SO3 = typedef SO<3>

Definition at line 34 of file SO3.h.

◆ SO4

using gtsam::SO4 = typedef SO<4>

Definition at line 34 of file SO4.h.

◆ SOn

using gtsam::SOn = typedef SO<Eigen::Dynamic>

Definition at line 342 of file SOn.h.

◆ Sparse

Definition at line 26 of file AcceleratedPowerMethod.h.

◆ SparseEigen

Eigen-format sparse matrix. Note: ColMajor is ~20% faster since InnerIndices must be sorted

Definition at line 35 of file SparseEigen.h.

◆ SparseTriplets

using gtsam::SparseTriplets = typedef std::vector<std::tuple<int, int, double> >

Definition at line 118 of file GaussianFactorGraph.cpp.

◆ State

Definition at line 62 of file DoglegOptimizer.cpp.

◆ StereoPoint2Vector

Definition at line 168 of file StereoPoint2.h.

◆ SubMatrix

Definition at line 69 of file base/Matrix.h.

◆ SubVector

Definition at line 65 of file Vector.h.

◆ SuccessiveLinearizationParams

Definition at line 194 of file NonlinearOptimizerParams.h.

◆ Table

using gtsam::Table = typedef std::vector<Row>

Definition at line 10 of file SignatureParser.cpp.

◆ Unit3_

Definition at line 37 of file slam/expressions.h.

◆ Vector

typedef Eigen::VectorXd gtsam::Vector

Definition at line 38 of file Vector.h.

◆ Vector1

typedef Eigen::Matrix<double, 1, 1> gtsam::Vector1

Definition at line 41 of file Vector.h.

◆ Vector1_

Definition at line 29 of file nonlinear/expressions.h.

◆ Vector2

typedef Eigen::Vector2d gtsam::Vector2

Definition at line 42 of file Vector.h.

◆ Vector2_

Definition at line 30 of file nonlinear/expressions.h.

◆ Vector3

typedef Eigen::Vector3d gtsam::Vector3

Definition at line 43 of file Vector.h.

◆ Vector3_

Definition at line 31 of file nonlinear/expressions.h.

◆ Vector4_

typedef Expression<Vector4> gtsam::Vector4_

Definition at line 32 of file nonlinear/expressions.h.

◆ Vector5_

typedef Expression<Vector5> gtsam::Vector5_

Definition at line 33 of file nonlinear/expressions.h.

◆ Vector6_

typedef Expression<Vector6> gtsam::Vector6_

Definition at line 34 of file nonlinear/expressions.h.

◆ Vector7_

typedef Expression<Vector7> gtsam::Vector7_

Definition at line 35 of file nonlinear/expressions.h.

◆ Vector8_

typedef Expression<Vector8> gtsam::Vector8_

Definition at line 36 of file nonlinear/expressions.h.

◆ Vector9_

typedef Expression<Vector9> gtsam::Vector9_

Definition at line 37 of file nonlinear/expressions.h.

◆ Velocity3

Velocity is currently typedef'd to Vector3.

Syntactic sugar to clarify components.

Definition at line 28 of file NavState.h.

◆ Velocity3_

Definition at line 18 of file navigation/expressions.h.

◆ void_t

template<typename ... >
using gtsam::void_t = typedef void

Convenience void_t as we assume C++11, it will not conflict the std one in C++17 as this is in gtsam::

Definition at line 253 of file types.h.

◆ Weights

using gtsam::Weights = typedef Eigen::Matrix<double, 1, -1>

Definition at line 69 of file Basis.h.

Enumeration Type Documentation

◆ DegeneracyMode

How to manage degeneracy.

Enumerator
IGNORE_DEGENERACY 
ZERO_ON_DEGENERACY 
HANDLE_INFINITY 

Definition at line 35 of file SmartFactorParams.h.

◆ GncLossType

Choice of robust loss function for GNC.

Enumerator
GM 
TLS 

Definition at line 36 of file GncParams.h.

◆ KernelFunctionType

Robust kernel type to wrap around quadratic noise model.

Enumerator
KernelFunctionTypeNONE 
KernelFunctionTypeHUBER 
KernelFunctionTypeTUKEY 

Definition at line 74 of file dataset.h.

◆ LinearizationMode

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.

◆ NoiseFormat

Indicates how noise parameters are stored in file.

Enumerator
NoiseFormatG2O 

Information matrix I11, I12, I13, I22, I23, I33.

NoiseFormatTORO 

Information matrix, but inf_ff inf_fs inf_ss inf_rr inf_fr inf_sr.

NoiseFormatGRAPH 

default: toro-style order, but covariance matrix !

NoiseFormatCOV 

Covariance matrix C11, C12, C13, C22, C23, C33.

NoiseFormatAUTO 

Try to guess covariance matrix layout.

Definition at line 65 of file dataset.h.

Function Documentation

◆ _defaultKeyFormatter()

GTSAM_EXPORT std::string gtsam::_defaultKeyFormatter ( Key  key)

Definition at line 30 of file Key.cpp.

◆ _init()

def gtsam._init ( )
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.

◆ _multirobotKeyFormatter()

GTSAM_EXPORT std::string gtsam::_multirobotKeyFormatter ( Key  key)

Definition at line 46 of file Key.cpp.

◆ _truePredicate()

template<typename T >
static bool gtsam::_truePredicate ( const T )
static

Definition at line 46 of file Values.h.

◆ addGaussian()

static GaussianFactorGraphTree gtsam::addGaussian ( const GaussianFactorGraphTree gfgTree,
const GaussianFactor::shared_ptr factor 
)
static

Definition at line 80 of file HybridGaussianFactorGraph.cpp.

◆ allocAligned()

std::unique_ptr<internal::ExecutionTraceStorage[]> gtsam::allocAligned ( size_t  size)
inline

Definition at line 197 of file Expression-inl.h.

◆ apply() [1/3]

template<typename L , typename Y >
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 398 of file DecisionTree.h.

◆ apply() [2/3]

template<typename L , typename Y >
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 405 of file DecisionTree.h.

◆ apply() [3/3]

template<typename L , typename Y >
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 412 of file DecisionTree.h.

◆ assert_container_equal() [1/4]

template<class V1 , class V2 >
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.

◆ assert_container_equal() [2/4]

template<class V2 >
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.

◆ assert_container_equal() [3/4]

template<class V1 , class V2 >
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.

◆ assert_container_equal() [4/4]

template<class V >
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.

◆ assert_container_equality() [1/2]

template<class V2 >
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.

◆ assert_container_equality() [2/2]

template<class V >
bool gtsam::assert_container_equality ( const V expected,
const V actual 
)

General function for comparing containers of objects with operator==

Definition at line 275 of file TestableAssertions.h.

◆ assert_equal() [1/11]

bool gtsam::assert_equal ( const Key expected,
const Key actual,
double  tol = 0.0 
)
inline

Equals testing for basic types

Definition at line 35 of file TestableAssertions.h.

◆ assert_equal() [2/11]

bool gtsam::assert_equal ( const Matrix A,
const Matrix B,
double  tol = 1e-9 
)

equals with an tolerance, prints out message if unequal

Definition at line 40 of file Matrix.cpp.

◆ assert_equal() [3/11]

template<class V >
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.

◆ assert_equal() [4/11]

template<class V >
bool gtsam::assert_equal ( const V expected,
const std::optional< V > &  actual,
double  tol = 1e-9 
)

Definition at line 67 of file TestableAssertions.h.

◆ assert_equal() [5/11]

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.

◆ assert_equal() [6/11]

template<class V >
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.

◆ assert_equal() [7/11]

template<class V >
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.

◆ assert_equal() [8/11]

bool gtsam::assert_equal ( const Vector vec1,
const Vector vec2,
double  tol = 1e-9 
)

Same, prints if error

Parameters
vec1Vector
vec2Vector
tol1e-9
Returns
bool

Definition at line 144 of file Vector.cpp.

◆ assert_equal() [9/11]

bool gtsam::assert_equal ( const SubVector vec1,
const SubVector vec2,
double  tol = 1e-9 
)

Same, prints if error

Parameters
vec1Vector
vec2Vector
tol1e-9
Returns
bool

Definition at line 162 of file Vector.cpp.

◆ assert_equal() [10/11]

GTSAM_EXPORT bool gtsam::assert_equal ( const ConstSubVector expected,
const ConstSubVector actual,
double  tol 
)

Definition at line 171 of file Vector.cpp.

◆ assert_equal() [11/11]

bool gtsam::assert_equal ( const std::string &  expected,
const std::string &  actual 
)
inline

Compare strings for unit tests

Definition at line 304 of file TestableAssertions.h.

◆ assert_inequal() [1/3]

bool gtsam::assert_inequal ( const Matrix A,
const Matrix B,
double  tol = 1e-9 
)

inequals with an tolerance, prints out message if within tolerance

Definition at line 60 of file Matrix.cpp.

◆ assert_inequal() [2/3]

bool gtsam::assert_inequal ( const Vector vec1,
const Vector vec2,
double  tol = 1e-9 
)

Not the same, prints if error

Parameters
vec1Vector
vec2Vector
tol1e-9
Returns
bool

Definition at line 153 of file Vector.cpp.

◆ assert_inequal() [3/3]

template<class V >
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.

◆ assert_print_equal()

template<class V >
bool gtsam::assert_print_equal ( const std::string &  expected,
const V actual,
const std::string &  s = "" 
)

Capture print function output and compare against string.

Parameters
sOptional string to pass to the print() method.

Definition at line 352 of file TestableAssertions.h.

◆ assert_stdout_equal()

template<class V >
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.

◆ attitude()

Rot3_ gtsam::attitude ( const NavState_ X)
inline

Definition at line 34 of file navigation/expressions.h.

◆ axpy()

void gtsam::axpy ( double  alpha,
const Errors x,
Errors y 
)

BLAS level 2 style AXPY, y := alpha*x + y

Definition at line 110 of file Errors.cpp.

◆ backSubstituteLower()

Vector gtsam::backSubstituteLower ( const Matrix L,
const Vector b,
bool  unit = false 
)

backSubstitute L*x=b

Parameters
Lan lower triangular matrix
ban RHS vector
unit,settrue if unit triangular
Returns
the solution x of L*x=b

Definition at line 365 of file Matrix.cpp.

◆ backSubstituteUpper() [1/2]

Vector gtsam::backSubstituteUpper ( const Matrix U,
const Vector b,
bool  unit = false 
)

backSubstitute U*x=b

Parameters
Uan upper triangular matrix
ban RHS vector
unit,settrue if unit triangular
Returns
the solution x of U*x=b

Definition at line 375 of file Matrix.cpp.

◆ backSubstituteUpper() [2/2]

Vector gtsam::backSubstituteUpper ( const Vector b,
const Matrix U,
bool  unit = false 
)

backSubstitute x'*U=b'

Parameters
Uan upper triangular matrix
ban RHS vector
unit,settrue if unit triangular
Returns
the solution x of x'*U=b'

Definition at line 385 of file Matrix.cpp.

◆ BCH()

template<class T >
T gtsam::BCH ( const T X,
const T Y 
)

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

Definition at line 298 of file Lie.h.

◆ between()

template<typename T >
Expression<T> gtsam::between ( const Expression< T > &  t1,
const Expression< T > &  t2 
)

Definition at line 17 of file nonlinear/expressions.h.

◆ between_default()

template<class Class >
Class gtsam::between_default ( const Class l1,
const Class l2 
)
inline

These core global functions can be specialized by new Lie types for better performance.Compute l0 s.t. l2=l1*l0

Definition at line 240 of file Lie.h.

◆ bound()

double gtsam::bound ( double  a,
double  min,
double  max 
)

Definition at line 17 of file PoseRTV.cpp.

◆ buildFactorSubgraph()

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.

◆ buildVectorValues() [1/3]

VectorValues gtsam::buildVectorValues ( const Vector v,
const Ordering ordering,
const std::map< Key, size_t > &  dimensions 
)

Create VectorValues from a Vector.

Definition at line 149 of file PCGSolver.cpp.

◆ buildVectorValues() [2/3]

VectorValues gtsam::buildVectorValues ( const Vector v,
const Ordering ordering,
const map< Key, size_t > &  dimensions 
)

Create VectorValues from a Vector.

Definition at line 149 of file PCGSolver.cpp.

◆ buildVectorValues() [3/3]

VectorValues gtsam::buildVectorValues ( const Vector v,
const KeyInfo keyInfo 
)

Create VectorValues from a Vector and a KeyInfo class.

Definition at line 170 of file PCGSolver.cpp.

◆ CalculateBestAxis()

static Point3 gtsam::CalculateBestAxis ( const Point3 n)
static

Definition at line 72 of file Unit3.cpp.

◆ calibrateJacobians()

template<typename Cal , size_t Dim>
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

Template Parameters
CalCalibration model.
DimThe number of parameters in the calibration model.
Parameters
pCalibrated point.
Dcaloptional 2*p Jacobian wrpt p Cal3DS2 parameters.
Dpoptional 2*2 Jacobian wrpt intrinsic coordinates.

Definition at line 47 of file Cal3.h.

◆ calibrateMeasurements() [1/2]

template<class CAMERA >
Point3Vector gtsam::calibrateMeasurements ( const CameraSet< CAMERA > &  cameras,
const typename CAMERA::MeasurementVector &  measurements 
)
inline

Convert pixel measurements in image to homogeneous measurements in the image plane using camera intrinsics of each measurement.

Template Parameters
CAMERACamera type to use.
Parameters
camerasCameras corresponding to each measurement.
measurementsVector of measurements to undistort.
Returns
homogeneous measurements in image plane

Definition at line 381 of file triangulation.h.

◆ calibrateMeasurements() [2/2]

template<class CAMERA = SphericalCamera>
Point3Vector gtsam::calibrateMeasurements ( const CameraSet< SphericalCamera > &  cameras,
const SphericalCamera::MeasurementVector measurements 
)
inline

Specialize for SphericalCamera to do nothing.

Definition at line 397 of file triangulation.h.

◆ calibrateMeasurementsShared()

template<class CALIBRATION >
Point3Vector gtsam::calibrateMeasurementsShared ( const CALIBRATION &  cal,
const Point2Vector measurements 
)
inline

Convert pixel measurements in image to homogeneous measurements in the image plane using shared camera intrinsics.

Template Parameters
CALIBRATIONCalibration type to use.
Parameters
calCalibration with which measurements were taken.
measurementsVector of measurements to undistort.
Returns
homogeneous measurements in image plane

Definition at line 357 of file triangulation.h.

◆ check()

static void gtsam::check ( const SharedNoiseModel noiseModel,
size_t  m 
)
static

Definition at line 97 of file NonlinearFactor.cpp.

◆ check_sharedCliques()

template<class CLIQUE >
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.

◆ checkConvergence() [1/2]

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.

◆ checkConvergence() [2/2]

GTSAM_EXPORT bool gtsam::checkConvergence ( const NonlinearOptimizerParams params,
double  currentError,
double  newError 
)

Definition at line 234 of file NonlinearOptimizer.cpp.

◆ Chi2inv()

static double gtsam::Chi2inv ( const double  alpha,
const size_t  dofs 
)
static

Definition at line 38 of file GncOptimizer.h.

◆ cholesky_inverse()

Matrix gtsam::cholesky_inverse ( const Matrix A)

Return the inverse of a S.P.D. matrix. Inversion is done via Cholesky decomposition.

Definition at line 537 of file Matrix.cpp.

◆ choleskyCareful()

pair<size_t, bool> gtsam::choleskyCareful ( Matrix ATA,
int  order = -1 
)

"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.

◆ choleskyPartial()

bool gtsam::choleskyPartial ( Matrix ABC,
size_t  nFrontal,
size_t  topleft = 0 
)

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

Returns
true if the decomposition is successful, false if A was not positive-definite.

Definition at line 107 of file base/cholesky.cpp.

◆ choleskyStep()

static int gtsam::choleskyStep ( Matrix ATA,
size_t  k,
size_t  order 
)
inlinestatic

Definition at line 35 of file base/cholesky.cpp.

◆ circleCircleIntersection() [1/3]

GTSAM_EXPORT std::optional< Point2 > gtsam::circleCircleIntersection ( double  R_d,
double  r_d,
double  tol 
)

Definition at line 55 of file Point2.cpp.

◆ circleCircleIntersection() [2/3]

GTSAM_EXPORT std::list< Point2 > gtsam::circleCircleIntersection ( Point2  c1,
Point2  c2,
std::optional< Point2 fh 
)

Definition at line 70 of file Point2.cpp.

◆ circleCircleIntersection() [3/3]

list<Point2> gtsam::circleCircleIntersection ( Point2  c1,
double  r1,
Point2  c2,
double  r2,
double  tol = 1e-9 
)

Intersect 2 circles.

Parameters
c1center of first circle
r1radius of first circle
c2center of second circle
r2radius of second circle
tolabsolute tolerance below which we consider touching circles
Returns
list of solutions (0,1, or 2). Identical circles will return empty list, as well.

Definition at line 99 of file Point2.cpp.

◆ collect() [1/2]

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

Parameters
matricesis a vector of matrices in the order to be collected
mis the number of rows of a single matrix
nis the number of columns of a single matrix
Returns
combined matrix [A1 A2 A3]

Definition at line 441 of file Matrix.cpp.

◆ collect() [2/2]

GTSAM_EXPORT Matrix gtsam::collect ( size_t  nrMatrices,
  ... 
)

Definition at line 466 of file Matrix.cpp.

◆ CollectDiscreteKeys()

DiscreteKeys gtsam::CollectDiscreteKeys ( const DiscreteKeys key1,
const DiscreteKeys key2 
)

Definition at line 43 of file HybridFactor.cpp.

◆ collectKeyDim()

template<class LinearGraph >
KeyDimMap gtsam::collectKeyDim ( const LinearGraph &  linearGraph)

Definition at line 38 of file LP.h.

◆ CollectKeys() [1/2]

KeyVector gtsam::CollectKeys ( const KeyVector continuousKeys,
const DiscreteKeys discreteKeys 
)

Definition at line 23 of file HybridFactor.cpp.

◆ CollectKeys() [2/2]

KeyVector gtsam::CollectKeys ( const KeyVector keys1,
const KeyVector keys2 
)

Definition at line 35 of file HybridFactor.cpp.

◆ column()

template<class MATRIX >
const MATRIX::ConstColXpr gtsam::column ( const MATRIX &  A,
size_t  j 
)

Extracts a column view from a matrix that avoids a copy

Parameters
Amatrix to extract column from
jindex of the column
Returns
a const view of the matrix

Definition at line 210 of file base/Matrix.h.

◆ columnNormSquare()

GTSAM_EXPORT Vector gtsam::columnNormSquare ( const Matrix A)

Definition at line 223 of file Matrix.cpp.

◆ compose()

template<typename T >
Expression<T> gtsam::compose ( const Expression< T > &  t1,
const Expression< T > &  t2 
)

Definition at line 23 of file nonlinear/expressions.h.

◆ composePoses()

template<class G , class Factor , class POSE , class KEY >
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.

◆ concatVectors() [1/2]

Vector gtsam::concatVectors ( const std::list< Vector > &  vs)

concatenate Vectors

Definition at line 301 of file Vector.cpp.

◆ concatVectors() [2/2]

Vector gtsam::concatVectors ( size_t  nrVectors,
  ... 
)

concatenate Vectors

Definition at line 316 of file Vector.cpp.

◆ conjugateGradientDescent() [1/3]

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.

◆ conjugateGradientDescent() [2/3]

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.

◆ conjugateGradientDescent() [3/3]

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.

◆ conjugateGradients()

template<class S , class V , class E >
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)

Parameters
Ab,the"system" that needs to be solved, examples below
xis the initial estimate
steepestflag, if true does steepest descent, not CG

Definition at line 124 of file iterative-inl.h.

◆ ConnectVariableFactor()

static void gtsam::ConnectVariableFactor ( Key  key,
const KeyFormatter keyFormatter,
size_t  i,
ostream *  os 
)
static

Definition at line 72 of file DotWriter.cpp.

◆ ConnectVariables()

static void gtsam::ConnectVariables ( Key  key1,
Key  key2,
const KeyFormatter keyFormatter,
ostream *  os 
)
static

Definition at line 66 of file DotWriter.cpp.

◆ continuousElimination()

static std::pair<HybridConditional::shared_ptr, std::shared_ptr<Factor> > gtsam::continuousElimination ( const HybridGaussianFactorGraph factors,
const Ordering frontalKeys 
)
static

Definition at line 141 of file HybridGaussianFactorGraph.cpp.

◆ convert() [1/3]

static BinaryMeasurement<Rot2> gtsam::convert ( const BinaryMeasurement< Pose2 > &  p)
static

Definition at line 409 of file dataset.cpp.

◆ convert() [2/3]

static BinaryMeasurement<Rot3> gtsam::convert ( const BinaryMeasurement< Pose3 > &  p)
static

Definition at line 882 of file dataset.cpp.

◆ convert() [3/3]

static BinaryMeasurement<Rot3> gtsam::convert ( const BetweenFactor< Pose3 >::shared_ptr &  f)
static

Definition at line 995 of file ShonanAveraging.cpp.

◆ ConvertNoiseModel()

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.

◆ convertPose2ToBinaryMeasurementRot2()

static BinaryMeasurement<Rot2> gtsam::convertPose2ToBinaryMeasurementRot2 ( const BetweenFactor< Pose2 >::shared_ptr &  f)
static

Definition at line 947 of file ShonanAveraging.cpp.

◆ convertToJacobianFactors()

static GaussianFactorGraph gtsam::convertToJacobianFactors ( const GaussianFactorGraph gfg)
static

Definition at line 77 of file SubgraphPreconditioner.cpp.

◆ createErrors()

Errors gtsam::createErrors ( const VectorValues V)

Break V into pieces according to its start indices.

Definition at line 28 of file Errors.cpp.

◆ createNoiseModel()

static SharedNoiseModel gtsam::createNoiseModel ( const Vector6 &  v,
bool  smart,
NoiseFormat  noiseFormat,
KernelFunctionType  kernelFunctionType 
)
static

Definition at line 216 of file dataset.cpp.

◆ createPinholeCalibration()

template<class CALIBRATION >
Cal3_S2 gtsam::createPinholeCalibration ( const CALIBRATION &  cal)

Create a pinhole calibration from a different Cal3 object, removing distortion.

Template Parameters
CALIBRATIONOriginal calibration object.
Parameters
calInput calibration object.
Returns
Cal3_S2 with only the pinhole elements of cal.

Definition at line 253 of file triangulation.h.

◆ createPreconditioner()

std::shared_ptr< Preconditioner > gtsam::createPreconditioner ( const std::shared_ptr< PreconditionerParameters params)

Definition at line 189 of file Preconditioner.cpp.

◆ createRewrittenFileName()

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.

◆ createSampler()

std::shared_ptr<Sampler> gtsam::createSampler ( const SharedNoiseModel model)

Definition at line 383 of file dataset.cpp.

◆ createUnknowns()

template<typename T >
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.

◆ cross() [1/2]

Point3 gtsam::cross ( const Point3 p,
const Point3 q,
OptionalJacobian< 3, 3 >  H_p = {},
OptionalJacobian< 3, 3 >  H_q = {} 
)

cross product

Returns
this x q

Definition at line 64 of file Point3.cpp.

◆ cross() [2/2]

Point3_ gtsam::cross ( const Point3_ a,
const Point3_ b 
)
inline

Definition at line 66 of file slam/expressions.h.

◆ D2dcalibration()

static Matrix29 gtsam::D2dcalibration ( double  x,
double  y,
double  xx,
double  yy,
double  xy,
double  rr,
double  r4,
double  pnx,
double  pny,
const Matrix2 &  DK 
)
static

Definition at line 57 of file Cal3DS2_Base.cpp.

◆ D2dintrinsic()

static Matrix2 gtsam::D2dintrinsic ( double  x,
double  y,
double  rr,
double  g,
double  k1,
double  k2,
double  p1,
double  p2,
const Matrix2 &  DK 
)
static

Definition at line 71 of file Cal3DS2_Base.cpp.

◆ demangle()

std::string gtsam::demangle ( const char *  name)

Pretty print Value type name.

Function to demangle type name of variable, e.g. demangle(typeid(x).name())

Definition at line 37 of file types.cpp.

◆ deserialize()

template<class T >
void gtsam::deserialize ( const std::string &  serialized,
T output 
)

deserializes from a string

Definition at line 119 of file base/serialization.h.

◆ deserializeBinary()

template<class T >
void gtsam::deserializeBinary ( const std::string &  serialized,
T output,
const std::string &  name = "data" 
)

deserializes from a string in binary

Definition at line 266 of file base/serialization.h.

◆ deserializeFromBinaryFile()

template<class T >
bool gtsam::deserializeFromBinaryFile ( const std::string &  filename,
T output,
const std::string &  name = "data" 
)

deserializes from a binary file

Definition at line 248 of file base/serialization.h.

◆ deserializeFromBinaryStream()

template<class T >
void gtsam::deserializeFromBinaryStream ( std::istream &  in_archive_stream,
T output,
const std::string &  name = "data" 
)

deserializes from a stream in binary

Definition at line 212 of file base/serialization.h.

◆ deserializeFromBinaryString()

template<class T >
void gtsam::deserializeFromBinaryString ( const std::string &  serialized,
T output,
const std::string &  name = "data" 
)

deserializes from a string in binary

Definition at line 229 of file base/serialization.h.

◆ deserializeFromFile()

template<class T >
bool gtsam::deserializeFromFile ( const std::string &  filename,
T output 
)

deserializes from a file

Definition at line 103 of file base/serialization.h.

◆ deserializeFromStream()

template<class T >
void gtsam::deserializeFromStream ( std::istream &  in_archive_stream,
T output 
)

deserializes from a stream

Definition at line 71 of file base/serialization.h.

◆ deserializeFromString()

template<class T >
void gtsam::deserializeFromString ( const std::string &  serialized,
T output 
)

deserializes from a string

Definition at line 86 of file base/serialization.h.

◆ deserializeFromXMLFile()

template<class T >
bool gtsam::deserializeFromXMLFile ( const std::string &  filename,
T output,
const std::string &  name = "data" 
)

deserializes from an XML file

Definition at line 174 of file base/serialization.h.

◆ deserializeFromXMLStream()

template<class T >
void gtsam::deserializeFromXMLStream ( std::istream &  in_archive_stream,
T output,
const std::string &  name = "data" 
)

deserializes from a stream in XML

Definition at line 138 of file base/serialization.h.

◆ deserializeFromXMLString()

template<class T >
void gtsam::deserializeFromXMLString ( const std::string &  serialized,
T output,
const std::string &  name = "data" 
)

deserializes from a string in XML

Definition at line 155 of file base/serialization.h.

◆ deserializeGraph()

NonlinearFactorGraph::shared_ptr gtsam::gtsam::deserializeGraph ( const std::string &  serialized_graph)

Definition at line 184 of file serialization.cpp.

◆ deserializeGraphFromFile()

NonlinearFactorGraph::shared_ptr gtsam::gtsam::deserializeGraphFromFile ( const std::string &  fname)

Definition at line 251 of file serialization.cpp.

◆ deserializeGraphFromXMLFile()

NonlinearFactorGraph::shared_ptr gtsam::gtsam::deserializeGraphFromXMLFile ( const std::string &  fname,
const std::string &  name = "graph" 
)

Definition at line 259 of file serialization.cpp.

◆ deserializeGraphXML()

NonlinearFactorGraph::shared_ptr gtsam::gtsam::deserializeGraphXML ( const std::string &  serialized_graph,
const std::string &  name = "graph" 
)

Definition at line 196 of file serialization.cpp.

◆ deserializeValues()

Values::shared_ptr gtsam::gtsam::deserializeValues ( const std::string &  serialized_values)

Definition at line 209 of file serialization.cpp.

◆ deserializeValuesFromFile()

Values::shared_ptr gtsam::gtsam::deserializeValuesFromFile ( const std::string &  fname)

Definition at line 268 of file serialization.cpp.

◆ deserializeValuesFromXMLFile()

Values::shared_ptr gtsam::gtsam::deserializeValuesFromXMLFile ( const std::string &  fname,
const std::string &  name = "values" 
)

Definition at line 276 of file serialization.cpp.

◆ deserializeValuesXML()

Values::shared_ptr gtsam::gtsam::deserializeValuesXML ( const std::string &  serialized_values,
const std::string &  name = "values" 
)

Definition at line 221 of file serialization.cpp.

◆ deserializeXML()

template<class T >
void gtsam::deserializeXML ( const std::string &  serialized,
T output,
const std::string &  name = "data" 
)

deserializes from a string in XML

Definition at line 192 of file base/serialization.h.

◆ diag()

Matrix gtsam::diag ( const std::vector< Matrix > &  Hs)

Create a matrix with submatrices along its diagonal

Definition at line 206 of file Matrix.cpp.

◆ Diagonal()

static noiseModel::Diagonal::shared_ptr gtsam::Diagonal ( const Matrix covariance)
static

Definition at line 27 of file ScenarioRunner.h.

◆ discreteElimination()

static std::pair<HybridConditional::shared_ptr, std::shared_ptr<Factor> > gtsam::discreteElimination ( const HybridGaussianFactorGraph factors,
const Ordering frontalKeys 
)
static

Definition at line 165 of file HybridGaussianFactorGraph.cpp.

◆ DiscreteKeysAsSet()

std::set<DiscreteKey> gtsam::DiscreteKeysAsSet ( const DiscreteKeys discreteKeys)

Return the DiscreteKey vector as a set.

Definition at line 221 of file GaussianMixture.cpp.

◆ distance()

Double_ gtsam::distance ( const OrientedPlane3_ p)
inline

Definition at line 117 of file slam/expressions.h.

◆ distance2()

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.

◆ distance3()

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.

◆ DLT()

std::tuple<int, double, Vector> gtsam::DLT ( const Matrix A,
double  rank_tol = 1e-9 
)

Direct linear transform algorithm that calls svd to find a vector v that minimizes the algebraic error A*v

Parameters
Aof 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() [1/4]

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.

◆ dot() [2/4]

Double_ gtsam::dot ( const Point3_ a,
const Point3_ b 
)
inline

Definition at line 72 of file slam/expressions.h.

◆ dot() [3/4]

double gtsam::dot ( const Errors a,
const Errors b 
)

Dot product.

Definition at line 96 of file Errors.cpp.

◆ dot() [4/4]

template<class V1 , class V2 >
double gtsam::dot ( const V1 &  a,
const V2 &  b 
)
inline

Dot product

Definition at line 195 of file Vector.h.

◆ ediv_()

Vector gtsam::ediv_ ( const Vector a,
const Vector b 
)

elementwise division, but 0/0 = 0, not inf

Parameters
afirst vector
bsecond vector
Returns
vector [a(i)/b(i)]

Definition at line 198 of file Vector.cpp.

◆ EliminateForMPE()

std::pair< DiscreteConditional::shared_ptr, DecisionTreeFactor::shared_ptr > gtsam::EliminateForMPE ( const DiscreteFactorGraph factors,
const Ordering frontalKeys 
)

Definition at line 116 of file DiscreteFactorGraph.cpp.

◆ EliminateQR()

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.

◆ EliminateSymbolic()

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.

◆ equal() [1/4]

template<class T >
bool gtsam::equal ( const T obj1,
const T obj2,
double  tol 
)
inline

Call equal on the object

Definition at line 85 of file Testable.h.

◆ equal() [2/4]

template<class T >
bool gtsam::equal ( const T obj1,
const T obj2 
)
inline

Call equal without tolerance (use default tolerance)

Definition at line 91 of file Testable.h.

◆ equal() [3/4]

bool gtsam::equal ( const Vector vec1,
const Vector vec2,
double  tol 
)
inline

Override of equal in Lie.h

Definition at line 135 of file Vector.h.

◆ equal() [4/4]

bool gtsam::equal ( const Vector vec1,
const Vector vec2 
)
inline

Override of equal in Lie.h

Definition at line 142 of file Vector.h.

◆ equal_with_abs_tol() [1/3]

template<class MATRIX >
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.

◆ equal_with_abs_tol() [2/3]

bool gtsam::equal_with_abs_tol ( const Vector vec1,
const Vector vec2,
double  tol = 1e-9 
)

VecA == VecB up to tolerance

Definition at line 122 of file Vector.cpp.

◆ equal_with_abs_tol() [3/3]

GTSAM_EXPORT bool gtsam::equal_with_abs_tol ( const SubVector vec1,
const SubVector vec2,
double  tol 
)

Definition at line 133 of file Vector.cpp.

◆ equality()

GTSAM_EXPORT bool gtsam::equality ( const Errors actual,
const Errors expected,
double  tol 
)

Definition at line 52 of file Errors.cpp.

◆ expm() [1/2]

template<class T >
T gtsam::expm ( const Vector x,
int  K = 7 
)

Exponential map given exponential coordinates class T needs a wedge<> function and a constructor from Matrix

Parameters
xexponential coordinates, vector of size n @ return a T

Definition at line 317 of file Lie.h.

◆ expm() [2/2]

Matrix gtsam::expm ( const Matrix A,
size_t  K = 7 
)

Numerical exponential map, naive approach, not industrial strength !!!

Parameters
Amatrix to exponentiate
Knumber of iterations

Definition at line 587 of file Matrix.cpp.

◆ expmap_default()

template<class Class >
Class gtsam::expmap_default ( const Class t,
const Vector d 
)
inline

Exponential map centered at l0, s.t. exp(t,d) = t*exp(d)

Definition at line 252 of file Lie.h.

◆ expNormalize()

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 42 of file DiscreteFactor.cpp.

◆ extractRot2Measurements()

static ShonanAveraging2::Measurements gtsam::extractRot2Measurements ( const BetweenFactorPose2s factors)
static

Definition at line 963 of file ShonanAveraging.cpp.

◆ extractRot3Measurements()

static ShonanAveraging3::Measurements gtsam::extractRot3Measurements ( const BetweenFactorPose3s factors)
static

Definition at line 1011 of file ShonanAveraging.cpp.

◆ findExampleDataFile()

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.

Returns
The full path and filename to the requested dataset.
Exceptions
std::invalid_argumentif no matching file could be found using the search process described above.

Definition at line 70 of file dataset.cpp.

◆ FindKarcherMean() [1/3]

template<class T >
T gtsam::FindKarcherMean ( const std::vector< T > &  rotations)

Definition at line 45 of file KarcherMeanFactor-inl.h.

◆ FindKarcherMean() [2/3]

template<class T >
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.

◆ FindKarcherMean() [3/3]

template<class T >
T gtsam::FindKarcherMean ( std::initializer_list< T > &&  rotations)

Definition at line 55 of file KarcherMeanFactor-inl.h.

◆ FindKarcherMeanImpl()

template<class T , class ALLOC >
T gtsam::FindKarcherMeanImpl ( const vector< T, ALLOC > &  rotations)

Definition at line 30 of file KarcherMeanFactor-inl.h.

◆ findMinimumSpanningTree()

template<class G , class KEY , class FACTOR2 >
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.

◆ formatMatrixIndented()

std::string gtsam::formatMatrixIndented ( const std::string &  label,
const Matrix matrix,
bool  makeVectorHorizontal 
)

Definition at line 597 of file Matrix.cpp.

◆ fpEqual()

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.

Parameters
check_relative_alsois 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.

◆ G3()

static std::vector<Matrix3> gtsam::G3 ( {SO3::Hat(Vector3::Unit(0)), SO3::Hat(Vector3::Unit(1)), SO3::Hat(Vector3::Unit(2))}  )
static

◆ G4()

static std::vector<Matrix4, Eigen::aligned_allocator<Matrix4> > gtsam::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))}  )
static

◆ genericValue()

template<class T >
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.

◆ getPose()

template<class CALIBRATION >
Pose3_ gtsam::getPose ( const Expression< PinholeCamera< CALIBRATION > > &  cam)
inline

Definition at line 177 of file slam/expressions.h.

◆ getSubvector()

static Vector gtsam::getSubvector ( const Vector src,
const KeyInfo keyInfo,
const KeyVector keys 
)
static

Definition at line 37 of file SubgraphPreconditioner.cpp.

◆ gradientInPlace()

static VectorValues gtsam::gradientInPlace ( const NonlinearFactorGraph nfg,
const Values values 
)
static

Return the gradient vector of a nonlinear factor graph.

Parameters
nfgthe graph
valuesa linearization point Can be moved to NonlinearFactorGraph.h if desired

Definition at line 37 of file NonlinearConjugateGradientOptimizer.cpp.

◆ greaterThanOrEqual()

bool gtsam::greaterThanOrEqual ( const Vector v1,
const Vector v2 
)

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.

◆ gtsam2openGL() [1/2]

Pose3 gtsam::gtsam2openGL ( const Rot3 R,
double  tx,
double  ty,
double  tz 
)

This function converts a GTSAM camera pose to an openGL camera pose.

Parameters
Rrotation in GTSAM
txx component of the translation in GTSAM
tyy component of the translation in GTSAM
tzz component of the translation in GTSAM
Returns
Pose3 in openGL format

Definition at line 88 of file SfmData.cpp.

◆ gtsam2openGL() [2/2]

Pose3 gtsam::gtsam2openGL ( const Pose3 PoseGTSAM)

This function converts a GTSAM camera pose to an openGL camera pose.

Parameters
PoseGTSAMpose in GTSAM format
Returns
Pose3 in openGL format

Definition at line 96 of file SfmData.cpp.

◆ GTSAM_CONCEPT_REQUIRES() [1/2]

template<typename G >
gtsam::GTSAM_CONCEPT_REQUIRES ( IsGroup< G ,
bool   
) const &

Check invariants.

◆ GTSAM_CONCEPT_REQUIRES() [2/2]

template<typename T >
gtsam::GTSAM_CONCEPT_REQUIRES ( IsTestable< T ,
bool   
) const &

Check invariants for Manifold type.

◆ guardedIsDebug()

bool GTSAM_EXPORT gtsam::guardedIsDebug ( const std::string &  s)

Definition at line 35 of file debug.cpp.

◆ guardedSetDebug()

void GTSAM_EXPORT gtsam::guardedSetDebug ( const std::string &  s,
const bool  v 
)

Definition at line 43 of file debug.cpp.

◆ hasConstraints()

bool gtsam::hasConstraints ( const GaussianFactorGraph factors)

Evaluates whether linear factors have any constrained noise models

Returns
true if any factor is constrained.

Definition at line 442 of file GaussianFactorGraph.cpp.

◆ house()

pair<double, Vector > gtsam::house ( const Vector x)

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()

void gtsam::householder ( Matrix A,
size_t  k 
)

Householder tranformation, zeros below diagonal

Parameters
knumber of columns to zero out below diagonal
Amatrix
Returns
nothing: in place !!!

Definition at line 352 of file Matrix.cpp.

◆ householder_()

void gtsam::householder_ ( Matrix A,
size_t  k,
bool  copy_vectors 
)

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

Parameters
knumber of columns to zero out below diagonal
Amatrix
copy_vectors- true to copy Householder vectors below diagonal
Returns
nothing: in place !!!

Definition at line 325 of file Matrix.cpp.

◆ houseInPlace()

double gtsam::houseInPlace ( Vector x)

beta = house(x) computes the HouseHolder vector in place

Definition at line 211 of file Vector.cpp.

◆ html()

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.

◆ hybridElimination()

static std::pair<HybridConditional::shared_ptr, std::shared_ptr<Factor> > gtsam::hybridElimination ( const HybridGaussianFactorGraph factors,
const Ordering frontalKeys,
const KeyVector continuousSeparator,
const std::set< DiscreteKey > &  discreteSeparatorSet 
)
static

Definition at line 206 of file HybridGaussianFactorGraph.cpp.

◆ HybridOrdering()

const Ordering gtsam::HybridOrdering ( const HybridGaussianFactorGraph graph)

Return a Colamd constrained ordering where the discrete keys are eliminated after the continuous keys.

Returns
const Ordering

Definition at line 72 of file HybridGaussianFactorGraph.cpp.

◆ IndexPairSetAsArray()

IndexPairVector gtsam::IndexPairSetAsArray ( IndexPairSet set)
inline

Definition at line 128 of file DSFMap.h.

◆ initialCamerasAndPointsEstimate()

Values gtsam::initialCamerasAndPointsEstimate ( const SfmData db)

This function creates initial values for cameras and points from db.

Note: Pose keys are simply integer indices, points use Symbol('p', j).

Parameters
SfmData
Returns
Values

Definition at line 430 of file SfmData.cpp.

◆ initialCamerasEstimate()

Values gtsam::initialCamerasEstimate ( const SfmData db)

This function creates initial values for cameras from db.

No symbol is used, so camera keys are simply integer indices.

Parameters
SfmData
Returns
Values

Definition at line 422 of file SfmData.cpp.

◆ inner_prod()

template<class V1 , class V2 >
double gtsam::inner_prod ( const V1 &  a,
const V2 &  b 
)
inline

compatibility version for ublas' inner_prod()

Definition at line 202 of file Vector.h.

◆ inplace_QR()

void gtsam::inplace_QR ( Matrix A)

QR factorization using Eigen's internal block QR algorithm

Parameters
Ais the input matrix, and is the output
clear_below_diagonalenables zeroing out below diagonal

Definition at line 636 of file Matrix.cpp.

◆ insertSub()

template<typename Derived1 , typename Derived2 >
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

Parameters
fullMatrixmatrix to be updated
subMatrixmatrix to be inserted
iis the row of the upper left corner insert location
jis the column of the upper left corner insert location

Definition at line 194 of file base/Matrix.h.

◆ interpolate()

template<typename T >
T gtsam::interpolate ( const T X,
const T Y,
double  t,
typename MakeOptionalJacobian< T, T >::type  Hx = {},
typename MakeOptionalJacobian< T, T >::type  Hy = {} 
)

Linear interpolation between X and Y by coefficient t. Typically t [0,1], but can also be used to extrapolate before pose X or after pose Y.

Definition at line 327 of file Lie.h.

◆ inverse_square_root()

Matrix gtsam::inverse_square_root ( const Matrix A)

Use Cholesky to calculate inverse square root of a matrix

Definition at line 550 of file Matrix.cpp.

◆ is_linear_dependent()

static bool gtsam::is_linear_dependent ( const Matrix A,
const Matrix B,
double  tol 
)
static

Definition at line 82 of file Matrix.cpp.

◆ isDebugVersion()

bool GTSAM_EXPORT gtsam::isDebugVersion ( )

Definition at line 50 of file debug.cpp.

◆ Kappa()

template<typename T , size_t d>
static double gtsam::Kappa ( const BinaryMeasurement< T > &  measurement,
const ShonanAveragingParameters< d > &  parameters 
)
static

Definition at line 336 of file ShonanAveraging.cpp.

◆ kRandomNumberGenerator()

static std::mt19937 gtsam::kRandomNumberGenerator ( 42  )
static

◆ linear_dependent() [1/2]

bool gtsam::linear_dependent ( const Matrix A,
const Matrix B,
double  tol = 1e-9 
)

check whether the rows of two matrices are linear dependent

Definition at line 114 of file Matrix.cpp.

◆ linear_dependent() [2/2]

bool gtsam::linear_dependent ( const Vector vec1,
const Vector vec2,
double  tol = 1e-9 
)

check whether two vectors are linearly dependent

Parameters
vec1Vector
vec2Vector
tol1e-9
Returns
bool

Definition at line 180 of file Vector.cpp.

◆ linear_independent()

bool gtsam::linear_independent ( const Matrix A,
const Matrix B,
double  tol = 1e-9 
)

check whether the rows of two matrices are linear independent

Definition at line 100 of file Matrix.cpp.

◆ linearExpression()

template<typename T , typename A >
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.

◆ linearizeNumerically()

JacobianFactor gtsam::linearizeNumerically ( const NoiseModelFactor factor,
const Values values,
double  delta = 1e-5 
)
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.

◆ lineSearch()

template<class S , class V , class W >
double gtsam::lineSearch ( const S system,
const V  currentValues,
const W &  gradient 
)

Implement the golden-section line search algorithm

Definition at line 87 of file NonlinearConjugateGradientOptimizer.h.

◆ LLt()

GTSAM_EXPORT Matrix gtsam::LLt ( const Matrix A)

Definition at line 521 of file Matrix.cpp.

◆ load2D() [1/2]

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

Parameters
filename
modeloptional noise model to use instead of one specified by file
maxIndexif non-zero cut out vertices >= maxIndex
addNoiseadd noise to the edges
smarttry to reduce complexity of covariance to cheapest model
noiseFormathow noise parameters are stored
kernelFunctionTypewhether to wrap the noise model in a robust kernel
Returns
graph and initial values

Definition at line 505 of file dataset.cpp.

◆ load2D() [2/2]

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

Parameters
dataset/modelpair as constructed by [dataset]
maxIndexif non-zero cut out vertices >= maxIndex
addNoiseadd noise to the edges
smarttry to reduce complexity of covariance to cheapest model

Definition at line 572 of file dataset.cpp.

◆ load2D_robust()

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.

◆ load3D()

GraphAndValues gtsam::load3D ( const std::string &  filename)

Load TORO 3D Graph.

Definition at line 922 of file dataset.cpp.

◆ logmap()

template<typename T >
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.

◆ logmap_default()

template<class Class >
Vector gtsam::logmap_default ( const Class l0,
const Class lp 
)
inline

Log map centered at l0, s.t. exp(l0,log(l0,lp)) = lp

Definition at line 246 of file Lie.h.

◆ make() [1/2]

static Symbol gtsam::make ( gtsam::Key  key)
static

Definition at line 64 of file Symbol.cpp.

◆ make() [2/2]

static LabeledSymbol gtsam::make ( gtsam::Key  key)
static

Definition at line 109 of file LabeledSymbol.cpp.

◆ make_shared() [1/2]

template<typename T , typename ... Args>
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.

Explanation

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.

Template Parameters
TThe type of object being constructed
ArgsType of the arguments of the constructor
Parameters
argsArguments of the constructor
Returns
The object created as a std::shared_ptr<T>

Definition at line 56 of file make_shared.h.

◆ make_shared() [2/2]

template<typename T , typename ... Args>
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.

◆ makeBinaryOrdering()

std::pair<KeyVector, std::vector<int> > gtsam::makeBinaryOrdering ( std::vector< Key > &  input)
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.

Parameters
inputThe original ordering.
Returns
std::pair<KeyVector, std::vector<int>>

Definition at line 85 of file Switching.h.

◆ MakeFunctorizedFactor()

template<typename T , typename R , typename FUNC >
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.

◆ MakeFunctorizedFactor2()

template<typename T1 , typename T2 , typename R , typename FUNC >
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.

◆ makeSwitchingChain()

HybridGaussianFactorGraph::shared_ptr gtsam::makeSwitchingChain ( size_t  n,
std::function< Key(int)>  keyFunc = X,
std::function< Key(int)>  dKeyFunc = M 
)
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.

Parameters
nThe number of chain elements.
keyFuncThe functional to help specify the continuous key.
dKeyFuncThe functional to help specify the discrete key.
Returns
HybridGaussianFactorGraph::shared_ptr

Definition at line 51 of file Switching.h.

◆ markdown()

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.

◆ matlabFormat()

const Eigen::IOFormat & gtsam::matlabFormat ( )

Definition at line 139 of file Matrix.cpp.

◆ maxKey()

template<class PROBLEM >
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.

◆ mean()

template<class CONTAINER >
Point3 gtsam::mean ( const CONTAINER &  points)

mean

Definition at line 70 of file Point3.h.

◆ means() [1/2]

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.

◆ means() [2/2]

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.

◆ moveWithBounce()

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

Parameters
cur_poseis the pose of the robot
step_sizeis the size of the forward step the robot tries to take
wallsis a set of walls to use for bouncing
angle_driftis a sampler for angle drift (dim=1)
reflect_noiseis a sampler for scatter after hitting a wall (dim=3)
Returns
the next pose for the robot NOTE: samplers cannot be const

Definition at line 125 of file SimWall2D.cpp.

◆ mrsymbol()

Key gtsam::mrsymbol ( unsigned char  c,
unsigned char  label,
size_t  j 
)
inline

Create a symbol key from a character, label and index, i.e. xA5.

Definition at line 128 of file LabeledSymbol.h.

◆ mrsymbolChr()

unsigned char gtsam::mrsymbolChr ( Key  key)
inline

Return the character portion of a symbol key.

Definition at line 133 of file LabeledSymbol.h.

◆ mrsymbolIndex()

size_t gtsam::mrsymbolIndex ( Key  key)
inline

Return the index portion of a symbol key.

Definition at line 139 of file LabeledSymbol.h.

◆ mrsymbolLabel()

unsigned char gtsam::mrsymbolLabel ( Key  key)
inline

Return the label portion of a symbol key.

Definition at line 136 of file LabeledSymbol.h.

◆ nonlinearConjugateGradient()

template<class S , class V >
std::tuple<V, int> gtsam::nonlinearConjugateGradient ( const S system,
const V initial,
const NonlinearOptimizerParams params,
const bool  singleIteration,
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 147 of file NonlinearConjugateGradientOptimizer.h.

◆ norm2()

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.

◆ norm3()

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.

◆ normal()

Unit3_ gtsam::normal ( const OrientedPlane3_ p)
inline

Definition at line 121 of file slam/expressions.h.

◆ normalize() [1/3]

Point3 gtsam::normalize ( const Point3 p,
OptionalJacobian< 3, 3 >  H 
)

normalize, with optional Jacobian

Definition at line 52 of file Point3.cpp.

◆ normalize() [2/3]

Point3_ gtsam::normalize ( const Point3_ a)
inline

Definition at line 61 of file slam/expressions.h.

◆ normalize() [3/3]

static void gtsam::normalize ( Signature::Row row)
static

Definition at line 88 of file Signature.cpp.

◆ NrUnknowns()

template<size_t d>
static size_t gtsam::NrUnknowns ( const typename ShonanAveraging< d >::Measurements &  measurements)
static

Definition at line 102 of file ShonanAveraging.cpp.

◆ numericalDerivative11() [1/2]

template<class Y , class X , int N = traits<X>::dimension>
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

Parameters
hunary function yielding m-vector
xn-dimensional value at which to evaluate h
deltaincrement for numerical derivative Class Y is the output argument Class X is the input argument
Template Parameters
intN is the dimension of the X input value if variable dimension type but known at test time
Returns
m*n Jacobian computed via central differencing

Definition at line 110 of file numericalDerivative.h.

◆ numericalDerivative11() [2/2]

template<class Y , class X >
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.

◆ numericalDerivative21() [1/2]

template<class Y , class X1 , class X2 , int N = traits<X1>::dimension>
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

Parameters
hbinary function yielding m-vector
x1n-dimensional first argument value
x2second argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative21() [2/2]

template<class Y , class X1 , class X2 >
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.

◆ numericalDerivative22() [1/2]

template<class Y , class X1 , class X2 , int N = traits<X2>::dimension>
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

Parameters
hbinary function yielding m-vector
x1first argument value
x2n-dimensional second argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative22() [2/2]

template<class Y , class X1 , class X2 >
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.

◆ numericalDerivative31() [1/2]

template<class Y , class X1 , class X2 , class X3 , int N = traits<X1>::dimension>
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

Parameters
hternary function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing All classes Y,X1,X2,X3 need dim, expmap, logmap
Template Parameters
intN 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.

◆ numericalDerivative31() [2/2]

template<class Y , class X1 , class X2 , class X3 >
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.

◆ numericalDerivative32() [1/2]

template<class Y , class X1 , class X2 , class X3 , int N = traits<X2>::dimension>
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

Parameters
hternary function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing All classes Y,X1,X2,X3 need dim, expmap, logmap
Template Parameters
intN 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.

◆ numericalDerivative32() [2/2]

template<class Y , class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<Y,X2>::type gtsam::numericalDerivative32 ( Y(*)(const X1 &, const X2 &, const X3 &)  h,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Definition at line 272 of file numericalDerivative.h.

◆ numericalDerivative33() [1/2]

template<class Y , class X1 , class X2 , class X3 , int N = traits<X3>::dimension>
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

Parameters
hternary function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing All classes Y,X1,X2,X3 need dim, expmap, logmap
Template Parameters
intN 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.

◆ numericalDerivative33() [2/2]

template<class Y , class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<Y,X3>::type gtsam::numericalDerivative33 ( Y(*)(const X1 &, const X2 &, const X3 &)  h,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Definition at line 305 of file numericalDerivative.h.

◆ numericalDerivative41() [1/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , int N = traits<X1>::dimension>
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

Parameters
hquartic function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
x4fourth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative41() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 >
internal::FixedSizeMatrix<Y,X1>::type gtsam::numericalDerivative41 ( 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 
)
inline

Definition at line 339 of file numericalDerivative.h.

◆ numericalDerivative42() [1/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , int N = traits<X2>::dimension>
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

Parameters
hquartic function yielding m-vector
x1first argument value
x2n-dimensional second argument value
x3third argument value
x4fourth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative42() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 >
internal::FixedSizeMatrix<Y,X2>::type gtsam::numericalDerivative42 ( 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 
)
inline

Definition at line 373 of file numericalDerivative.h.

◆ numericalDerivative43() [1/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , int N = traits<X3>::dimension>
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

Parameters
hquartic function yielding m-vector
x1first argument value
x2second argument value
x3n-dimensional third argument value
x4fourth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative43() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 >
internal::FixedSizeMatrix<Y,X3>::type gtsam::numericalDerivative43 ( 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 
)
inline

Definition at line 407 of file numericalDerivative.h.

◆ numericalDerivative44() [1/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , int N = traits<X4>::dimension>
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

Parameters
hquartic function yielding m-vector
x1first argument value
x2second argument value
x3third argument value
x4n-dimensional fourth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative44() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 >
internal::FixedSizeMatrix<Y,X4>::type gtsam::numericalDerivative44 ( 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 
)
inline

Definition at line 441 of file numericalDerivative.h.

◆ numericalDerivative51() [1/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , int N = traits<X1>::dimension>
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

Parameters
hquintic function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
x4fourth argument value
x5fifth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative51() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 >
internal::FixedSizeMatrix<Y,X1>::type gtsam::numericalDerivative51 ( 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 
)
inline

Definition at line 476 of file numericalDerivative.h.

◆ numericalDerivative52() [1/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , int N = traits<X2>::dimension>
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

Parameters
hquintic function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
x4fourth argument value
x5fifth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative52() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 >
internal::FixedSizeMatrix<Y,X2>::type gtsam::numericalDerivative52 ( 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 
)
inline

Definition at line 512 of file numericalDerivative.h.

◆ numericalDerivative53() [1/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , int N = traits<X3>::dimension>
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

Parameters
hquintic function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
x4fourth argument value
x5fifth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative53() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 >
internal::FixedSizeMatrix<Y,X3>::type gtsam::numericalDerivative53 ( 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 
)
inline

Definition at line 548 of file numericalDerivative.h.

◆ numericalDerivative54() [1/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , int N = traits<X4>::dimension>
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

Parameters
hquintic function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
x4fourth argument value
x5fifth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative54() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 >
internal::FixedSizeMatrix<Y,X4>::type gtsam::numericalDerivative54 ( 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 
)
inline

Definition at line 584 of file numericalDerivative.h.

◆ numericalDerivative55() [1/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , int N = traits<X5>::dimension>
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

Parameters
hquintic function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
x4fourth argument value
x5fifth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative55() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 >
internal::FixedSizeMatrix<Y,X5>::type gtsam::numericalDerivative55 ( 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 
)
inline

Definition at line 620 of file numericalDerivative.h.

◆ numericalDerivative61() [1/2]

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 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

Parameters
hquintic function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
x4fourth argument value
x5fifth argument value
x6sixth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative61() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 >
internal::FixedSizeMatrix<Y,X1>::type gtsam::numericalDerivative61 ( 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 
)
inline

Definition at line 657 of file numericalDerivative.h.

◆ numericalDerivative62() [1/2]

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 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

Parameters
hquintic function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
x4fourth argument value
x5fifth argument value
x6sixth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative62() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 >
internal::FixedSizeMatrix<Y,X2>::type gtsam::numericalDerivative62 ( 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 
)
inline

Definition at line 694 of file numericalDerivative.h.

◆ numericalDerivative63() [1/2]

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 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

Parameters
hquintic function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
x4fourth argument value
x5fifth argument value
x6sixth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative63() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 >
internal::FixedSizeMatrix<Y,X3>::type gtsam::numericalDerivative63 ( 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 
)
inline

Definition at line 731 of file numericalDerivative.h.

◆ numericalDerivative64() [1/2]

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 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

Parameters
hquintic function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
x4fourth argument value
x5fifth argument value
x6sixth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative64() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 >
internal::FixedSizeMatrix<Y,X4>::type gtsam::numericalDerivative64 ( 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 
)
inline

Definition at line 768 of file numericalDerivative.h.

◆ numericalDerivative65() [1/2]

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 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

Parameters
hquintic function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
x4fourth argument value
x5fifth argument value
x6sixth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative65() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 >
internal::FixedSizeMatrix<Y,X5>::type gtsam::numericalDerivative65 ( 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 
)
inline

Definition at line 805 of file numericalDerivative.h.

◆ numericalDerivative66() [1/2]

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 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

Parameters
hquintic function yielding m-vector
x1n-dimensional first argument value
x2second argument value
x3third argument value
x4fourth argument value
x5fifth argument value
x6sixth argument value
deltaincrement for numerical derivative
Returns
m*n Jacobian computed via central differencing
Template Parameters
intN 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.

◆ numericalDerivative66() [2/2]

template<class Y , class X1 , class X2 , class X3 , class X4 , class X5 , class X6 >
internal::FixedSizeMatrix<Y,X6>::type gtsam::numericalDerivative66 ( 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 
)
inline

Definition at line 843 of file numericalDerivative.h.

◆ numericalGradient()

template<class X , int N = traits<X>::dimension>
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.

Returns
n-dimensional gradient computed via central differencing Class X is the input argument The class X needs to have dim, expmap, logmap int N is the dimension of the X input value if variable dimension type but known at test time

Definition at line 70 of file numericalDerivative.h.

◆ numericalHessian() [1/2]

template<class X >
internal::FixedSizeMatrix<X,X>::type gtsam::numericalHessian ( std::function< double(const X &)>  f,
const X x,
double  delta = 1e-5 
)
inline

Compute numerical Hessian matrix. Requires a single-argument Lie->scalar function. This is implemented simply as the derivative of the gradient.

Parameters
fA function taking a Lie object as input and returning a scalar
xThe center point for computing the Hessian
deltaThe numerical derivative step size
Returns
n*n Hessian matrix computed via central differencing

Definition at line 861 of file numericalDerivative.h.

◆ numericalHessian() [2/2]

template<class X >
internal::FixedSizeMatrix<X,X>::type gtsam::numericalHessian ( double(*)(const X &)  f,
const X x,
double  delta = 1e-5 
)
inline

Definition at line 874 of file numericalDerivative.h.

◆ numericalHessian211() [1/2]

template<class X1 , class X2 >
internal::FixedSizeMatrix<X1,X1>::type gtsam::numericalHessian211 ( std::function< double(const X1 &, const X2 &)>  f,
const X1 &  x1,
const X2 &  x2,
double  delta = 1e-5 
)
inline

Definition at line 920 of file numericalDerivative.h.

◆ numericalHessian211() [2/2]

template<class X1 , class X2 >
internal::FixedSizeMatrix<X1,X1>::type gtsam::numericalHessian211 ( double(*)(const X1 &, const X2 &)  f,
const X1 &  x1,
const X2 &  x2,
double  delta = 1e-5 
)
inline

Definition at line 938 of file numericalDerivative.h.

◆ numericalHessian212() [1/2]

template<class X1 , class X2 >
internal::FixedSizeMatrix<X1,X2>::type gtsam::numericalHessian212 ( std::function< double(const X1 &, const X2 &)>  f,
const X1 &  x1,
const X2 &  x2,
double  delta = 1e-5 
)
inline

Definition at line 901 of file numericalDerivative.h.

◆ numericalHessian212() [2/2]

template<class X1 , class X2 >
internal::FixedSizeMatrix<X1,X2>::type gtsam::numericalHessian212 ( double(*)(const X1 &, const X2 &)  f,
const X1 &  x1,
const X2 &  x2,
double  delta = 1e-5 
)
inline

Definition at line 913 of file numericalDerivative.h.

◆ numericalHessian222() [1/2]

template<class X1 , class X2 >
internal::FixedSizeMatrix<X2,X2>::type gtsam::numericalHessian222 ( std::function< double(const X1 &, const X2 &)>  f,
const X1 &  x1,
const X2 &  x2,
double  delta = 1e-5 
)
inline

Definition at line 945 of file numericalDerivative.h.

◆ numericalHessian222() [2/2]

template<class X1 , class X2 >
internal::FixedSizeMatrix<X2,X2>::type gtsam::numericalHessian222 ( double(*)(const X1 &, const X2 &)  f,
const X1 &  x1,
const X2 &  x2,
double  delta = 1e-5 
)
inline

Definition at line 961 of file numericalDerivative.h.

◆ numericalHessian311() [1/2]

template<class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<X1,X1>::type gtsam::numericalHessian311 ( std::function< double(const X1 &, const X2 &, const X3 &)>  f,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Numerical Hessian for tenary functions

Definition at line 972 of file numericalDerivative.h.

◆ numericalHessian311() [2/2]

template<class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<X1,X1>::type gtsam::numericalHessian311 ( double(*)(const X1 &, const X2 &, const X3 &)  f,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Definition at line 988 of file numericalDerivative.h.

◆ numericalHessian312() [1/2]

template<class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<X1,X2>::type gtsam::numericalHessian312 ( std::function< double(const X1 &, const X2 &, const X3 &)>  f,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Definition at line 1047 of file numericalDerivative.h.

◆ numericalHessian312() [2/2]

template<class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<X1,X2>::type gtsam::numericalHessian312 ( double(*)(const X1 &, const X2 &, const X3 &)  f,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Definition at line 1081 of file numericalDerivative.h.

◆ numericalHessian313() [1/2]

template<class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<X1,X3>::type gtsam::numericalHessian313 ( std::function< double(const X1 &, const X2 &, const X3 &)>  f,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Definition at line 1058 of file numericalDerivative.h.

◆ numericalHessian313() [2/2]

template<class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<X1,X3>::type gtsam::numericalHessian313 ( double(*)(const X1 &, const X2 &, const X3 &)  f,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Definition at line 1089 of file numericalDerivative.h.

◆ numericalHessian322() [1/2]

template<class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<X2,X2>::type gtsam::numericalHessian322 ( std::function< double(const X1 &, const X2 &, const X3 &)>  f,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Definition at line 997 of file numericalDerivative.h.

◆ numericalHessian322() [2/2]

template<class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<X2,X2>::type gtsam::numericalHessian322 ( double(*)(const X1 &, const X2 &, const X3 &)  f,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Definition at line 1013 of file numericalDerivative.h.

◆ numericalHessian323() [1/2]

template<class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<X2,X3>::type gtsam::numericalHessian323 ( std::function< double(const X1 &, const X2 &, const X3 &)>  f,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Definition at line 1069 of file numericalDerivative.h.

◆ numericalHessian323() [2/2]

template<class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<X2,X3>::type gtsam::numericalHessian323 ( double(*)(const X1 &, const X2 &, const X3 &)  f,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Definition at line 1097 of file numericalDerivative.h.

◆ numericalHessian333() [1/2]

template<class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<X3,X3>::type gtsam::numericalHessian333 ( std::function< double(const X1 &, const X2 &, const X3 &)>  f,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Definition at line 1022 of file numericalDerivative.h.

◆ numericalHessian333() [2/2]

template<class X1 , class X2 , class X3 >
internal::FixedSizeMatrix<X3,X3>::type gtsam::numericalHessian333 ( double(*)(const X1 &, const X2 &, const X3 &)  f,
const X1 &  x1,
const X2 &  x2,
const X3 &  x3,
double  delta = 1e-5 
)
inline

Definition at line 1038 of file numericalDerivative.h.

◆ openGL2gtsam()

Pose3 gtsam::openGL2gtsam ( const Rot3 R,
double  tx,
double  ty,
double  tz 
)

This function converts an openGL camera pose to an GTSAM camera pose.

Parameters
Rrotation in openGL
txx component of the translation in openGL
tyy component of the translation in openGL
tzz component of the translation in openGL
Returns
Pose3 in GTSAM format

Definition at line 79 of file SfmData.cpp.

◆ openGLFixedRotation()

Rot3 gtsam::openGLFixedRotation ( )

Definition at line 65 of file SfmData.cpp.

◆ operator &() [1/2]

DiscreteKeys gtsam::operator& ( const DiscreteKey key1,
const DiscreteKey key2 
)

Create a list from two keys.

Definition at line 45 of file DiscreteKey.cpp.

◆ operator &() [2/2]

GTSAM_EXPORT DiscreteKeys gtsam::operator& ( const DiscreteKey key1,
const DiscreteKey key2 
)

Create a list from two keys.

Definition at line 45 of file DiscreteKey.cpp.

◆ operator!=()

bool gtsam::operator!= ( const Matrix A,
const Matrix B 
)
inline

inequality

Definition at line 106 of file base/Matrix.h.

◆ operator%() [1/3]

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.

◆ operator%() [2/3]

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.

◆ operator%() [3/3]

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.

◆ operator*() [1/4]

Point2 gtsam::operator* ( double  s,
const Point2 p 
)
inline

multiply with scalar

Definition at line 52 of file Point2.h.

◆ operator*() [2/4]

template<typename T >
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.

◆ operator*() [3/4]

template<typename T >
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.

◆ operator*() [4/4]

VectorValues gtsam::operator* ( const double  a,
const VectorValues c 
)

Element-wise scaling by a constant.

Definition at line 347 of file VectorValues.cpp.

◆ operator+() [1/2]

Errors gtsam::operator+ ( const Errors a,
const Errors b 
)

Addition.

Definition at line 59 of file Errors.cpp.

◆ operator+() [2/2]

template<typename T >
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.

◆ operator-() [1/3]

Errors gtsam::operator- ( const Errors a,
const Errors b 
)

Subtraction.

Definition at line 74 of file Errors.cpp.

◆ operator-() [2/3]

Errors gtsam::operator- ( const Errors a)

Negation.

Definition at line 88 of file Errors.cpp.

◆ operator-() [3/3]

template<typename T >
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.

◆ operator<<() [1/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Cal3_S2Stereo cal 
)

Definition at line 25 of file Cal3_S2Stereo.cpp.

◆ operator<<() [2/40]

std::ostream& gtsam::operator<< ( std::ostream &  stream,
const ImuMeasurement meas 
)

Definition at line 27 of file ImuMeasurement.h.

◆ operator<<() [3/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Cal3_S2 cal 
)

Definition at line 27 of file Cal3_S2.cpp.

◆ operator<<() [4/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Cal3DS2 cal 
)

Definition at line 28 of file Cal3DS2.cpp.

◆ operator<<() [5/40]

ostream& gtsam::operator<< ( ostream &  os,
const Signature::Row row 
)

Definition at line 30 of file Signature.cpp.

◆ operator<<() [6/40]

ostream& gtsam::operator<< ( ostream &  os,
const StereoPoint2 p 
)

Definition at line 31 of file StereoPoint2.cpp.

◆ operator<<() [7/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Cal3DS2_Base cal 
)

Definition at line 35 of file Cal3DS2_Base.cpp.

◆ operator<<() [8/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Cal3Unified cal 
)

Definition at line 36 of file Cal3Unified.cpp.

◆ operator<<() [9/40]

GTSAM_EXPORT std::ostream& gtsam::operator<< ( std::ostream &  os,
const gtsam::Point2Pair p 
)

◆ operator<<() [10/40]

ostream& gtsam::operator<< ( ostream &  os,
const PreconditionerParameters p 
)

Definition at line 36 of file Preconditioner.cpp.

◆ operator<<() [11/40]

ostream& gtsam::operator<< ( ostream &  os,
const Signature::Table table 
)

Definition at line 36 of file Signature.cpp.

◆ operator<<() [12/40]

ostream& gtsam::operator<< ( ostream &  os,
const PreintegrationBase pim 
)

Definition at line 37 of file PreintegrationBase.cpp.

◆ operator<<() [13/40]

GTSAM_EXPORT std::ostream& gtsam::operator<< ( std::ostream &  os,
const gtsam::Point3Pair p 
)

◆ operator<<() [14/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Cal3Bundler cal 
)

Definition at line 45 of file Cal3Bundler.cpp.

◆ operator<<() [15/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Cal3 cal 
)

Definition at line 49 of file Cal3.cpp.

◆ operator<<() [16/40]

ostream& gtsam::operator<< ( ostream &  os,
const IterativeOptimizationParameters p 
)

Definition at line 50 of file IterativeSolver.cpp.

◆ operator<<() [17/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Pose2 pose 
)

Definition at line 55 of file Pose2.cpp.

◆ operator<<() [18/40]

GTSAM_EXPORT std::ostream& gtsam::operator<< ( std::ostream &  os,
const Symbol symbol 
)

Definition at line 73 of file Symbol.cpp.

◆ operator<<() [19/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const NavState state 
)

Definition at line 88 of file NavState.cpp.

◆ operator<<() [20/40]

ostream& gtsam::operator<< ( ostream &  os,
const gtsam::Point3Pair p 
)

Definition at line 92 of file Point3.cpp.

◆ operator<<() [21/40]

ostream& gtsam::operator<< ( ostream &  os,
const Subgraph::Edge edge 
)

Definition at line 95 of file SubgraphBuilder.cpp.

◆ operator<<() [22/40]

ostream& gtsam::operator<< ( ostream &  os,
const Subgraph subgraph 
)

Definition at line 104 of file SubgraphBuilder.cpp.

◆ operator<<() [23/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Dih6 m 
)

Definition at line 109 of file testGroup.cpp.

◆ operator<<() [24/40]

ostream& gtsam::operator<< ( ostream &  os,
const key_formatter m 
)

Definition at line 111 of file Key.cpp.

◆ operator<<() [25/40]

ostream& gtsam::operator<< ( ostream &  os,
const Signature s 
)

Definition at line 111 of file Signature.cpp.

◆ operator<<() [26/40]

ostream& gtsam::operator<< ( ostream &  os,
const EssentialMatrix E 
)

Definition at line 117 of file EssentialMatrix.cpp.

◆ operator<<() [27/40]

ostream& gtsam::operator<< ( ostream &  os,
const StreamedKey streamedKey 
)

Definition at line 118 of file Key.cpp.

◆ operator<<() [28/40]

ostream& gtsam::operator<< ( ostream &  os,
const SubgraphBuilderParameters p 
)

Definition at line 126 of file SubgraphBuilder.cpp.

◆ operator<<() [29/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const ImuFactor f 
)

Definition at line 128 of file ImuFactor.cpp.

◆ operator<<() [30/40]

ostream& gtsam::operator<< ( ostream &  os,
const gtsam::Point2Pair p 
)

Definition at line 129 of file Point2.cpp.

◆ operator<<() [31/40]

GTSAM_EXPORT std::ostream& gtsam::operator<< ( std::ostream &  os,
const VectorValues v 
)

Definition at line 130 of file VectorValues.cpp.

◆ operator<<() [32/40]

GTSAM_EXPORT std::ostream& gtsam::operator<< ( std::ostream &  os,
const LabeledSymbol symbol 
)

Definition at line 145 of file LabeledSymbol.cpp.

◆ operator<<() [33/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Cal3Fisheye cal 
)

Definition at line 157 of file Cal3Fisheye.cpp.

◆ operator<<() [34/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Unit3 pair 
)

Definition at line 158 of file Unit3.cpp.

◆ operator<<() [35/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const ImuFactor2 f 
)

Definition at line 223 of file ImuFactor.cpp.

◆ operator<<() [36/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Similarity2 p 
)

Definition at line 225 of file Similarity2.cpp.

◆ operator<<() [37/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Similarity3 p 
)

Definition at line 278 of file Similarity3.cpp.

◆ operator<<() [38/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const CombinedImuFactor f 
)

Definition at line 299 of file CombinedImuFactor.cpp.

◆ operator<<() [39/40]

ostream& gtsam::operator<< ( ostream &  os,
const Rot3 R 
)

Definition at line 306 of file Rot3.cpp.

◆ operator<<() [40/40]

std::ostream& gtsam::operator<< ( std::ostream &  os,
const Pose3 pose 
)

Definition at line 493 of file Pose3.cpp.

◆ operator==() [1/2]

bool gtsam::operator== ( const Matrix A,
const Matrix B 
)
inline

equality is just equal_with_abs_tol 1e-9

Definition at line 99 of file base/Matrix.h.

◆ operator==() [2/2]

bool gtsam::operator== ( const Vector vec1,
const Vector vec2 
)

operator==()

Definition at line 103 of file Vector.cpp.

◆ operator>>() [1/6]

istream& gtsam::operator>> ( istream &  is,
EssentialMatrix E 
)

Definition at line 126 of file EssentialMatrix.cpp.

◆ operator>>() [2/6]

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.

◆ operator>>() [3/6]

istream& gtsam::operator>> ( istream &  inputStream,
Matrix destinationMatrix 
)

Definition at line 173 of file Matrix.cpp.

◆ operator>>() [4/6]

std::istream& gtsam::operator>> ( std::istream &  is,
Quaternion q 
)

Definition at line 738 of file dataset.cpp.

◆ operator>>() [5/6]

std::istream& gtsam::operator>> ( std::istream &  is,
Rot3 R 
)

Definition at line 748 of file dataset.cpp.

◆ operator>>() [6/6]

std::istream& gtsam::operator>> ( std::istream &  is,
Matrix6 &  m 
)

Definition at line 800 of file dataset.cpp.

◆ operator^()

Vector gtsam::operator^ ( const Matrix A,
const Vector v 
)

overload ^ for trans(A)*v We transpose the vectors for speed.

Definition at line 128 of file Matrix.cpp.

◆ operator|()

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.

◆ optimize()

Point3 gtsam::optimize ( const NonlinearFactorGraph graph,
const Values values,
Key  landmarkKey 
)

Optimize for triangulation

Parameters
graphnonlinear factors for projection
valuesinitial values
landmarkKeyto refer to landmark
Returns
refined Point3

Definition at line 177 of file triangulation.cpp.

◆ optimizeWildfire()

size_t gtsam::optimizeWildfire ( const ISAM2Clique::shared_ptr root,
double  threshold,
const KeySet replaced,
VectorValues delta 
)

Optimize the BayesTree, starting from the root.

Parameters
thresholdThe 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.
replacedNeeds to contain all variables that are contained in the top of the Bayes tree that has been redone.
Returns
The number of variables that were solved for.
Parameters
deltaThe current solution, an offset from the linearization point.

Definition at line 226 of file ISAM2Clique.cpp.

◆ optimizeWildfireNonRecursive()

size_t gtsam::optimizeWildfireNonRecursive ( const ISAM2Clique::shared_ptr root,
double  threshold,
const KeySet keys,
VectorValues delta 
)

Definition at line 260 of file ISAM2Clique.cpp.

◆ orderedSlotsHelper()

FastVector<VariableSlots::const_iterator> gtsam::orderedSlotsHelper ( const Ordering ordering,
const VariableSlots variableSlots 
)

Definition at line 285 of file JacobianFactor.cpp.

◆ parse2DFactors()

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.

◆ parse3DFactors()

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.

◆ ParseAnd()

static Table gtsam::ParseAnd ( )
inlinestatic

Definition at line 20 of file SignatureParser.cpp.

◆ ParseConditional()

static std::optional<Row> gtsam::ParseConditional ( const std::string &  token)
static

Definition at line 24 of file SignatureParser.cpp.

◆ ParseConditionalTable()

static std::optional<Table> gtsam::ParseConditionalTable ( const std::vector< std::string > &  tokens)
static

Definition at line 44 of file SignatureParser.cpp.

◆ parseEdge()

std::optional<IndexedEdge> gtsam::parseEdge ( std::istream &  is,
const std::string &  tag 
)

Parse TORO/G2O edge "id1 id2 x y yaw"

Parameters
isinput stream
tagstring parsed from input stream, will only parse if edge type

Definition at line 299 of file dataset.cpp.

◆ parseFactors()

template<typename T >
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 
)

Parse BetweenFactors in a line-based text format (like g2o) into a vector of shared pointers. Instantiated in .cpp T equal to Pose2 and Pose3.

◆ parseFactors< Pose2 >()

template<>
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.

◆ parseFactors< Pose3 >()

template<>
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.

◆ ParseFalseRow()

static Row gtsam::ParseFalseRow ( )
inlinestatic

Definition at line 14 of file SignatureParser.cpp.

◆ parseLines()

template<typename T >
static void gtsam::parseLines ( const std::string &  filename,
Parser< T parse 
)
static

Definition at line 130 of file dataset.cpp.

◆ parseMeasurements() [1/5]

template<typename T >
GTSAM_EXPORT std::vector<BinaryMeasurement<T> > gtsam::parseMeasurements ( const std::string &  filename,
const noiseModel::Diagonal::shared_ptr model = nullptr,
size_t  maxIndex = 0 
)

Parse binary measurements in a line-based text format (like g2o) into a vector. Instantiated in .cpp for Pose2, Rot2, Pose3, and Rot3. The rotation versions parse poses and extract only the rotation part, using the marginal covariance as noise model.

Definition at line 396 of file dataset.cpp.

◆ parseMeasurements() [2/5]

template<>
GTSAM_EXPORT std::vector<BinaryMeasurement<Pose2> > gtsam::parseMeasurements ( const std::string &  filename,
const noiseModel::Diagonal::shared_ptr model = nullptr,
size_t  maxIndex = 0 
)

Parse binary measurements in a line-based text format (like g2o) into a vector. Instantiated in .cpp for Pose2, Rot2, Pose3, and Rot3. The rotation versions parse poses and extract only the rotation part, using the marginal covariance as noise model.

Definition at line 396 of file dataset.cpp.

◆ parseMeasurements() [3/5]

template<>
GTSAM_EXPORT std::vector<BinaryMeasurement<Rot2> > gtsam::parseMeasurements ( const std::string &  filename,
const noiseModel::Diagonal::shared_ptr model = nullptr,
size_t  maxIndex = 0 
)

Parse binary measurements in a line-based text format (like g2o) into a vector. Instantiated in .cpp for Pose2, Rot2, Pose3, and Rot3. The rotation versions parse poses and extract only the rotation part, using the marginal covariance as noise model.

Definition at line 424 of file dataset.cpp.

◆ parseMeasurements() [4/5]

template<>
GTSAM_EXPORT std::vector<BinaryMeasurement<Pose3> > gtsam::parseMeasurements ( const std::string &  filename,
const noiseModel::Diagonal::shared_ptr model = nullptr,
size_t  maxIndex = 0 
)

Parse binary measurements in a line-based text format (like g2o) into a vector. Instantiated in .cpp for Pose2, Rot2, Pose3, and Rot3. The rotation versions parse poses and extract only the rotation part, using the marginal covariance as noise model.

Definition at line 870 of file dataset.cpp.

◆ parseMeasurements() [5/5]

template<>
GTSAM_EXPORT std::vector<BinaryMeasurement<Rot3> > gtsam::parseMeasurements ( const std::string &  filename,
const noiseModel::Diagonal::shared_ptr model = nullptr,
size_t  maxIndex = 0 
)

Parse binary measurements in a line-based text format (like g2o) into a vector. Instantiated in .cpp for Pose2, Rot2, Pose3, and Rot3. The rotation versions parse poses and extract only the rotation part, using the marginal covariance as noise model.

Definition at line 898 of file dataset.cpp.

◆ ParseOr()

static Table gtsam::ParseOr ( )
inlinestatic

Definition at line 16 of file SignatureParser.cpp.

◆ parseToMap()

template<typename T >
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.

◆ parseToVector()

template<typename T >
static std::vector<T> gtsam::parseToVector ( const std::string &  filename,
Parser< T parse 
)
static

Definition at line 161 of file dataset.cpp.

◆ ParseTrueRow()

static Row gtsam::ParseTrueRow ( )
inlinestatic

Definition at line 12 of file SignatureParser.cpp.

◆ parseVariables()

template<typename T >
GTSAM_EXPORT std::map<size_t, T> gtsam::parseVariables ( const std::string &  filename,
size_t  maxIndex = 0 
)

Parse variables in a line-based text format (like g2o) into a map. Instantiated in .cpp Pose2, Point2, Pose3, and Point3. Note the map keys are integer indices, not gtsam::Keys. This is is different below where landmarks will use L(index) symbols.

◆ parseVariables< Point2 >()

template<>
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.

◆ parseVariables< Point3 >()

template<>
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.

◆ parseVariables< Pose2 >()

template<>
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.

◆ parseVariables< Pose3 >()

template<>
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.

◆ parseVertexLandmark()

std::optional<IndexedLandmark> gtsam::parseVertexLandmark ( std::istream &  is,
const std::string &  tag 
)

Parse G2O landmark vertex "id x y"

Parameters
isinput stream
tagstring parsed from input stream, will only parse if vertex type

Definition at line 193 of file dataset.cpp.

◆ parseVertexPoint3()

std::optional<std::pair<size_t, Point3> > gtsam::parseVertexPoint3 ( std::istream &  is,
const std::string &  tag 
)

Definition at line 781 of file dataset.cpp.

◆ parseVertexPose()

std::optional<IndexedPose> gtsam::parseVertexPose ( std::istream &  is,
const std::string &  tag 
)

Parse TORO/G2O vertex "id x y yaw"

Parameters
isinput stream
tagstring parsed from input stream, will only parse if vertex type

Definition at line 173 of file dataset.cpp.

◆ parseVertexPose3()

std::optional<std::pair<size_t, Pose3> > gtsam::parseVertexPose3 ( std::istream &  is,
const std::string &  tag 
)

Definition at line 756 of file dataset.cpp.

◆ perturb()

static Vector gtsam::perturb ( const Vector initialVector)
static

Definition at line 503 of file ShonanAveraging.cpp.

◆ point3()

Point3_ gtsam::point3 ( const Unit3_ v)
inline

Definition at line 101 of file slam/expressions.h.

◆ position()

Point3_ gtsam::position ( const NavState_ X)
inline

Definition at line 37 of file navigation/expressions.h.

◆ PowerMinimumEigenValue()

static bool gtsam::PowerMinimumEigenValue ( const Sparse A,
const Matrix S,
double &  minEigenValue,
Vector minEigenVector = 0,
size_t numIterations = 0,
size_t  maxIterations = 1000,
double  minEigenvalueNonnegativityTolerance = 10e-4 
)
static

MINIMUM EIGENVALUE COMPUTATIONS.

Definition at line 526 of file ShonanAveraging.cpp.

◆ preconditionedConjugateGradient()

template<class S , class V >
V gtsam::preconditionedConjugateGradient ( const S system,
const V initial,
const ConjugateGradientParameters parameters 
)

Definition at line 100 of file ConjugateGradientSolver.h.

◆ predecessorMap2Graph()

template<class G , class V , class KEY >
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.

◆ predecessorMap2Keys()

template<class KEY >
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.

◆ print() [1/12]

void gtsam::print ( const Errors e,
const string &  s 
)

Print an Errors instance.

Definition at line 37 of file Errors.cpp.

◆ print() [2/12]

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.

◆ Print()

template<class CONTAINER >
void gtsam::Print ( const CONTAINER &  keys,
const string &  s,
const KeyFormatter keyFormatter 
)

Definition at line 62 of file Key.cpp.

◆ print() [3/12]

void gtsam::print ( float  v,
const std::string &  s = "" 
)
inline

Definition at line 76 of file Testable.h.

◆ print() [4/12]

void gtsam::print ( double  v,
const std::string &  s = "" 
)
inline

Definition at line 79 of file Testable.h.

◆ print() [5/12]

void gtsam::print ( const Vector v,
const string &  s,
ostream &  stream 
)

Definition at line 79 of file Vector.cpp.

◆ print() [6/12]

void gtsam::print ( const Vector v,
const std::string &  s = "" 
)

print with optional string to cout

Definition at line 91 of file Vector.cpp.

◆ print() [7/12]

GTSAM_EXPORT void gtsam::print ( const Vector v,
const std::string &  s,
std::ostream &  stream 
)

print without optional string, must specify cout yourself

◆ print() [8/12]

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.

◆ print() [9/12]

GTSAM_EXPORT void gtsam::print ( const Matrix A,
const std::string &  s,
std::ostream &  stream 
)

print without optional string, must specify cout yourself

◆ print() [10/12]

void gtsam::print ( const Matrix A,
const string &  s,
ostream &  stream 
)

Definition at line 155 of file Matrix.cpp.

◆ print() [11/12]

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.

◆ print() [12/12]

void gtsam::print ( const Matrix A,
const std::string &  s = "" 
)

print with optional string to cout

Definition at line 161 of file Matrix.cpp.

◆ PrintKey() [1/2]

void gtsam::PrintKey ( Key  key,
const string &  s,
const KeyFormatter keyFormatter 
)

Utility function to print one key with optional prefix.

Definition at line 41 of file Key.cpp.

◆ PrintKey() [2/2]

GTSAM_EXPORT void gtsam::PrintKey ( Key  key,
const std::string &  s = "",
const KeyFormatter keyFormatter = DefaultKeyFormatter 
)

Utility function to print one key with optional prefix.

Definition at line 41 of file Key.cpp.

◆ PrintKeyList() [1/2]

void gtsam::PrintKeyList ( const KeyList keys,
const string &  s,
const KeyFormatter keyFormatter 
)

Utility function to print sets of keys with optional prefix.

Definition at line 75 of file Key.cpp.

◆ PrintKeyList() [2/2]

GTSAM_EXPORT void gtsam::PrintKeyList ( const KeyList keys,
const std::string &  s = "",
const KeyFormatter keyFormatter = DefaultKeyFormatter 
)

Utility function to print sets of keys with optional prefix.

Definition at line 75 of file Key.cpp.

◆ PrintKeySet() [1/2]

void gtsam::PrintKeySet ( const KeySet keys,
const string &  s,
const KeyFormatter keyFormatter 
)

Utility function to print sets of keys with optional prefix.

Definition at line 85 of file Key.cpp.

◆ PrintKeySet() [2/2]

GTSAM_EXPORT void gtsam::PrintKeySet ( const KeySet keys,
const std::string &  s = "",
const KeyFormatter keyFormatter = DefaultKeyFormatter 
)

Utility function to print sets of keys with optional prefix.

Definition at line 85 of file Key.cpp.

◆ PrintKeyVector() [1/2]

void gtsam::PrintKeyVector ( const KeyVector keys,
const string &  s,
const KeyFormatter keyFormatter 
)

Utility function to print sets of keys with optional prefix.

Definition at line 80 of file Key.cpp.

◆ PrintKeyVector() [2/2]

GTSAM_EXPORT void gtsam::PrintKeyVector ( const KeyVector keys,
const std::string &  s = "",
const KeyFormatter keyFormatter = DefaultKeyFormatter 
)

Utility function to print sets of keys with optional prefix.

Definition at line 80 of file Key.cpp.

◆ prod()

template<class MATRIX >
MATRIX gtsam::prod ( const MATRIX &  A,
const MATRIX &  B 
)
inline

products using old-style format to improve compatibility

Definition at line 143 of file base/Matrix.h.

◆ project() [1/2]

Point2_ gtsam::project ( const Point3_ p_cam)
inline

Expression version of PinholeBase::Project.

Definition at line 131 of file slam/expressions.h.

◆ project() [2/2]

Point2_ gtsam::project ( const Unit3_ p_cam)
inline

Definition at line 136 of file slam/expressions.h.

◆ project2()

template<class CAMERA , class POINT >
Point2_ gtsam::project2 ( const Expression< CAMERA > &  camera_,
const Expression< POINT > &  p_ 
)

Definition at line 151 of file slam/expressions.h.

◆ project3()

template<class CALIBRATION , class POINT >
Point2_ gtsam::project3 ( const Pose3_ x,
const Expression< POINT > &  p,
const Expression< CALIBRATION > &  K 
)
inline

Definition at line 166 of file slam/expressions.h.

◆ projectionMatricesFromCameras()

template<class CAMERA >
std::vector<Matrix34, Eigen::aligned_allocator<Matrix34> > gtsam::projectionMatricesFromCameras ( const CameraSet< CAMERA > &  cameras)

Definition at line 225 of file triangulation.h.

◆ projectionMatricesFromPoses()

template<class CALIBRATION >
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.

◆ prunerFunc()

std::function<double(const Assignment<Key> &, double)> gtsam::prunerFunc ( const DecisionTreeFactor prunedDecisionTree,
const HybridConditional conditional 
)

Helper function to get the pruner functional.

Parameters
prunedDecisionTreeThe prob. decision tree of only discrete keys.
conditionalConditional to prune. Used to get full assignment.
Returns
std::function<double(const Assignment<Key> &, double)>

Definition at line 66 of file HybridBayesNet.cpp.

◆ qr()

pair<Matrix,Matrix> gtsam::qr ( const Matrix A)

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

Parameters
Aa matrix
Returns
<Q,R> rotation matrix Q, upper triangular R

Definition at line 234 of file Matrix.cpp.

◆ range()

Double_ gtsam::range ( const Point2_ p,
const Point2_ q 
)
inline

Definition at line 30 of file slam/expressions.h.

◆ readBal()

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.

Parameters
filenameThe name of the BAL file.
Returns
SfM structure where the data is stored.

Definition at line 325 of file SfmData.cpp.

◆ readG2o()

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.

Parameters
filenameThe name of the g2o file\
is3Dindicates if the file describes a 2D or 3D problem
kernelFunctionTypewhether to wrap the noise model in a robust kernel
Returns
graph and initial values

Definition at line 621 of file dataset.cpp.

◆ recursiveMarkAffectedKeys()

void gtsam::recursiveMarkAffectedKeys ( const Key key,
const ISAM2Clique::shared_ptr clique,
std::set< Key > &  additionalKeys 
)

Definition at line 28 of file IncrementalFixedLagSmoother.cpp.

◆ removeEmpty()

GaussianFactorGraphTree gtsam::removeEmpty ( const GaussianFactorGraphTree sum)

Definition at line 194 of file HybridGaussianFactorGraph.cpp.

◆ reshape()

template<int OutM, int OutN, int OutOptions, int InM, int InN, int InOptions>
Reshape<OutM, OutN, OutOptions, InM, InN, InOptions>::ReshapedType gtsam::reshape ( const Eigen::Matrix< double, InM, InN, InOptions > &  m)
inline

Definition at line 281 of file base/Matrix.h.

◆ rotate() [1/2]

Point3_ gtsam::rotate ( const Rot3_ x,
const Point3_ p 
)
inline

Definition at line 97 of file slam/expressions.h.

◆ rotate() [2/2]

Unit3_ gtsam::rotate ( const Rot3_ x,
const Unit3_ p 
)
inline

Definition at line 105 of file slam/expressions.h.

◆ rotation()

Rot3_ gtsam::rotation ( const Pose3_ pose)
inline

Definition at line 89 of file slam/expressions.h.

◆ RoundSolutionS()

template<size_t d>
static Matrix gtsam::RoundSolutionS ( const Matrix S)
static

Definition at line 242 of file ShonanAveraging.cpp.

◆ row()

template<class MATRIX >
const MATRIX::ConstRowXpr gtsam::row ( const MATRIX &  A,
size_t  j 
)

Extracts a row view from a matrix that avoids a copy

Parameters
Amatrix to extract row from
jindex of the row
Returns
a const view of the matrix

Definition at line 221 of file base/Matrix.h.

◆ RQ()

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.

Parameters
A3 by 3 matrix A=RQ
Returns
an upper triangular matrix R
a vector [thetax, thetay, thetaz] in radians.

Definition at line 246 of file Rot3.cpp.

◆ RtR()

GTSAM_EXPORT Matrix gtsam::RtR ( const Matrix A)

Definition at line 528 of file Matrix.cpp.

◆ save() [1/4]

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.

◆ save() [2/4]

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.

◆ save() [3/4]

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.

◆ save() [4/4]

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.

◆ save2D()

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.

◆ scale()

static double gtsam::scale ( double  x,
double  a,
double  b,
double  t1,
double  t2 
)
static

Scale x from [a, b] to [t1, t2].

((b'-a') * (x - a) / (b - a)) + a'

Parameters
xValue to scale to new range.
aOriginal lower limit.
bOriginal upper limit.
t1New lower limit.
t2New upper limit.
Returns
double

Definition at line 35 of file Chebyshev.cpp.

◆ scatterFromValues() [1/2]

static Scatter gtsam::scatterFromValues ( const Values values)
static

Definition at line 281 of file NonlinearFactorGraph.cpp.

◆ scatterFromValues() [2/2]

static Scatter gtsam::scatterFromValues ( const Values values,
const Ordering ordering 
)
static

Definition at line 296 of file NonlinearFactorGraph.cpp.

◆ serialize()

template<class T >
std::string gtsam::serialize ( const T input)

serializes to a string

Definition at line 113 of file base/serialization.h.

◆ serializeBinary()

template<class T >
std::string gtsam::serializeBinary ( const T input,
const std::string &  name = "data" 
)

serializes to a string in binary

Definition at line 259 of file base/serialization.h.

◆ serializeGraph()

std::string gtsam::gtsam::serializeGraph ( const NonlinearFactorGraph graph)

Definition at line 179 of file serialization.cpp.

◆ serializeGraphToFile()

bool gtsam::gtsam::serializeGraphToFile ( const NonlinearFactorGraph graph,
const std::string &  fname 
)

Definition at line 229 of file serialization.cpp.

◆ serializeGraphToXMLFile()

bool gtsam::gtsam::serializeGraphToXMLFile ( const NonlinearFactorGraph graph,
const std::string &  fname,
const std::string &  name = "graph" 
)

Definition at line 234 of file serialization.cpp.

◆ serializeGraphXML()

std::string gtsam::gtsam::serializeGraphXML ( const NonlinearFactorGraph graph,
const std::string &  name = "graph" 
)

Definition at line 191 of file serialization.cpp.

◆ serializeToBinaryFile()

template<class T >
bool gtsam::serializeToBinaryFile ( const T input,
const std::string &  filename,
const std::string &  name = "data" 
)

serializes to a binary file

Definition at line 237 of file base/serialization.h.

◆ serializeToBinaryStream()

template<class T >
void gtsam::serializeToBinaryStream ( const T input,
std::ostream &  out_archive_stream,
const std::string &  name = "data" 
)

serializes to a stream in binary

Definition at line 204 of file base/serialization.h.

◆ serializeToBinaryString()

template<class T >
std::string gtsam::serializeToBinaryString ( const T input,
const std::string &  name = "data" 
)

serializes to a string in binary

Definition at line 220 of file base/serialization.h.

◆ serializeToFile()

template<class T >
bool gtsam::serializeToFile ( const T input,
const std::string &  filename 
)

serializes to a file

Definition at line 93 of file base/serialization.h.

◆ serializeToStream()

template<class T >
void gtsam::serializeToStream ( const T input,
std::ostream &  out_archive_stream 
)

serializes to a stream

Definition at line 64 of file base/serialization.h.

◆ serializeToString()

template<class T >
std::string gtsam::serializeToString ( const T input)

serializes to a string

Definition at line 78 of file base/serialization.h.

◆ serializeToXMLFile()

template<class T >
bool gtsam::serializeToXMLFile ( const T input,
const std::string &  filename,
const std::string &  name = "data" 
)

serializes to an XML file

Definition at line 163 of file base/serialization.h.

◆ serializeToXMLStream()

template<class T >
void gtsam::serializeToXMLStream ( const T input,
std::ostream &  out_archive_stream,
const std::string &  name = "data" 
)

serializes to a stream in XML

Definition at line 130 of file base/serialization.h.

◆ serializeToXMLString()

template<class T >
std::string gtsam::serializeToXMLString ( const T input,
const std::string &  name = "data" 
)

serializes to a string in XML

Definition at line 146 of file base/serialization.h.

◆ serializeValues()

std::string gtsam::gtsam::serializeValues ( const Values values)

Definition at line 204 of file serialization.cpp.

◆ serializeValuesToFile()

bool gtsam::gtsam::serializeValuesToFile ( const Values values,
const std::string &  fname 
)

Definition at line 240 of file serialization.cpp.

◆ serializeValuesToXMLFile()

bool gtsam::gtsam::serializeValuesToXMLFile ( const Values values,
const std::string &  fname,
const std::string &  name = "values" 
)

Definition at line 245 of file serialization.cpp.

◆ serializeValuesXML()

std::string gtsam::gtsam::serializeValuesXML ( const Values values,
const std::string &  name = "values" 
)

Definition at line 216 of file serialization.cpp.

◆ serializeXML()

template<class T >
std::string gtsam::serializeXML ( const T input,
const std::string &  name = "data" 
)

serializes to a string in XML

Definition at line 185 of file base/serialization.h.

◆ setSubvector()

static void gtsam::setSubvector ( const Vector src,
const KeyInfo keyInfo,
const KeyVector keys,
Vector dst 
)
static

Definition at line 63 of file SubgraphPreconditioner.cpp.

◆ skewSymmetric() [1/2]

Matrix3 gtsam::skewSymmetric ( double  wx,
double  wy,
double  wz 
)
inline

skew symmetric matrix returns this: 0 -wz wy wz 0 -wx -wy wx 0

Parameters
wx3 dimensional vector
wy
wz
Returns
a 3*3 skew symmetric matrix

Definition at line 400 of file base/Matrix.h.

◆ skewSymmetric() [2/2]

template<class Derived >
Matrix3 gtsam::skewSymmetric ( const Eigen::MatrixBase< Derived > &  w)
inline

Definition at line 405 of file base/Matrix.h.

◆ sparseJacobianEigen() [1/2]

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.

◆ sparseJacobianEigen() [2/2]

SparseEigen gtsam::sparseJacobianEigen ( const GaussianFactorGraph gfg)

Definition at line 58 of file SparseEigen.h.

◆ SparseMinimumEigenValue()

static bool gtsam::SparseMinimumEigenValue ( const Sparse A,
const Matrix S,
double *  minEigenValue,
Vector minEigenVector = 0,
size_t numIterations = 0,
size_t  maxIterations = 1000,
double  minEigenvalueNonnegativityTolerance = 10e-4,
Eigen::Index  numLanczosVectors = 20 
)
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 629 of file ShonanAveraging.cpp.

◆ split()

template<class G , class KEY , class FACTOR2 >
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.

◆ splitFactorGraph()

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.

◆ stack() [1/2]

Matrix gtsam::stack ( size_t  nrMatrices,
  ... 
)

create a matrix by stacking other matrices Given a set of matrices: A1, A2, A3...

Parameters
...pointers to matrices to be stacked
Returns
combined matrix [A1; A2; A3]

Definition at line 395 of file Matrix.cpp.

◆ stack() [2/2]

GTSAM_EXPORT Matrix gtsam::stack ( const std::vector< Matrix > &  blocks)

Definition at line 422 of file Matrix.cpp.

◆ steepestDescent() [1/4]

Vector gtsam::steepestDescent ( const System Ab,
const Vector x,
const ConjugateGradientParameters parameters 
)

Definition at line 40 of file iterative.cpp.

◆ steepestDescent() [2/4]

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.

◆ steepestDescent() [3/4]

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.

◆ steepestDescent() [4/4]

GTSAM_EXPORT Vector gtsam::steepestDescent ( const System Ab,
const Vector x,
const IterativeOptimizationParameters parameters 
)

Method of steepest gradients, System version

◆ stiefel()

GTSAM_EXPORT Matrix43 gtsam::stiefel ( const SO4 Q,
OptionalJacobian< 12, 6 >  H = {} 
)

Project to Stiefel manifold of 4*3 orthonormal 3-frames in R^4, i.e., pi(Q) -> $ S \in St(3,4) $.

Definition at line 220 of file SO4.cpp.

◆ streamSignature()

static void gtsam::streamSignature ( const DiscreteConditional conditional,
const KeyFormatter keyFormatter,
stringstream *  ss 
)
static

Definition at line 332 of file DiscreteConditional.cpp.

◆ sub()

template<class MATRIX >
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

Parameters
Amatrix
i1first row index
i2last row index + 1
j1first col index
j2last col index + 1
Returns
submatrix A(i1:i2-1,j1:j2-1)

Definition at line 180 of file base/Matrix.h.

◆ svd()

void gtsam::svd ( const Matrix A,
Matrix U,
Vector S,
Matrix V 
)

SVD computes economy SVD A=U*S*V'

Parameters
Aan m*n matrix
Uoutput argument: rotation matrix
Soutput argument: sorted vector of singular values
Voutput 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.

◆ symbol()

Key gtsam::symbol ( unsigned char  c,
std::uint64_t  j 
)
inline

Create a symbol key from a character and index, i.e. x5.

Definition at line 139 of file inference/Symbol.h.

◆ symbolChr()

unsigned char gtsam::symbolChr ( Key  key)
inline

Return the character portion of a symbol key.

Definition at line 142 of file inference/Symbol.h.

◆ symbolIndex()

std::uint64_t gtsam::symbolIndex ( Key  key)
inline

Return the index portion of a symbol key.

Definition at line 145 of file inference/Symbol.h.

◆ synchronize()

void GTSAM_UNSTABLE_EXPORT gtsam::synchronize ( ConcurrentFilter filter,
ConcurrentSmoother smoother 
)

Definition at line 28 of file ConcurrentFilteringAndSmoothing.cpp.

◆ TEST() [1/6]

gtsam::TEST ( SmartFactorBase  ,
Pinhole   
)

Definition at line 38 of file testSmartFactorBase.cpp.

◆ TEST() [2/6]

gtsam::TEST ( SmartFactorBase  ,
PinholeWithSensor   
)

Definition at line 45 of file testSmartFactorBase.cpp.

◆ TEST() [3/6]

gtsam::TEST ( LPInitSolver  ,
InfiniteLoopSingleVar   
)

Definition at line 61 of file testLPSolver.cpp.

◆ TEST() [4/6]

gtsam::TEST ( LPInitSolver  ,
InfiniteLoopMultiVar   
)

Definition at line 78 of file testLPSolver.cpp.

◆ TEST() [5/6]

gtsam::TEST ( SmartFactorBase  ,
Stereo   
)

Definition at line 97 of file testSmartFactorBase.cpp.

◆ TEST() [6/6]

gtsam::TEST ( LPInitSolver  ,
Initialization   
)

Definition at line 107 of file testLPSolver.cpp.

◆ testChartDerivatives()

template<typename G >
void gtsam::testChartDerivatives ( TestResult result_,
const std::string &  name_,
const G t1,
const G t2 
)

Definition at line 60 of file testLie.h.

◆ testDefaultChart()

template<typename T >
void gtsam::testDefaultChart ( TestResult result_,
const std::string &  name_,
const T value 
)

Definition at line 31 of file chartTesting.h.

◆ testLieGroupDerivatives()

template<typename G >
void gtsam::testLieGroupDerivatives ( TestResult result_,
const std::string &  name_,
const G t1,
const G t2 
)

Definition at line 32 of file testLie.h.

◆ throwRuntimeError()

static void gtsam::throwRuntimeError ( const std::string &  s,
const std::shared_ptr< Factor > &  f 
)
static

Definition at line 64 of file HybridGaussianFactorGraph.cpp.

◆ tictoc_finishedIteration_()

void gtsam::tictoc_finishedIteration_ ( )
inline

Definition at line 264 of file timing.h.

◆ tictoc_print2_()

void gtsam::tictoc_print2_ ( )
inline

Definition at line 272 of file timing.h.

◆ tictoc_print_()

void gtsam::tictoc_print_ ( )
inline

Definition at line 268 of file timing.h.

◆ tictoc_reset_()

void gtsam::tictoc_reset_ ( )
inline

Definition at line 282 of file timing.h.

◆ toBoostGraph()

template<class G , class F , class KEY >
SDGraph<KEY> gtsam::toBoostGraph ( const G graph)

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.

◆ Tokenize()

static std::vector<std::string> gtsam::Tokenize ( const std::string &  str)
static

Definition at line 68 of file SignatureParser.cpp.

◆ topLeft()

GTSAM_EXPORT Matrix3 gtsam::topLeft ( const SO4 Q,
OptionalJacobian< 9, 6 >  H = {} 
)

Project to top-left 3*3 matrix. Note this is not in general SO(3).

Definition at line 206 of file SO4.cpp.

◆ trans()

Matrix gtsam::trans ( const Matrix A)
inline

static transpose function, just calls Eigen transpose member function

Definition at line 241 of file base/Matrix.h.

◆ transform_point()

template<class T , class P >
P gtsam::transform_point ( const T trans,
const P global,
OptionalMatrixType  Dtrans,
OptionalMatrixType  Dglobal 
)

Transform function that must be specialized specific domains

Template Parameters
Tis a Transform type
Pis a point type

Definition at line 30 of file ReferenceFrameFactor.h.

◆ transformFrom()

Point3_ gtsam::transformFrom ( const Pose3_ x,
const Point3_ p 
)
inline

Definition at line 47 of file slam/expressions.h.

◆ transformPoseTo()

Pose3_ gtsam::transformPoseTo ( const Pose3_ p,
const Pose3_ q 
)
inline

Definition at line 57 of file slam/expressions.h.

◆ transformTo() [1/4]

Point2_ gtsam::transformTo ( const Pose2_ x,
const Point2_ p 
)
inline

Definition at line 26 of file slam/expressions.h.

◆ transformTo() [2/4]

Point3_ gtsam::transformTo ( const Pose3_ x,
const Point3_ p 
)
inline

Definition at line 43 of file slam/expressions.h.

◆ transformTo() [3/4]

Line3_ gtsam::transformTo ( const Pose3_ wTc,
const Line3_ wL 
)
inline

Definition at line 51 of file slam/expressions.h.

◆ transformTo() [4/4]

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

Parameters
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
Returns
Transformed line in camera frame

Definition at line 94 of file Line3.cpp.

◆ translation()

Point3_ gtsam::translation ( const Pose3_ pose)
inline

Definition at line 93 of file slam/expressions.h.

◆ triangulateDLT() [1/2]

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

Parameters
projection_matricesProjection matrices (K*P^-1)
measurements2D measurements
rank_tolSVD rank tolerance
Returns
Triangulated Point3

Definition at line 149 of file triangulation.cpp.

◆ triangulateDLT() [2/2]

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.

◆ triangulateHomogeneousDLT() [1/2]

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

Parameters
projection_matricesProjection matrices (K*P^-1)
measurements2D measurements
rank_tolSVD rank tolerance
Returns
Triangulated point, in homogeneous coordinates

Definition at line 27 of file triangulation.cpp.

◆ triangulateHomogeneousDLT() [2/2]

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)

Parameters
projection_matricesProjection matrices (K*P^-1)
measurementsUnit3 bearing measurements
rank_tolSVD rank tolerance
Returns
Triangulated point, in homogeneous coordinates

Definition at line 58 of file triangulation.cpp.

◆ triangulateLOST()

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.

Parameters
posescamera poses in world frame
calibratedMeasurementsmeasurements in homogeneous coordinates in each camera pose
measurementNoiseisotropic noise model for the measurements
Returns
triangulated point in world coordinates

Definition at line 86 of file triangulation.cpp.

◆ triangulateNonlinear() [1/2]

template<class CALIBRATION >
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

Parameters
posesCamera poses
sharedCalshared pointer to single calibration object
measurements2D measurements
initialEstimate
Returns
refined Point3

Definition at line 191 of file triangulation.h.

◆ triangulateNonlinear() [2/2]

template<class CAMERA >
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

Parameters
cameraspinhole cameras (monocular or stereo)
measurements2D measurements
initialEstimate
Returns
refined Point3

Definition at line 211 of file triangulation.h.

◆ triangulatePoint3() [1/3]

template<class CALIBRATION >
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.

Parameters
posesA vector of camera poses
sharedCalshared pointer to single calibration object
measurementsA vector of camera measurements
rank_tolrank tolerance, default 1e-9
optimizeFlag to turn on nonlinear refinement of triangulation
useLOSTwhether to use the LOST algorithm instead of DLT
Returns
Returns a Point3

Definition at line 421 of file triangulation.h.

◆ triangulatePoint3() [2/3]

template<class CAMERA >
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.

Parameters
cameraspinhole cameras
measurementsA vector of camera measurements
rank_tolrank tolerance, default 1e-9
optimizeFlag to turn on nonlinear refinement of triangulation
useLOSTwhether to use the LOST algorithm instead of DLT
Returns
Returns a Point3

Definition at line 488 of file triangulation.h.

◆ triangulatePoint3() [3/3]

template<class CALIBRATION >
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.

◆ triangulateSafe()

template<class CAMERA >
TriangulationResult gtsam::triangulateSafe ( const CameraSet< CAMERA > &  cameras,
const typename CAMERA::MeasurementVector &  measured,
const TriangulationParameters params 
)

triangulateSafe: extensive checking of the outcome

Definition at line 690 of file triangulation.h.

◆ triangulationGraph() [1/2]

template<class CALIBRATION >
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

Parameters
posesCamera poses
sharedCalshared pointer to single calibration object (monocular only!)
measurements2D measurements
landmarkKeyto refer to landmark
initialEstimate
Returns
graph and initial values

Definition at line 126 of file triangulation.h.

◆ triangulationGraph() [2/2]

template<class CAMERA >
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)

Parameters
cameraspinhole cameras (monocular or stereo)
measurements2D measurements
landmarkKeyto refer to landmark
initialEstimate
Returns
graph and initial values

Definition at line 154 of file triangulation.h.

◆ uncalibrate()

template<class CALIBRATION >
Point2_ gtsam::uncalibrate ( const Expression< CALIBRATION > &  K,
const Point2_ xy_hat 
)

Definition at line 172 of file slam/expressions.h.

◆ undistortMeasurementInternal()

template<class CALIBRATION , class MEASUREMENT >
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.

◆ undistortMeasurements() [1/5]

template<class CALIBRATION >
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.

Template Parameters
CALIBRATIONCalibration type to use.
Parameters
calCalibration with which measurements were taken.
measurementsVector of measurements to undistort.
Returns
measurements with the effect of the distortion of sharedCal removed.

Definition at line 282 of file triangulation.h.

◆ undistortMeasurements() [2/5]

template<>
Point2Vector gtsam::undistortMeasurements ( const Cal3_S2 cal,
const Point2Vector measurements 
)
inline

Specialization for Cal3_S2 as it doesn't need to be undistorted.

Definition at line 299 of file triangulation.h.

◆ undistortMeasurements() [3/5]

template<class CAMERA >
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.

Template Parameters
CAMERACamera type to use.
Parameters
camerasCameras corresponding to each measurement.
measurementsVector of measurements to undistort.
Returns
measurements with the effect of the distortion of the camera removed.

Definition at line 316 of file triangulation.h.

◆ undistortMeasurements() [4/5]

template<class CAMERA = PinholeCamera<Cal3_S2>>
PinholeCamera<Cal3_S2>::MeasurementVector gtsam::undistortMeasurements ( const CameraSet< PinholeCamera< Cal3_S2 >> &  cameras,
const PinholeCamera< Cal3_S2 >::MeasurementVector &  measurements 
)
inline

Specialize for Cal3_S2 to do nothing.

Definition at line 334 of file triangulation.h.

◆ undistortMeasurements() [5/5]

template<class CAMERA = SphericalCamera>
SphericalCamera::MeasurementVector gtsam::undistortMeasurements ( const CameraSet< SphericalCamera > &  cameras,
const SphericalCamera::MeasurementVector measurements 
)
inline

Specialize for SphericalCamera to do nothing.

Definition at line 342 of file triangulation.h.

◆ unrotate() [1/2]

Point3_ gtsam::unrotate ( const Rot3_ x,
const Point3_ p 
)
inline

Definition at line 109 of file slam/expressions.h.

◆ unrotate() [2/2]

Unit3_ gtsam::unrotate ( const Rot3_ x,
const Unit3_ p 
)
inline

Definition at line 113 of file slam/expressions.h.

◆ unzip()

template<typename L , typename T1 , typename T2 >
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.

Parameters
inputthe DecisionTree with (T1,T2) values.
Returns
a pair of DecisionTree on T1 and T2, respectively.

Definition at line 425 of file DecisionTree.h.

◆ valueFormatter()

static std::string gtsam::valueFormatter ( const double &  v)
static

Definition at line 197 of file DecisionTreeFactor.cpp.

◆ vec3()

static Vector9 gtsam::vec3 ( const Matrix3 &  R)
static

Definition at line 342 of file SO3.cpp.

◆ vec4()

static SO4::VectorN2 gtsam::vec4 ( const Matrix4 &  Q)
static

Definition at line 140 of file SO4.cpp.

◆ vector_scale() [1/2]

GTSAM_EXPORT Matrix gtsam::vector_scale ( const Vector v,
const Matrix A,
bool  inf_mask 
)

Definition at line 496 of file Matrix.cpp.

◆ vector_scale() [2/2]

GTSAM_EXPORT Matrix gtsam::vector_scale ( const Matrix A,
const Vector v,
bool  inf_mask 
)

Definition at line 504 of file Matrix.cpp.

◆ vector_scale_inplace()

void gtsam::vector_scale_inplace ( const Vector v,
Matrix A,
bool  inf_mask = false 
)

scales a matrix row or column by the values in a vector Arguments (Matrix, Vector) scales the columns, (Vector, Matrix) scales the rows

Parameters
inf_maskwhen true, will not scale with a NaN or inf value.

Definition at line 480 of file Matrix.cpp.

◆ velocity()

Velocity3_ gtsam::velocity ( const NavState_ X)
inline

Definition at line 40 of file navigation/expressions.h.

◆ wedge()

template<class T >
Matrix gtsam::wedge ( const Vector x)

Declaration of wedge (see Murray94book) used to convert from n exponential coordinates to n*n element of the Lie algebra

◆ wedge< Pose2 >()

template<>
Matrix gtsam::wedge< Pose2 > ( const Vector xi)
inline

specialization for pose2 wedge function (generic template in Lie.h)

Definition at line 355 of file Pose2.h.

◆ wedge< Pose3 >()

template<>
Matrix gtsam::wedge< Pose3 > ( const Vector xi)
inline

wedge for Pose3:

Parameters
xi6-dim twist (omega,v) where omega = 3D angular velocity v = 3D velocity
Returns
xihat, 4*4 element of Lie algebra that can be exponentiated

Definition at line 419 of file Pose3.h.

◆ wedge< Similarity3 >()

template<>
Matrix gtsam::wedge< Similarity3 > ( const Vector xi)
inline

Definition at line 211 of file Similarity3.h.

◆ weighted_eliminate()

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

Parameters
Ais a matrix to eliminate
bis the rhs
sigmasis a vector of the measurement standard deviation
Returns
list of r vectors, d and sigma

Definition at line 271 of file Matrix.cpp.

◆ weightedPseudoinverse() [1/2]

GTSAM_EXPORT double gtsam::weightedPseudoinverse ( const Vector a,
const Vector weights,
Vector pseudo 
)

Definition at line 245 of file Vector.cpp.

◆ weightedPseudoinverse() [2/2]

pair<Vector, double> gtsam::weightedPseudoinverse ( const Vector v,
const Vector weights 
)

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

Parameters
vis the first column of the matrix to solve
weightsis a vector of weights/precisions where w=1/(s*s)
Returns
a pair of the pseudoinverse of v and the associated precision/weight

Definition at line 291 of file Vector.cpp.

◆ writeBAL()

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.

Parameters
filenameThe name of the BAL file to write
dataSfM structure where the data is stored
Returns
true if the parsing was successful, false otherwise

Definition at line 249 of file SfmData.cpp.

◆ writeBALfromValues()

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)

Parameters
filenameThe name of the BAL file to write
dataSfM structure where the data is stored
valuesstructure 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.
Returns
true if the parsing was successful, false otherwise

Definition at line 330 of file SfmData.cpp.

◆ writeG2o()

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.

Parameters
filenameThe name of the g2o file to write
graphNonlinearFactor graph storing the measurements
estimateValues

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.

◆ zeroBelowDiagonal()

template<class MATRIX >
void gtsam::zeroBelowDiagonal ( MATRIX &  A,
size_t  cols = 0 
)

Zeros all of the elements below the diagonal of a matrix, in place

Parameters
Ais a matrix, to be modified in place
colsis the number of columns to zero, use zero for all columns

Definition at line 231 of file base/Matrix.h.

Variable Documentation

◆ b

const T & gtsam::b

Definition at line 86 of file Group.h.

◆ chrBits

const size_t gtsam::chrBits = sizeof(unsigned char) * 8
static

Definition at line 30 of file Symbol.cpp.

◆ chrMask

const Key gtsam::chrMask = Key(UCHAR_MAX) << indexBits
static

Definition at line 32 of file Symbol.cpp.

◆ Conditional< DecisionTreeFactor, DiscreteConditional >

Definition at line 40 of file DiscreteConditional.cpp.

◆ debugFlags

GTSAM_EXTERN_EXPORT FastMap< std::string, ValueWithDefault< bool, false > > gtsam::debugFlags

Definition at line 28 of file debug.cpp.

◆ DefaultKeyFormatter

const KeyFormatter gtsam::DefaultKeyFormatter = &_defaultKeyFormatter
static

The default KeyFormatter, which is used if no KeyFormatter is passed to a nonlinear 'print' function. Automatically detects plain integer keys and Symbol keys.

Definition at line 43 of file Key.h.

◆ gDummyCount

size_t gtsam::gDummyCount = 0
static

Definition at line 25 of file Dummy.cpp.

◆ indexBits

const size_t gtsam::indexBits = keyBits - chrBits
static

Definition at line 31 of file Symbol.cpp.

◆ indexMask

const Key gtsam::indexMask = ~chrMask
static

Definition at line 33 of file Symbol.cpp.

◆ intNoiseVar

double gtsam::intNoiseVar = 0.0000001
static

Definition at line 27 of file ScenarioRunner.cpp.

◆ keyBits

const size_t gtsam::keyBits = sizeof(Key) * 8
static

Definition at line 29 of file Symbol.cpp.

◆ KeypointsVector

gtsam.KeypointsVector = list

Definition at line 37 of file python/gtsam/__init__.py.

◆ kGravity

const Vector gtsam::kGravity = Vector::Unit(3,2)*9.81
static

Definition at line 14 of file PoseRTV.cpp.

◆ kHeightIndex

const size_t gtsam::kHeightIndex = 5
static

Definition at line 21 of file DynamicsPriors.h.

◆ kIntegrationErrorCovariance

const Matrix3 gtsam::kIntegrationErrorCovariance = intNoiseVar * I_3x3
static

Definition at line 28 of file ScenarioRunner.cpp.

◆ kPitchIndex

const size_t gtsam::kPitchIndex = 1
static

Definition at line 20 of file DynamicsPriors.h.

◆ kRollIndex

const size_t gtsam::kRollIndex = 0
static

Definition at line 19 of file DynamicsPriors.h.

◆ kVelocityIndices

const std::vector<size_t> gtsam::kVelocityIndices = { 6, 7, 8 }
static

Definition at line 23 of file DynamicsPriors.h.

◆ kVelocityZIndex

const size_t gtsam::kVelocityZIndex = 8
static

Definition at line 22 of file DynamicsPriors.h.

◆ logSqrt2PI

const double gtsam::logSqrt2PI = log(std::sqrt(2.0 * M_PI))

constant needed below

Definition at line 28 of file WhiteNoiseFactor.h.

◆ MatchIndicesMap

gtsam.MatchIndicesMap = dict

Definition at line 36 of file python/gtsam/__init__.py.

◆ max_it

const size_t gtsam::max_it = 100000

Definition at line 15 of file SimPolygon2D.cpp.

◆ MultiRobotKeyFormatter

const gtsam::KeyFormatter gtsam::MultiRobotKeyFormatter
static
Initial value:
=
string _multirobotKeyFormatter(Key key)
Definition: Key.cpp:46

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.

Definition at line 54 of file Key.h.

◆ negativePivotThreshold

const double gtsam::negativePivotThreshold = -1e-1
static

Definition at line 29 of file base/cholesky.cpp.

◆ P3

const Matrix93 gtsam::P3
static
Initial value:
=
(Matrix93() << vec3(G3[0]), vec3(G3[1]), vec3(G3[2])).finished()
Eigen::Matrix< double, 9, 3 > Matrix93
static std::vector< Matrix3 > G3({SO3::Hat(Vector3::Unit(0)), SO3::Hat(Vector3::Unit(1)), SO3::Hat(Vector3::Unit(2))})
static Vector9 vec3(const Matrix3 &R)
Definition: SO3.cpp:342

Definition at line 352 of file SO3.cpp.

◆ P4

const Eigen::Matrix<double, 16, 6> gtsam::P4
static
Initial value:
=
vec4(G4[3]), vec4(G4[4]), vec4(G4[5]))
.finished()
static SO4::VectorN2 vec4(const Matrix4 &Q)
Definition: SO4.cpp:140
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))})
The matrix class, also used for vectors and row-vectors.

Definition at line 151 of file SO4.cpp.

◆ R_PI_2

const Rot2 gtsam::R_PI_2(Rot2::fromCosSin(0., 1.))
static

instantiate concept checks

◆ SfmCameras

gtsam.SfmCameras = list

Definition at line 34 of file python/gtsam/__init__.py.

◆ SfmMeasurementVector

gtsam.SfmMeasurementVector = list

Definition at line 35 of file python/gtsam/__init__.py.

◆ SfmTracks

gtsam.SfmTracks = list

Definition at line 33 of file python/gtsam/__init__.py.

◆ tol

const T double gtsam::tol

Definition at line 86 of file Group.h.

◆ underconstrainedExponentDifference

const int gtsam::underconstrainedExponentDifference = 12
static

Definition at line 32 of file base/cholesky.cpp.

◆ underconstrainedPrior

const double gtsam::underconstrainedPrior = 1e-5
static

Definition at line 31 of file base/cholesky.cpp.

◆ Z_2x1

const Eigen::MatrixBase<Vector2>::ConstantReturnType gtsam::Z_2x1 = Vector2::Zero()
static

Definition at line 45 of file Vector.h.

◆ Z_3x1

const Eigen::MatrixBase<Vector3>::ConstantReturnType gtsam::Z_3x1 = Vector3::Zero()
static

Definition at line 46 of file Vector.h.

◆ zeroPivotThreshold

const double gtsam::zeroPivotThreshold = 1e-6
static

Definition at line 30 of file base/cholesky.cpp.



gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:46:14