├── gtsam ├── 3rdparty │ ├── Eigen │ │ ├── Eigen │ │ │ ├── src │ │ │ │ ├── SparseCore │ │ │ │ │ ├── SparseAssign.h │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── Core │ │ │ │ │ ├── arch │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── NEON │ │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ │ ├── SSE │ │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ │ ├── AltiVec │ │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ │ └── Default │ │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── util │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── ReenableStupidWarnings.h │ │ │ │ │ ├── products │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── QR │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── SVD │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── misc │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── Jacobi │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── LU │ │ │ │ │ ├── arch │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── plugins │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── Cholesky │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── Eigenvalues │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── Householder │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── StlSupport │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── Geometry │ │ │ │ │ ├── arch │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── PaStiXSupport │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── CholmodSupport │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── PardisoSupport │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── SparseCholesky │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── SuperLUSupport │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── UmfPackSupport │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── OrderingMethods │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── Eigen2Support │ │ │ │ │ ├── Geometry │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── IterativeLinearSolvers │ │ │ │ │ └── CMakeLists.txt │ │ │ │ └── CMakeLists.txt │ │ │ ├── Eigen │ │ │ ├── Dense │ │ │ ├── Array │ │ │ ├── Sparse │ │ │ ├── OrderingMethods │ │ │ ├── Householder │ │ │ └── CMakeLists.txt │ │ ├── debug │ │ │ └── gdb │ │ │ │ └── __init__.py │ │ ├── doc │ │ │ ├── examples │ │ │ │ ├── .krazy │ │ │ │ ├── QuickStart_example.cpp │ │ │ │ ├── tut_matrix_resize_fixed_size.cpp │ │ │ │ ├── Tutorial_ArrayClass_mult.cpp │ │ │ │ ├── Tutorial_ReductionsVisitorsBroadcasting_colwise.cpp │ │ │ │ ├── Tutorial_ReductionsVisitorsBroadcasting_rowwise.cpp │ │ │ │ ├── DenseBase_middleCols_int.cpp │ │ │ │ ├── DenseBase_middleRows_int.cpp │ │ │ │ ├── QuickStart_example2_fixed.cpp │ │ │ │ ├── DenseBase_template_int_middleCols.cpp │ │ │ │ ├── DenseBase_template_int_middleRows.cpp │ │ │ │ ├── Tutorial_simple_example_fixed_size.cpp │ │ │ │ ├── QuickStart_example2_dynamic.cpp │ │ │ │ ├── Tutorial_BlockOperations_vector.cpp │ │ │ │ ├── TutorialLinAlgInverseDeterminant.cpp │ │ │ │ ├── TutorialLinAlgExSolveLDLT.cpp │ │ │ │ ├── tut_arithmetic_scalar_mul_div.cpp │ │ │ │ ├── tut_matrix_coefficient_accessors.cpp │ │ │ │ ├── TutorialLinAlgExComputeSolveError.cpp │ │ │ │ ├── TutorialLinAlgSetThreshold.cpp │ │ │ │ ├── tut_arithmetic_dot_cross.cpp │ │ │ │ ├── class_CwiseUnaryOp_ptrfun.cpp │ │ │ │ ├── TutorialLinAlgExSolveColPivHouseholderQR.cpp │ │ │ │ ├── TutorialLinAlgSVDSolve.cpp │ │ │ │ ├── Tutorial_BlockOperations_colrow.cpp │ │ │ │ ├── Tutorial_PartialLU_solve.cpp │ │ │ │ ├── Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple.cpp │ │ │ │ ├── Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple_rowwise.cpp │ │ │ │ ├── function_taking_eigenbase.cpp │ │ │ │ ├── Tutorial_ArrayClass_cwise_other.cpp │ │ │ │ ├── Tutorial_ArrayClass_addition.cpp │ │ │ │ ├── Tutorial_BlockOperations_print_block.cpp │ │ │ │ ├── Tutorial_BlockOperations_corner.cpp │ │ │ │ ├── Tutorial_ArrayClass_interop.cpp │ │ │ │ ├── tut_matrix_resize.cpp │ │ │ │ ├── tut_arithmetic_add_sub.cpp │ │ │ │ ├── Tutorial_ReductionsVisitorsBroadcasting_broadcast_1nn.cpp │ │ │ │ ├── Tutorial_ArrayClass_accessors.cpp │ │ │ │ ├── MatrixBase_cwise_const.cpp │ │ │ │ ├── TemplateKeyword_simple.cpp │ │ │ │ ├── class_CwiseBinaryOp.cpp │ │ │ │ ├── tut_arithmetic_redux_basic.cpp │ │ │ │ ├── Tutorial_ReductionsVisitorsBroadcasting_maxnorm.cpp │ │ │ │ ├── Tutorial_BlockOperations_block_assignment.cpp │ │ │ │ ├── TutorialLinAlgSelfAdjointEigenSolver.cpp │ │ │ │ ├── Tutorial_ReductionsVisitorsBroadcasting_reductions_bool.cpp │ │ │ │ ├── class_CwiseUnaryOp.cpp │ │ │ │ ├── Tutorial_ReductionsVisitorsBroadcasting_visitors.cpp │ │ │ │ ├── TutorialLinAlgRankRevealing.cpp │ │ │ │ ├── tut_arithmetic_matrix_mul.cpp │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Tutorial_ArrayClass_interop_matrix.cpp │ │ │ │ └── TutorialLinAlgComputeTwice.cpp │ │ │ ├── snippets │ │ │ │ ├── .krazy │ │ │ │ ├── Cwise_exp.cpp │ │ │ │ ├── Cwise_log.cpp │ │ │ │ ├── Cwise_minus.cpp │ │ │ │ ├── Cwise_plus.cpp │ │ │ │ ├── Cwise_abs.cpp │ │ │ │ ├── Cwise_abs2.cpp │ │ │ │ ├── Cwise_cube.cpp │ │ │ │ ├── Cwise_sqrt.cpp │ │ │ │ ├── MatrixBase_ones_int_int.cpp │ │ │ │ ├── MatrixBase_random.cpp │ │ │ │ ├── MatrixBase_random_int.cpp │ │ │ │ ├── MatrixBase_zero_int_int.cpp │ │ │ │ ├── Cwise_inverse.cpp │ │ │ │ ├── Cwise_less.cpp │ │ │ │ ├── Cwise_pow.cpp │ │ │ │ ├── Cwise_square.cpp │ │ │ │ ├── MatrixBase_random_int_int.cpp │ │ │ │ ├── Cwise_acos.cpp │ │ │ │ ├── Cwise_cos.cpp │ │ │ │ ├── Cwise_greater.cpp │ │ │ │ ├── Cwise_max.cpp │ │ │ │ ├── Cwise_min.cpp │ │ │ │ ├── Cwise_minus_equal.cpp │ │ │ │ ├── Cwise_not_equal.cpp │ │ │ │ ├── Cwise_plus_equal.cpp │ │ │ │ ├── Cwise_quotient.cpp │ │ │ │ ├── Cwise_sin.cpp │ │ │ │ ├── Cwise_tan.cpp │ │ │ │ ├── MatrixBase_identity.cpp │ │ │ │ ├── MatrixBase_identity_int_int.cpp │ │ │ │ ├── Matrix_setOnes_int.cpp │ │ │ │ ├── Matrix_setZero_int.cpp │ │ │ │ ├── Cwise_equal_equal.cpp │ │ │ │ ├── Cwise_greater_equal.cpp │ │ │ │ ├── Cwise_less_equal.cpp │ │ │ │ ├── MatrixBase_cwiseSqrt.cpp │ │ │ │ ├── Matrix_setRandom_int.cpp │ │ │ │ ├── Cwise_slash_equal.cpp │ │ │ │ ├── Cwise_times_equal.cpp │ │ │ │ ├── MatrixBase_asDiagonal.cpp │ │ │ │ ├── Matrix_setOnes_int_int.cpp │ │ │ │ ├── Matrix_setZero_int_int.cpp │ │ │ │ ├── Cwise_boolean_and.cpp │ │ │ │ ├── Cwise_boolean_or.cpp │ │ │ │ ├── MatrixBase_cwiseMax.cpp │ │ │ │ ├── MatrixBase_cwiseMin.cpp │ │ │ │ ├── Matrix_setConstant_int.cpp │ │ │ │ ├── Matrix_setIdentity_int_int.cpp │ │ │ │ ├── Matrix_setRandom_int_int.cpp │ │ │ │ ├── MatrixBase_zero.cpp │ │ │ │ ├── Matrix_setConstant_int_int.cpp │ │ │ │ ├── MatrixBase_cwiseQuotient.cpp │ │ │ │ ├── MatrixBase_ones.cpp │ │ │ │ ├── MatrixBase_zero_int.cpp │ │ │ │ ├── MatrixBase_array.cpp │ │ │ │ ├── MatrixBase_ones_int.cpp │ │ │ │ ├── MatrixBase_setOnes.cpp │ │ │ │ ├── MatrixBase_setRandom.cpp │ │ │ │ ├── MatrixBase_setZero.cpp │ │ │ │ ├── DenseBase_setLinSpaced.cpp │ │ │ │ ├── MatrixBase_col.cpp │ │ │ │ ├── MatrixBase_row.cpp │ │ │ │ ├── Map_simple.cpp │ │ │ │ ├── MatrixBase_cwiseAbs.cpp │ │ │ │ ├── TopicAliasing_mult1.cpp │ │ │ │ ├── Tutorial_commainit_01.cpp │ │ │ │ ├── MatrixBase_cwiseAbs2.cpp │ │ │ │ ├── MatrixBase_setIdentity.cpp │ │ │ │ ├── TopicAliasing_mult3.cpp │ │ │ │ ├── MatrixBase_cwiseInverse.cpp │ │ │ │ ├── DenseBase_LinSpaced.cpp │ │ │ │ ├── MatrixBase_cast.cpp │ │ │ │ ├── Matrix_resize_NoChange_int.cpp │ │ │ │ ├── Matrix_resize_int_NoChange.cpp │ │ │ │ ├── Tutorial_commainit_01b.cpp │ │ │ │ ├── MatrixBase_noalias.cpp │ │ │ │ ├── MatrixBase_select.cpp │ │ │ │ ├── Cwise_product.cpp │ │ │ │ ├── DenseBase_LinSpaced_seq.cpp │ │ │ │ ├── Map_outer_stride.cpp │ │ │ │ ├── MatrixBase_operatorNorm.cpp │ │ │ │ ├── MatrixBase_inverse.cpp │ │ │ │ ├── Tutorial_AdvancedInitialization_Block.cpp │ │ │ │ ├── MatrixBase_cwiseProduct.cpp │ │ │ │ ├── MatrixBase_eigenvalues.cpp │ │ │ │ ├── PartialRedux_sum.cpp │ │ │ │ ├── MatrixBase_adjoint.cpp │ │ │ │ ├── MatrixBase_prod.cpp │ │ │ │ ├── PartialRedux_norm.cpp │ │ │ │ ├── PartialRedux_prod.cpp │ │ │ │ ├── SelfAdjointView_operatorNorm.cpp │ │ │ │ ├── Tutorial_solve_matrix_inverse.cpp │ │ │ │ ├── Map_general_stride.cpp │ │ │ │ ├── MatrixBase_replicate.cpp │ │ │ │ ├── MatrixBase_replicate_int_int.cpp │ │ │ │ ├── PartialRedux_maxCoeff.cpp │ │ │ │ ├── PartialRedux_minCoeff.cpp │ │ │ │ ├── EigenSolver_eigenvalues.cpp │ │ │ │ ├── Map_placement_new.cpp │ │ │ │ ├── PartialRedux_squaredNorm.cpp │ │ │ │ ├── Tutorial_solve_triangular_inplace.cpp │ │ │ │ ├── DirectionWise_replicate.cpp │ │ │ │ ├── DirectionWise_replicate_int.cpp │ │ │ │ ├── EigenSolver_eigenvectors.cpp │ │ │ │ ├── MatrixBase_diagonal.cpp │ │ │ │ ├── SelfAdjointView_eigenvalues.cpp │ │ │ │ ├── tut_arithmetic_transpose_inplace.cpp │ │ │ │ ├── SelfAdjointEigenSolver_eigenvalues.cpp │ │ │ │ ├── Tutorial_AdvancedInitialization_CommaTemporary.cpp │ │ │ │ ├── Map_inner_stride.cpp │ │ │ │ ├── tut_arithmetic_transpose_aliasing.cpp │ │ │ │ ├── ComplexEigenSolver_eigenvectors.cpp │ │ │ │ ├── SelfAdjointEigenSolver_eigenvectors.cpp │ │ │ │ ├── tut_matrix_assignment_resizing.cpp │ │ │ │ ├── AngleAxis_mimic_euler.cpp │ │ │ │ ├── MatrixBase_isOnes.cpp │ │ │ │ ├── MatrixBase_isZero.cpp │ │ │ │ ├── PartialRedux_count.cpp │ │ │ │ ├── compile_snippet.cpp.in │ │ │ │ ├── ComplexSchur_matrixU.cpp │ │ │ │ ├── ComplexEigenSolver_eigenvalues.cpp │ │ │ │ ├── MatrixBase_end_int.cpp │ │ │ │ ├── Tutorial_commainit_02.cpp │ │ │ │ ├── MatrixBase_start_int.cpp │ │ │ │ ├── Jacobi_makeGivens.cpp │ │ │ │ ├── MatrixBase_array_const.cpp │ │ │ │ ├── MatrixBase_isUnitary.cpp │ │ │ │ ├── MatrixBase_isIdentity.cpp │ │ │ │ ├── MatrixBase_template_int_end.cpp │ │ │ │ ├── MatrixBase_template_int_start.cpp │ │ │ │ ├── MatrixBase_topRows_int.cpp │ │ │ │ ├── Matrix_resize_int.cpp │ │ │ │ ├── MatrixBase_leftCols_int.cpp │ │ │ │ ├── MatrixBase_block_int_int.cpp │ │ │ │ ├── MatrixBase_isDiagonal.cpp │ │ │ │ ├── MatrixBase_rightCols_int.cpp │ │ │ │ ├── MatrixBase_segment_int_int.cpp │ │ │ │ ├── MatrixBase_bottomRows_int.cpp │ │ │ │ ├── MatrixBase_template_int_segment.cpp │ │ │ │ ├── MatrixBase_template_int_topRows.cpp │ │ │ │ ├── ComplexSchur_matrixT.cpp │ │ │ │ ├── MatrixBase_template_int_leftCols.cpp │ │ │ │ ├── TopicAliasing_mult2.cpp │ │ │ │ ├── MatrixBase_block_int_int_int_int.cpp │ │ │ │ ├── MatrixBase_template_int_rightCols.cpp │ │ │ │ ├── MatrixBase_template_int_bottomRows.cpp │ │ │ │ ├── MatrixBase_diagonal_int.cpp │ │ │ │ ├── TopicAliasing_block.cpp │ │ │ │ ├── MatrixBase_rowwise.cpp │ │ │ │ ├── MatrixBase_topLeftCorner_int_int.cpp │ │ │ │ ├── MatrixBase_colwise.cpp │ │ │ │ ├── MatrixBase_cwiseEqual.cpp │ │ │ │ ├── MatrixBase_fixedBlock_int_int.cpp │ │ │ │ ├── MatrixBase_topRightCorner_int_int.cpp │ │ │ │ ├── TopicAliasing_block_correct.cpp │ │ │ │ ├── Tutorial_solve_singular.cpp │ │ │ │ ├── MatrixBase_bottomLeftCorner_int_int.cpp │ │ │ │ ├── MatrixBase_diagonal_template_int.cpp │ │ │ │ ├── MatrixBase_template_int_int_topLeftCorner.cpp │ │ │ │ ├── Tutorial_solve_triangular.cpp │ │ │ │ ├── MatrixBase_bottomRightCorner_int_int.cpp │ │ │ │ ├── MatrixBase_template_int_int_topRightCorner.cpp │ │ │ │ ├── Jacobi_makeJacobi.cpp │ │ │ │ ├── MatrixBase_cwiseNotEqual.cpp │ │ │ │ ├── MatrixBase_isOrthogonal.cpp │ │ │ │ ├── ComplexSchur_compute.cpp │ │ │ │ ├── MatrixBase_template_int_int_bottomLeftCorner.cpp │ │ │ │ ├── Tutorial_AdvancedInitialization_LinSpaced.cpp │ │ │ │ ├── MatrixBase_template_int_int_bottomRightCorner.cpp │ │ │ │ ├── Tutorial_Map_rowmajor.cpp │ │ │ │ ├── Tutorial_AdvancedInitialization_Join.cpp │ │ │ │ ├── FullPivLU_kernel.cpp │ │ │ │ ├── MatrixBase_set.cpp │ │ │ │ ├── Tridiagonalization_householderCoefficients.cpp │ │ │ │ ├── tut_arithmetic_transpose_conjugate.cpp │ │ │ │ ├── ColPivHouseholderQR_solve.cpp │ │ │ │ ├── FullPivHouseholderQR_solve.cpp │ │ │ │ ├── RealSchur_compute.cpp │ │ │ │ ├── HessenbergDecomposition_compute.cpp │ │ │ │ ├── Tutorial_solve_multiple_rhs.cpp │ │ │ │ ├── EigenSolver_compute.cpp │ │ │ │ ├── MatrixBase_computeInverseWithCheck.cpp │ │ │ │ ├── PartialPivLU_solve.cpp │ │ │ │ ├── HouseholderQR_solve.cpp │ │ │ │ ├── FullPivLU_image.cpp │ │ │ │ ├── SelfAdjointEigenSolver_operatorSqrt.cpp │ │ │ │ ├── SelfAdjointEigenSolver_SelfAdjointEigenSolver.cpp │ │ │ │ ├── SelfAdjointEigenSolver_compute_MatrixType.cpp │ │ │ │ ├── Tutorial_AdvancedInitialization_Zero.cpp │ │ │ │ ├── HessenbergDecomposition_matrixH.cpp │ │ │ │ ├── MatrixBase_reverse.cpp │ │ │ │ ├── Tridiagonalization_packedMatrix.cpp │ │ │ │ ├── Tridiagonalization_compute.cpp │ │ │ │ ├── MatrixBase_transpose.cpp │ │ │ │ ├── Tutorial_solve_reuse_decomposition.cpp │ │ │ │ ├── Matrix_resize_int_int.cpp │ │ │ │ ├── FullPivLU_solve.cpp │ │ │ │ ├── SelfAdjointEigenSolver_compute_MatrixType2.cpp │ │ │ │ ├── LLT_solve.cpp │ │ │ │ ├── EigenSolver_pseudoEigenvectors.cpp │ │ │ │ ├── MatrixBase_part.cpp │ │ │ │ ├── RealSchur_RealSchur_MatrixType.cpp │ │ │ │ ├── SelfAdjointEigenSolver_operatorInverseSqrt.cpp │ │ │ │ ├── MatrixBase_computeInverseAndDetWithCheck.cpp │ │ │ │ ├── Tridiagonalization_Tridiagonalization_MatrixType.cpp │ │ │ │ ├── MatrixBase_eval.cpp │ │ │ │ ├── tut_arithmetic_redux_minmax.cpp │ │ │ │ ├── HessenbergDecomposition_packedMatrix.cpp │ │ │ │ ├── MatrixBase_all.cpp │ │ │ │ ├── Tridiagonalization_decomposeInPlace.cpp │ │ │ │ ├── MatrixBase_marked.cpp │ │ │ │ ├── LLT_example.cpp │ │ │ │ ├── Vectorwise_reverse.cpp │ │ │ │ ├── MatrixBase_extract.cpp │ │ │ │ ├── TopicStorageOrders_example.cpp │ │ │ │ ├── Tridiagonalization_diagonal.cpp │ │ │ │ ├── JacobiSVD_basic.cpp │ │ │ │ ├── IOFormat.cpp │ │ │ │ └── TopicAliasing_cwise.cpp │ │ │ ├── Eigen_Silly_Professor_64x64.png │ │ │ ├── TutorialSparse_example_details.dox │ │ │ ├── I09_Vectorization.dox │ │ │ ├── I08_Resizing.dox │ │ │ ├── I07_TopicScalarTypes.dox │ │ │ ├── eigendoxy_footer.html.in │ │ │ ├── I06_TopicEigenExpressionTemplates.dox │ │ │ ├── I10_Assertions.dox │ │ │ └── special_examples │ │ │ │ └── CMakeLists.txt │ │ ├── scripts │ │ │ ├── debug.in │ │ │ ├── release.in │ │ │ ├── CMakeLists.txt │ │ │ └── buildtests.in │ │ ├── bench │ │ │ ├── btl │ │ │ │ ├── libs │ │ │ │ │ ├── STL │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── gmm │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── mtl4 │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ └── .kdbgrc.main │ │ │ │ │ ├── tvmet │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── ublas │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ └── blitz │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── generic_bench │ │ │ │ │ ├── timers │ │ │ │ │ │ ├── STL_timer.hh │ │ │ │ │ │ ├── STL_perf_analyzer.hh │ │ │ │ │ │ └── mixed_perf_analyzer.hh │ │ │ │ │ ├── utils │ │ │ │ │ │ └── size_lin_log.hh │ │ │ │ │ └── static │ │ │ │ │ │ ├── intel_bench_fixed_size.hh │ │ │ │ │ │ └── static_size_generator.hh │ │ │ │ ├── cmake │ │ │ │ │ ├── FindGMM.cmake │ │ │ │ │ └── FindGOTO.cmake │ │ │ │ └── actions │ │ │ │ │ └── basic_actions.hh │ │ │ ├── bench_sum.cpp │ │ │ └── bench_unrolling │ │ ├── unsupported │ │ │ ├── test │ │ │ │ └── FFT.cpp │ │ │ ├── doc │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── examples │ │ │ │ │ ├── MatrixExponential.cpp │ │ │ │ │ ├── MatrixLogarithm.cpp │ │ │ │ │ ├── MatrixSquareRoot.cpp │ │ │ │ │ ├── MatrixFunction.cpp │ │ │ │ │ ├── MatrixSine.cpp │ │ │ │ │ ├── MatrixSinh.cpp │ │ │ │ │ └── PolynomialUtils1.cpp │ │ │ │ └── Overview.dox │ │ │ ├── Eigen │ │ │ │ ├── src │ │ │ │ │ ├── BVH │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── FFT │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── Skyline │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── Splines │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── AutoDiff │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── Polynomials │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── SparseExtra │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── NumericalDiff │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── MatrixFunctions │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── IterativeSolvers │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── KroneckerProduct │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── MoreVectorization │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── NonLinearOptimization │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── MoreVectorization │ │ │ │ └── CMakeLists.txt │ │ │ └── CMakeLists.txt │ │ ├── CTestCustom.cmake.in │ │ ├── failtest │ │ │ ├── failtest_sanity_check.cpp │ │ │ ├── map_nonconst_ctor_on_const_ptr_0.cpp │ │ │ ├── diagonal_nonconst_ctor_on_const_xpr.cpp │ │ │ ├── block_nonconst_ctor_on_const_xpr_0.cpp │ │ │ ├── block_nonconst_ctor_on_const_xpr_1.cpp │ │ │ ├── transpose_nonconst_ctor_on_const_xpr.cpp │ │ │ ├── const_qualified_block_method_retval_1.cpp │ │ │ ├── const_qualified_diagonal_method_retval.cpp │ │ │ ├── map_nonconst_ctor_on_const_ptr_1.cpp │ │ │ ├── map_on_const_type_actually_const_1.cpp │ │ │ ├── const_qualified_block_method_retval_0.cpp │ │ │ ├── const_qualified_transpose_method_retval.cpp │ │ │ ├── map_on_const_type_actually_const_0.cpp │ │ │ ├── diagonal_on_const_type_actually_const.cpp │ │ │ ├── transpose_on_const_type_actually_const.cpp │ │ │ ├── block_nonconst_ctor_on_const_xpr_2.cpp │ │ │ ├── block_on_const_type_actually_const_0.cpp │ │ │ ├── block_on_const_type_actually_const_1.cpp │ │ │ ├── map_nonconst_ctor_on_const_ptr_2.cpp │ │ │ ├── map_nonconst_ctor_on_const_ptr_3.cpp │ │ │ └── map_nonconst_ctor_on_const_ptr_4.cpp │ │ ├── eigen3.pc.in │ │ ├── signature_of_eigen3_matrix_library │ │ ├── demos │ │ │ ├── mix_eigen_and_c │ │ │ │ └── README │ │ │ ├── CMakeLists.txt │ │ │ ├── mandelbrot │ │ │ │ ├── README │ │ │ │ └── CMakeLists.txt │ │ │ └── opengl │ │ │ │ ├── README │ │ │ │ └── CMakeLists.txt │ │ ├── blas │ │ │ ├── README.txt │ │ │ └── xerbla.cpp │ │ ├── test │ │ │ ├── runtest.sh │ │ │ └── eigen2 │ │ │ │ └── runtest.sh │ │ ├── CTestConfig.cmake │ │ └── cmake │ │ │ ├── FindAdolc.cmake │ │ │ ├── FindGMP.cmake │ │ │ ├── FindMetis.cmake │ │ │ └── FindScotch.cmake │ ├── CCOLAMD │ │ ├── Lib │ │ │ ├── ccolamd.o │ │ │ ├── ccolamd_l.o │ │ │ ├── libccolamd.a │ │ │ └── ccolamd_global.o │ │ ├── Demo │ │ │ ├── ccolamd_example │ │ │ └── ccolamd_l_example │ │ └── MATLAB │ │ │ ├── ccolamdtestmex.m │ │ │ ├── csymamdtestmex.m │ │ │ └── ccolamd_install.m │ └── UFconfig │ │ └── xerbla │ │ ├── xerbla.h │ │ └── xerbla.c ├── discrete │ ├── tests │ │ └── data │ │ │ └── UAI │ │ │ ├── uai08_test3.uai.evid │ │ │ ├── sampleMARKOV.uai.evid │ │ │ ├── uai08_test1.uai.evid │ │ │ ├── uai08_test2.uai.evid │ │ │ ├── sampleMARKOV.uai │ │ │ ├── uai08_test3.uai.output │ │ │ └── uai08_test2.uai.output │ └── CMakeLists.txt ├── groups.dox └── base │ └── debug.cpp ├── doc ├── math.pdf ├── LieGroups.pdf ├── trustregion.pdf └── images │ ├── n-steps.pdf │ ├── n-steps.png │ ├── circular.pdf │ ├── circular.png │ └── gtsam-structure.pdf ├── examples └── Data │ ├── VO_calibration.txt │ └── Balbianello │ ├── BalbianelloMedium-1.jpg │ ├── BalbianelloMedium-2.jpg │ ├── BalbianelloMedium-3.jpg │ ├── BalbianelloMedium-4.jpg │ ├── BalbianelloMedium-5.jpg │ ├── BalbianelloMedium-1.key.gz │ ├── BalbianelloMedium-2.key.gz │ ├── BalbianelloMedium-3.key.gz │ ├── BalbianelloMedium-4.key.gz │ └── BalbianelloMedium-5.key.gz ├── gtsam_unstable ├── discrete │ └── examples │ │ ├── small.csv │ │ ├── Doodle.xls │ │ ├── Doodle2012.xls │ │ └── intrusive.xlsx ├── base │ └── CMakeLists.txt ├── linear │ └── CMakeLists.txt ├── mainpage.dox ├── slam │ └── CMakeLists.txt ├── geometry │ └── CMakeLists.txt └── dynamics │ └── CMakeLists.txt ├── matlab ├── gtsam_examples │ ├── gtsamExamples.fig │ ├── VisualISAM_gui.fig │ └── VisualISAMDemo.m └── +gtsam │ ├── CHECK.m │ ├── plotPoint2.m │ ├── plotPoint3.m │ ├── plotPose2.m │ ├── plotCamera.m │ ├── EQUALITY.m │ └── findExampleDataFile.m ├── makestats.sh ├── wrap └── tests │ ├── testMemory.m │ ├── expected │ └── aGlobalFunction.m │ ├── expected_namespaces │ ├── +ns1 │ │ └── aGlobalFunction.m │ └── +ns2 │ │ └── aGlobalFunction.m │ └── testDependencies.h ├── cmake └── GtsamPrinting.cmake ├── THANKS ├── package_scripts └── compile_static_boost.sh └── CppUnitLite └── CMakeLists.txt /gtsam/3rdparty/Eigen/Eigen/src/SparseCore/SparseAssign.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gtsam/discrete/tests/data/UAI/uai08_test3.uai.evid: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/debug/gdb/__init__.py: -------------------------------------------------------------------------------- 1 | # Intentionally empty 2 | -------------------------------------------------------------------------------- /gtsam/discrete/tests/data/UAI/sampleMARKOV.uai.evid: -------------------------------------------------------------------------------- 1 | 2 2 | 1 0 3 | 2 1 -------------------------------------------------------------------------------- /doc/math.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/doc/math.pdf -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/Eigen: -------------------------------------------------------------------------------- 1 | #include "Dense" 2 | //#include "Sparse" 3 | -------------------------------------------------------------------------------- /examples/Data/VO_calibration.txt: -------------------------------------------------------------------------------- 1 | 721.5377 721.5377 0.0 609.5593 172.854 0.537150588 -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/.krazy: -------------------------------------------------------------------------------- 1 | EXCLUDE copyright 2 | EXCLUDE license 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/.krazy: -------------------------------------------------------------------------------- 1 | EXCLUDE copyright 2 | EXCLUDE license 3 | -------------------------------------------------------------------------------- /doc/LieGroups.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/doc/LieGroups.pdf -------------------------------------------------------------------------------- /doc/trustregion.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/doc/trustregion.pdf -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/scripts/debug.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cmake -DCMAKE_BUILD_TYPE=Debug . 4 | -------------------------------------------------------------------------------- /doc/images/n-steps.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/doc/images/n-steps.pdf -------------------------------------------------------------------------------- /doc/images/n-steps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/doc/images/n-steps.png -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_exp.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,2,3); 2 | cout << v.exp() << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_log.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,2,3); 2 | cout << v.log() << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_minus.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,2,3); 2 | cout << v-5 << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_plus.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,2,3); 2 | cout << v+5 << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/scripts/release.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cmake -DCMAKE_BUILD_TYPE=Release . 4 | -------------------------------------------------------------------------------- /doc/images/circular.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/doc/images/circular.pdf -------------------------------------------------------------------------------- /doc/images/circular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/doc/images/circular.png -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/libs/STL/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | btl_add_bench(btl_STL main.cpp OFF) 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_abs.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,-2,-3); 2 | cout << v.abs() << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_abs2.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,-2,-3); 2 | cout << v.abs2() << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_cube.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(2,3,4); 2 | cout << v.cube() << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_sqrt.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,2,4); 2 | cout << v.sqrt() << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_ones_int_int.cpp: -------------------------------------------------------------------------------- 1 | cout << MatrixXi::Ones(2,3) << endl; 2 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_random.cpp: -------------------------------------------------------------------------------- 1 | cout << 100 * Matrix2i::Random() << endl; 2 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_random_int.cpp: -------------------------------------------------------------------------------- 1 | cout << VectorXi::Random(2) << endl; 2 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_zero_int_int.cpp: -------------------------------------------------------------------------------- 1 | cout << MatrixXi::Zero(2,3) << endl; 2 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/test/FFT.cpp: -------------------------------------------------------------------------------- 1 | #define test_FFTW test_FFT 2 | #include "FFTW.cpp" 3 | -------------------------------------------------------------------------------- /gtsam_unstable/discrete/examples/small.csv: -------------------------------------------------------------------------------- 1 | ,Frank,Harvey,Magnus,Andrea Mon,1,1,1, Wed,1,1,1,1 Fri,,1,1,1 -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_inverse.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(2,3,4); 2 | cout << v.inverse() << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_less.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,2,3), w(3,2,1); 2 | cout << (vw) << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_max.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(2,3,4), w(4,2,3); 2 | cout << v.max(w) << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_min.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(2,3,4), w(4,2,3); 2 | cout << v.min(w) << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_minus_equal.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,2,3); 2 | v -= 5; 3 | cout << v << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_not_equal.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,2,3), w(3,2,1); 2 | cout << (v!=w) << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_plus_equal.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,2,3); 2 | v += 5; 3 | cout << v << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_quotient.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(2,3,4), w(4,2,3); 2 | cout << v/w << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_sin.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(M_PI, M_PI/2, M_PI/3); 2 | cout << v.sin() << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_tan.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(M_PI, M_PI/2, M_PI/3); 2 | cout << v.tan() << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_identity.cpp: -------------------------------------------------------------------------------- 1 | cout << Matrix::Identity() << endl; 2 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_identity_int_int.cpp: -------------------------------------------------------------------------------- 1 | cout << MatrixXd::Identity(4, 3) << endl; 2 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Matrix_setOnes_int.cpp: -------------------------------------------------------------------------------- 1 | VectorXf v; 2 | v.setOnes(3); 3 | cout << v << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Matrix_setZero_int.cpp: -------------------------------------------------------------------------------- 1 | VectorXf v; 2 | v.setZero(3); 3 | cout << v << endl; 4 | -------------------------------------------------------------------------------- /doc/images/gtsam-structure.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/doc/images/gtsam-structure.pdf -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_equal_equal.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,2,3), w(3,2,1); 2 | cout << (v==w) << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_greater_equal.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,2,3), w(3,2,1); 2 | cout << (v>=w) << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_less_equal.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,2,3), w(3,2,1); 2 | cout << (v<=w) << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_cwiseSqrt.cpp: -------------------------------------------------------------------------------- 1 | Vector3d v(1,2,4); 2 | cout << v.cwiseSqrt() << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Matrix_setRandom_int.cpp: -------------------------------------------------------------------------------- 1 | VectorXf v; 2 | v.setRandom(3); 3 | cout << v << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_slash_equal.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(3,2,4), w(5,4,2); 2 | v /= w; 3 | cout << v << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_times_equal.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(1,2,3), w(2,3,0); 2 | v *= w; 3 | cout << v << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_asDiagonal.cpp: -------------------------------------------------------------------------------- 1 | cout << Matrix3i(Vector3i(2,5,6).asDiagonal()) << endl; 2 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Matrix_setOnes_int_int.cpp: -------------------------------------------------------------------------------- 1 | MatrixXf m; 2 | m.setOnes(3, 3); 3 | cout << m << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Matrix_setZero_int_int.cpp: -------------------------------------------------------------------------------- 1 | MatrixXf m; 2 | m.setZero(3, 3); 3 | cout << m << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/CCOLAMD/Lib/ccolamd.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/gtsam/3rdparty/CCOLAMD/Lib/ccolamd.o -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_boolean_and.cpp: -------------------------------------------------------------------------------- 1 | Array3d v(-1,2,1), w(-3,2,3); 2 | cout << ((v(array) << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_cwiseAbs.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd m(2,3); 2 | m << 2, -4, 6, 3 | -5, 1, 0; 4 | cout << m.cwiseAbs() << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/TopicAliasing_mult1.cpp: -------------------------------------------------------------------------------- 1 | MatrixXf matA(2,2); 2 | matA << 2, 0, 0, 2; 3 | matA = matA * matA; 4 | cout << matA; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_commainit_01.cpp: -------------------------------------------------------------------------------- 1 | Matrix3f m; 2 | m << 1, 2, 3, 3 | 4, 5, 6, 4 | 7, 8, 9; 5 | std::cout << m; 6 | -------------------------------------------------------------------------------- /examples/Data/Balbianello/BalbianelloMedium-1.key.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/examples/Data/Balbianello/BalbianelloMedium-1.key.gz -------------------------------------------------------------------------------- /examples/Data/Balbianello/BalbianelloMedium-2.key.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/examples/Data/Balbianello/BalbianelloMedium-2.key.gz -------------------------------------------------------------------------------- /examples/Data/Balbianello/BalbianelloMedium-3.key.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/examples/Data/Balbianello/BalbianelloMedium-3.key.gz -------------------------------------------------------------------------------- /examples/Data/Balbianello/BalbianelloMedium-4.key.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/examples/Data/Balbianello/BalbianelloMedium-4.key.gz -------------------------------------------------------------------------------- /examples/Data/Balbianello/BalbianelloMedium-5.key.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/examples/Data/Balbianello/BalbianelloMedium-5.key.gz -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_cwiseAbs2.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd m(2,3); 2 | m << 2, -4, 6, 3 | -5, 1, 0; 4 | cout << m.cwiseAbs2() << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_setIdentity.cpp: -------------------------------------------------------------------------------- 1 | Matrix4i m = Matrix4i::Zero(); 2 | m.block<3,3>(1,0).setIdentity(); 3 | cout << m << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/TopicAliasing_mult3.cpp: -------------------------------------------------------------------------------- 1 | MatrixXf matA(2,2); 2 | matA << 2, 0, 0, 2; 3 | matA.noalias() = matA * matA; 4 | cout << matA; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Core/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ADD_SUBDIRECTORY(SSE) 2 | ADD_SUBDIRECTORY(AltiVec) 3 | ADD_SUBDIRECTORY(NEON) 4 | ADD_SUBDIRECTORY(Default) 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/Eigen_Silly_Professor_64x64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/gtsam/3rdparty/Eigen/doc/Eigen_Silly_Professor_64x64.png -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/TutorialSparse_example_details.dox: -------------------------------------------------------------------------------- 1 | /** 2 | \page TutorialSparse_example_details 3 | \include Tutorial_sparse_example_details.cpp 4 | */ 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_cwiseInverse.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd m(2,3); 2 | m << 2, 0.5, 1, 3 | 3, 0.25, 1; 4 | cout << m.cwiseInverse() << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/Dense: -------------------------------------------------------------------------------- 1 | #include "Core" 2 | #include "LU" 3 | #include "Cholesky" 4 | #include "QR" 5 | #include "SVD" 6 | #include "Geometry" 7 | #include "Eigenvalues" 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/generic_bench/timers/STL_timer.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/gtsam/3rdparty/Eigen/bench/btl/generic_bench/timers/STL_timer.hh -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/DenseBase_LinSpaced.cpp: -------------------------------------------------------------------------------- 1 | cout << VectorXi::LinSpaced(4,7,10).transpose() << endl; 2 | cout << VectorXd::LinSpaced(5,0.0,1.0).transpose() << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/doc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL TRUE) 2 | 3 | add_subdirectory(examples) 4 | add_subdirectory(snippets) 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/CTestCustom.cmake.in: -------------------------------------------------------------------------------- 1 | 2 | ## A tribute to Dynamic! 3 | set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS "33331") 4 | set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS "33331") 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/generic_bench/utils/size_lin_log.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/gtsam/3rdparty/Eigen/bench/btl/generic_bench/utils/size_lin_log.hh -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_cast.cpp: -------------------------------------------------------------------------------- 1 | Matrix2d md = Matrix2d::Identity() * 0.45; 2 | Matrix2f mf = Matrix2f::Identity(); 3 | cout << md + mf.cast() << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Matrix_resize_NoChange_int.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd m(3,4); 2 | m.resize(NoChange, 5); 3 | cout << "m: " << m.rows() << " rows, " << m.cols() << " cols" << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Matrix_resize_int_NoChange.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd m(3,4); 2 | m.resize(5, NoChange); 3 | cout << "m: " << m.rows() << " rows, " << m.cols() << " cols" << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/I09_Vectorization.dox: -------------------------------------------------------------------------------- 1 | namespace Eigen { 2 | 3 | /** \page TopicVectorization Vectorization 4 | 5 | 6 | TODO: write this dox page! 7 | 8 | */ 9 | } 10 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_commainit_01b.cpp: -------------------------------------------------------------------------------- 1 | Matrix3f m; 2 | m.row(0) << 1, 2, 3; 3 | m.block(1,0,2,2) << 4, 5, 7, 8; 4 | m.col(2).tail(2) << 6, 9; 5 | std::cout << m; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/generic_bench/timers/STL_perf_analyzer.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/gtsam/3rdparty/Eigen/bench/btl/generic_bench/timers/STL_perf_analyzer.hh -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_noalias.cpp: -------------------------------------------------------------------------------- 1 | Matrix2d a, b, c; a << 1,2,3,4; b << 5,6,7,8; 2 | c.noalias() = a * b; // this computes the product directly to c 3 | cout << c << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_select.cpp: -------------------------------------------------------------------------------- 1 | MatrixXi m(3, 3); 2 | m << 1, 2, 3, 3 | 4, 5, 6, 4 | 7, 8, 9; 5 | m = (m.array() >= 5).select(-m, m); 6 | cout << m << endl; 7 | -------------------------------------------------------------------------------- /gtsam/discrete/tests/data/UAI/uai08_test1.uai.evid: -------------------------------------------------------------------------------- 1 | 10 2 | 0 1 3 | 2 0 4 | 9 0 5 | 16 1 6 | 20 1 7 | 21 1 8 | 22 0 9 | 26 1 10 | 39 0 11 | 41 1 12 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/generic_bench/timers/mixed_perf_analyzer.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/gtsam/3rdparty/Eigen/bench/btl/generic_bench/timers/mixed_perf_analyzer.hh -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/libs/gmm/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | find_package(GMM) 3 | if (GMM_FOUND) 4 | include_directories(${GMM_INCLUDES}) 5 | btl_add_bench(btl_gmm main.cpp) 6 | endif (GMM_FOUND) 7 | -------------------------------------------------------------------------------- /gtsam/discrete/tests/data/UAI/uai08_test2.uai.evid: -------------------------------------------------------------------------------- 1 | 12 2 | 17 0 3 | 10 0 4 | 19 0 5 | 18 0 6 | 11 0 7 | 13 0 8 | 15 0 9 | 20 0 10 | 9 0 11 | 12 0 12 | 16 0 13 | 14 0 14 | -------------------------------------------------------------------------------- /wrap/tests/testMemory.m: -------------------------------------------------------------------------------- 1 | %MATLAB testing file for memory allocation and leaks 2 | %Andrew Melim 3 | 4 | addpath([pwd,'/../../../toolbox/gtsam']); 5 | for i=1:100000 6 | p = gtsamPoint2() 7 | end 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/QR/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_QR_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_QR_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/QR COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/generic_bench/static/intel_bench_fixed_size.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/gtsam/3rdparty/Eigen/bench/btl/generic_bench/static/intel_bench_fixed_size.hh -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/generic_bench/static/static_size_generator.hh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sdmiller/gtsam_pcl/HEAD/gtsam/3rdparty/Eigen/bench/btl/generic_bench/static/static_size_generator.hh -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Cwise_product.cpp: -------------------------------------------------------------------------------- 1 | Array33i a = Array33i::Random(), b = Array33i::Random(); 2 | Array33i c = a * b; 3 | cout << "a:\n" << a << "\nb:\n" << b << "\nc:\n" << c << endl; 4 | 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/DenseBase_LinSpaced_seq.cpp: -------------------------------------------------------------------------------- 1 | cout << VectorXi::LinSpaced(Sequential,4,7,10).transpose() << endl; 2 | cout << VectorXd::LinSpaced(Sequential,5,0.0,1.0).transpose() << endl; 3 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Map_outer_stride.cpp: -------------------------------------------------------------------------------- 1 | int array[12]; 2 | for(int i = 0; i < 12; ++i) array[i] = i; 3 | cout << Map >(array, 3, 3, OuterStride<>(4)) << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_operatorNorm.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd ones = MatrixXd::Ones(3,3); 2 | cout << "The operator norm of the 3x3 matrix of ones is " 3 | << ones.operatorNorm() << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/SVD/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SVD_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SVD_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SVD COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/libs/mtl4/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | find_package(MTL4) 3 | if (MTL4_FOUND) 4 | include_directories(${MTL4_INCLUDE_DIR}) 5 | btl_add_bench(btl_mtl4 main.cpp) 6 | endif (MTL4_FOUND) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_inverse.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Its inverse is:" << endl << m.inverse() << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/misc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_misc_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_misc_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/misc COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Jacobi/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Jacobi_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Jacobi_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Jacobi COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/libs/tvmet/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | find_package(Tvmet) 3 | if (TVMET_FOUND) 4 | include_directories(${TVMET_INCLUDE_DIR}) 5 | btl_add_bench(btl_tvmet main.cpp OFF) 6 | endif (TVMET_FOUND) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/LU/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_LU_arch_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_LU_arch_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/LU/arch COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/plugins/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_plugins_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_plugins_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/plugins COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_AdvancedInitialization_Block.cpp: -------------------------------------------------------------------------------- 1 | MatrixXf matA(2, 2); 2 | matA << 1, 2, 3, 4; 3 | MatrixXf matB(4, 4); 4 | matB << matA, matA/10, matA/10, matA; 5 | std::cout << matB << std::endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Cholesky/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Cholesky_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Cholesky_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Cholesky COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_cwiseProduct.cpp: -------------------------------------------------------------------------------- 1 | Matrix3i a = Matrix3i::Random(), b = Matrix3i::Random(); 2 | Matrix3i c = a.cwiseProduct(b); 3 | cout << "a:\n" << a << "\nb:\n" << b << "\nc:\n" << c << endl; 4 | 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_eigenvalues.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd ones = MatrixXd::Ones(3,3); 2 | VectorXcd eivals = ones.eigenvalues(); 3 | cout << "The eigenvalues of the 3x3 matrix of ones are:" << endl << eivals << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/PartialRedux_sum.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is the sum of each row:" << endl << m.rowwise().sum() << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/failtest_sanity_check.cpp: -------------------------------------------------------------------------------- 1 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 2 | This is just some text that won't compile as a C++ file, as a basic sanity check for failtest. 3 | #else 4 | int main() {} 5 | #endif 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Core/util/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_util_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_util_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/util COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/I08_Resizing.dox: -------------------------------------------------------------------------------- 1 | namespace Eigen { 2 | 3 | /** \page TopicResizing Resizing 4 | 5 | 6 | TODO: write this dox page! 7 | 8 | Is linked from the tutorial on the Matrix class. 9 | 10 | */ 11 | } 12 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_adjoint.cpp: -------------------------------------------------------------------------------- 1 | Matrix2cf m = Matrix2cf::Random(); 2 | cout << "Here is the 2x2 complex matrix m:" << endl << m << endl; 3 | cout << "Here is the adjoint of m:" << endl << m.adjoint() << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_prod.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is the product of all the coefficients:" << endl << m.prod() << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/PartialRedux_norm.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is the norm of each column:" << endl << m.colwise().norm() << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/PartialRedux_prod.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is the product of each row:" << endl << m.rowwise().prod() << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/SelfAdjointView_operatorNorm.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd ones = MatrixXd::Ones(3,3); 2 | cout << "The operator norm of the 3x3 matrix of ones is " 3 | << ones.selfadjointView().operatorNorm() << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_solve_matrix_inverse.cpp: -------------------------------------------------------------------------------- 1 | Matrix3f A; 2 | Vector3f b; 3 | A << 1,2,3, 4,5,6, 7,8,10; 4 | b << 3, 3, 4; 5 | Vector3f x = A.inverse() * b; 6 | cout << "The solution is:" << endl << x << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/BVH/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_BVH_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_BVH_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/BVH COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/FFT/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_FFT_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_FFT_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/FFT COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/UFconfig/xerbla/xerbla.c: -------------------------------------------------------------------------------- 1 | 2 | void xerbla_ (char *srname, int *info) 3 | { 4 | /* do nothing */ ; 5 | } 6 | 7 | 8 | void xerbla (char *srname, int *info) 9 | { 10 | /* do nothing */ ; 11 | } 12 | 13 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Eigenvalues/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_EIGENVALUES_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_EIGENVALUES_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigenvalues COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Householder/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Householder_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Householder_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Householder COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/LU/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_LU_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_LU_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/LU COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(arch) 9 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/SparseCore/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SparseCore_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SparseCore_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SparseCore COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/StlSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_StlSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_StlSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/StlSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Map_general_stride.cpp: -------------------------------------------------------------------------------- 1 | int array[24]; 2 | for(int i = 0; i < 24; ++i) array[i] = i; 3 | cout << Map > 4 | (array, 3, 3, Stride(8, 2)) 5 | << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_replicate.cpp: -------------------------------------------------------------------------------- 1 | MatrixXi m = MatrixXi::Random(2,3); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "m.replicate<3,2>() = ..." << endl; 4 | cout << m.replicate<3,2>() << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_replicate_int_int.cpp: -------------------------------------------------------------------------------- 1 | Vector3i v = Vector3i::Random(); 2 | cout << "Here is the vector v:" << endl << v << endl; 3 | cout << "v.replicate(2,5) = ..." << endl; 4 | cout << v.replicate(2,5) << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/PartialRedux_maxCoeff.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is the maximum of each column:" << endl << m.colwise().maxCoeff() << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/PartialRedux_minCoeff.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is the minimum of each column:" << endl << m.colwise().minCoeff() << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Core/arch/NEON/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_NEON_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_NEON_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/NEON COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Core/arch/SSE/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_SSE_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_SSE_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/SSE COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Core/products/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_Product_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_Product_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/products COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Geometry/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Geometry_arch_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Geometry_arch_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Geometry/arch COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/PaStiXSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_PastixSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_PastixSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/PaStiXSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/EigenSolver_eigenvalues.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd ones = MatrixXd::Ones(3,3); 2 | EigenSolver es(ones, false); 3 | cout << "The eigenvalues of the 3x3 matrix of ones are:" 4 | << endl << es.eigenvalues() << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Map_placement_new.cpp: -------------------------------------------------------------------------------- 1 | int data[] = {1,2,3,4,5,6,7,8,9}; 2 | Map v(data,4); 3 | cout << "The mapped vector v is: " << v << "\n"; 4 | new (&v) Map(data+4,5); 5 | cout << "Now v is: " << v << "\n"; -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/eigen3.pc.in: -------------------------------------------------------------------------------- 1 | Name: Eigen3 2 | Description: A C++ template library for linear algebra: vectors, matrices, and related algorithms 3 | Requires: 4 | Version: ${EIGEN_VERSION_NUMBER} 5 | Libs: 6 | Cflags: -I${INCLUDE_INSTALL_DIR} 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/Skyline/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Skyline_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Skyline_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/Skyline COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/Splines/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Splines_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Splines_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/Splines COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/discrete/tests/data/UAI/sampleMARKOV.uai: -------------------------------------------------------------------------------- 1 | MARKOV 2 | 3 3 | 2 2 3 4 | 3 5 | 1 0 6 | 2 0 1 7 | 2 1 2 8 | 9 | 2 10 | 0.436 0.564 11 | 12 | 4 13 | 0.128 0.872 14 | 0.920 0.080 15 | 16 | 6 17 | 0.210 0.333 0.457 18 | 0.811 0.000 0.189 -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/CholmodSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_CholmodSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_CholmodSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/CholmodSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/PardisoSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_PardisoSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_PardisoSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/PardisoSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/SparseCholesky/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SparseCholesky_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SparseCholesky_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SparseCholesky COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/SuperLUSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SuperLUSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SuperLUSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/SuperLUSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/UmfPackSupport/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_UmfPackSupport_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_UmfPackSupport_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/UmfPackSupport COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/I07_TopicScalarTypes.dox: -------------------------------------------------------------------------------- 1 | namespace Eigen { 2 | 3 | /** \page TopicScalarTypes Scalar types 4 | 5 | 6 | TODO: write this dox page! 7 | 8 | Is linked from the tutorial on the Matrix class. 9 | 10 | */ 11 | 12 | } 13 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/PartialRedux_squaredNorm.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is the square norm of each row:" << endl << m.rowwise().squaredNorm() << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_solve_triangular_inplace.cpp: -------------------------------------------------------------------------------- 1 | Matrix3f A; 2 | Vector3f b; 3 | A << 1,2,3, 0,5,6, 0,0,10; 4 | b << 3, 3, 4; 5 | A.triangularView().solveInPlace(b); 6 | cout << "The solution is:" << endl << b << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/AutoDiff/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_AutoDiff_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_AutoDiff_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/AutoDiff COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Geometry/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Geometry_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Geometry_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Geometry COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(arch) 9 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/OrderingMethods/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_OrderingMethods_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_OrderingMethods_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/OrderingMethods COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/eigendoxy_footer.html.in: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/DirectionWise_replicate.cpp: -------------------------------------------------------------------------------- 1 | MatrixXi m = MatrixXi::Random(2,3); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "m.colwise().replicate<3>() = ..." << endl; 4 | cout << m.colwise().replicate<3>() << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/DirectionWise_replicate_int.cpp: -------------------------------------------------------------------------------- 1 | Vector3i v = Vector3i::Random(); 2 | cout << "Here is the vector v:" << endl << v << endl; 3 | cout << "v.rowwise().replicate(5) = ..." << endl; 4 | cout << v.rowwise().replicate(5) << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/EigenSolver_eigenvectors.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd ones = MatrixXd::Ones(3,3); 2 | EigenSolver es(ones); 3 | cout << "The first eigenvector of the 3x3 matrix of ones is:" 4 | << endl << es.eigenvectors().col(1) << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_diagonal.cpp: -------------------------------------------------------------------------------- 1 | Matrix3i m = Matrix3i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here are the coefficients on the main diagonal of m:" << endl 4 | << m.diagonal() << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/SelfAdjointView_eigenvalues.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd ones = MatrixXd::Ones(3,3); 2 | VectorXd eivals = ones.selfadjointView().eigenvalues(); 3 | cout << "The eigenvalues of the 3x3 matrix of ones are:" << endl << eivals << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/tut_arithmetic_transpose_inplace.cpp: -------------------------------------------------------------------------------- 1 | MatrixXf a(2,3); a << 1, 2, 3, 4, 5, 6; 2 | cout << "Here is the initial matrix a:\n" << a << endl; 3 | 4 | 5 | a.transposeInPlace(); 6 | cout << "and after being transposed:\n" << a << endl; -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Core/arch/AltiVec/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_AltiVec_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_AltiVec_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/AltiVec COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Core/arch/Default/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_arch_Default_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_arch_Default_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core/arch/Default COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/libs/mtl4/.kdbgrc.main: -------------------------------------------------------------------------------- 1 | [General] 2 | DebuggerCmdStr= 3 | DriverName=GDB 4 | FileVersion=1 5 | OptionsSelected= 6 | ProgramArgs= 7 | TTYLevel=7 8 | WorkingDirectory= 9 | 10 | [Memory] 11 | ColumnWidths=80,0 12 | NumExprs=0 13 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/libs/ublas/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | find_package(Boost) 3 | if (Boost_FOUND) 4 | include_directories(${Boost_INCLUDE_DIRS}) 5 | include_directories(${Boost_INCLUDES}) 6 | btl_add_bench(btl_ublas main.cpp) 7 | endif (Boost_FOUND) 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/SelfAdjointEigenSolver_eigenvalues.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd ones = MatrixXd::Ones(3,3); 2 | SelfAdjointEigenSolver es(ones); 3 | cout << "The eigenvalues of the 3x3 matrix of ones are:" 4 | << endl << es.eigenvalues() << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_AdvancedInitialization_CommaTemporary.cpp: -------------------------------------------------------------------------------- 1 | MatrixXf mat = MatrixXf::Random(2, 3); 2 | std::cout << mat << std::endl << std::endl; 3 | mat = (MatrixXf(2,2) << 0, 1, 1, 0).finished() * mat; 4 | std::cout << mat << std::endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/Polynomials/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Polynomials_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Polynomials_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/Polynomials COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/SparseExtra/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_SparseExtra_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_SparseExtra_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/SparseExtra COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /matlab/+gtsam/CHECK.m: -------------------------------------------------------------------------------- 1 | function CHECK(name,assertion) 2 | % CHECK throw an error if an assertion fails 3 | % 4 | % CHECK(name,assertion) 5 | % - name of test 6 | % - assertion 7 | 8 | if (assertion~=1) 9 | error(['CHECK ' name ' fails']); 10 | end 11 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Eigen2Support/Geometry/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Eigen2Support_Geometry_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Eigen2Support_Geometry_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigen2Support/Geometry 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Map_inner_stride.cpp: -------------------------------------------------------------------------------- 1 | int array[12]; 2 | for(int i = 0; i < 12; ++i) array[i] = i; 3 | cout << Map > 4 | (array, 6) // the inner stride has already been passed as template parameter 5 | << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/tut_arithmetic_transpose_aliasing.cpp: -------------------------------------------------------------------------------- 1 | Matrix2i a; a << 1, 2, 3, 4; 2 | cout << "Here is the matrix a:\n" << a << endl; 3 | 4 | a = a.transpose(); // !!! do NOT do this !!! 5 | cout << "and the result of the aliasing effect:\n" << a << endl; -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/signature_of_eigen3_matrix_library: -------------------------------------------------------------------------------- 1 | This file is just there as a signature to help identify directories containing Eigen3. When writing a script looking for Eigen3, just look for this file. This is especially useful to help disambiguate with Eigen2... 2 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/NumericalDiff/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_NumericalDiff_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_NumericalDiff_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/NumericalDiff COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /wrap/tests/expected/aGlobalFunction.m: -------------------------------------------------------------------------------- 1 | function varargout = aGlobalFunction(varargin) 2 | if length(varargin) == 0 3 | varargout{1} = geometry_wrapper(40, varargin{:}); 4 | else 5 | error('Arguments do not match any overload of function aGlobalFunction'); 6 | end 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Eigen2Support/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Eigen2Support_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Eigen2Support_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Eigen2Support COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(Geometry) -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/ComplexEigenSolver_eigenvectors.cpp: -------------------------------------------------------------------------------- 1 | MatrixXcf ones = MatrixXcf::Ones(3,3); 2 | ComplexEigenSolver ces(ones); 3 | cout << "The first eigenvector of the 3x3 matrix of ones is:" 4 | << endl << ces.eigenvectors().col(1) << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/SelfAdjointEigenSolver_eigenvectors.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd ones = MatrixXd::Ones(3,3); 2 | SelfAdjointEigenSolver es(ones); 3 | cout << "The first eigenvector of the 3x3 matrix of ones is:" 4 | << endl << es.eigenvectors().col(1) << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/tut_matrix_assignment_resizing.cpp: -------------------------------------------------------------------------------- 1 | MatrixXf a(2,2); 2 | std::cout << "a is of size " << a.rows() << "x" << a.cols() << std::endl; 3 | MatrixXf b(3,3); 4 | a = b; 5 | std::cout << "a is now of size " << a.rows() << "x" << a.cols() << std::endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/MatrixFunctions/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_MatrixFunctions_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_MatrixFunctions_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/MatrixFunctions COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/IterativeLinearSolvers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_IterativeLinearSolvers_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_IterativeLinearSolvers_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/IterativeLinearSolvers COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/IterativeSolvers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_IterativeSolvers_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_IterativeSolvers_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/IterativeSolvers COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/KroneckerProduct/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_KroneckerProduct_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_KroneckerProduct_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/KroneckerProduct COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/AngleAxis_mimic_euler.cpp: -------------------------------------------------------------------------------- 1 | Matrix3f m; 2 | m = AngleAxisf(0.25*M_PI, Vector3f::UnitX()) 3 | * AngleAxisf(0.5*M_PI, Vector3f::UnitY()) 4 | * AngleAxisf(0.33*M_PI, Vector3f::UnitZ()); 5 | cout << m << endl << "is unitary: " << m.isUnitary() << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_isOnes.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Ones(); 2 | m(0,2) += 1e-4; 3 | cout << "Here's the matrix m:" << endl << m << endl; 4 | cout << "m.isOnes() returns: " << m.isOnes() << endl; 5 | cout << "m.isOnes(1e-3) returns: " << m.isOnes(1e-3) << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_isZero.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Zero(); 2 | m(0,2) = 1e-4; 3 | cout << "Here's the matrix m:" << endl << m << endl; 4 | cout << "m.isZero() returns: " << m.isZero() << endl; 5 | cout << "m.isZero(1e-3) returns: " << m.isZero(1e-3) << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/PartialRedux_count.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is the count of elements larger or equal than 0.5 of each row:" << endl << (m.array() >= 0.5).rowwise().count() << endl; 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/compile_snippet.cpp.in: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main(int, char**) 8 | { 9 | cout.precision(3); 10 | ${snippet_source_code} 11 | return 0; 12 | } 13 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/MoreVectorization/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_MoreVectorization_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_MoreVectorization_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/MoreVectorization COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/I06_TopicEigenExpressionTemplates.dox: -------------------------------------------------------------------------------- 1 | namespace Eigen { 2 | 3 | /** \page TopicEigenExpressionTemplates Expression templates in Eigen 4 | 5 | 6 | TODO: write this dox page! 7 | 8 | Is linked from the tutorial on arithmetic ops. 9 | 10 | */ 11 | 12 | } 13 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/ComplexSchur_matrixU.cpp: -------------------------------------------------------------------------------- 1 | MatrixXcf A = MatrixXcf::Random(4,4); 2 | cout << "Here is a random 4x4 matrix, A:" << endl << A << endl << endl; 3 | ComplexSchur schurOfA(A); 4 | cout << "The unitary matrix U is:" << endl << schurOfA.matrixU() << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/ComplexEigenSolver_eigenvalues.cpp: -------------------------------------------------------------------------------- 1 | MatrixXcf ones = MatrixXcf::Ones(3,3); 2 | ComplexEigenSolver ces(ones, /* computeEigenvectors = */ false); 3 | cout << "The eigenvalues of the 3x3 matrix of ones are:" 4 | << endl << ces.eigenvalues() << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_end_int.cpp: -------------------------------------------------------------------------------- 1 | RowVector4i v = RowVector4i::Random(); 2 | cout << "Here is the vector v:" << endl << v << endl; 3 | cout << "Here is v.tail(2):" << endl << v.tail(2) << endl; 4 | v.tail(2).setZero(); 5 | cout << "Now the vector v is:" << endl << v << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_commainit_02.cpp: -------------------------------------------------------------------------------- 1 | int rows=5, cols=5; 2 | MatrixXf m(rows,cols); 3 | m << (Matrix3f() << 1, 2, 3, 4, 5, 6, 7, 8, 9).finished(), 4 | MatrixXf::Zero(3,cols-3), 5 | MatrixXf::Zero(rows-3,3), 6 | MatrixXf::Identity(rows-3,cols-3); 7 | cout << m; 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Eigen) 2 | add_subdirectory(doc EXCLUDE_FROM_ALL) 3 | if(EIGEN_LEAVE_TEST_IN_ALL_TARGET) 4 | add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest 5 | else() 6 | add_subdirectory(test EXCLUDE_FROM_ALL) 7 | endif() 8 | -------------------------------------------------------------------------------- /wrap/tests/expected_namespaces/+ns1/aGlobalFunction.m: -------------------------------------------------------------------------------- 1 | function varargout = aGlobalFunction(varargin) 2 | if length(varargin) == 0 3 | varargout{1} = testNamespaces_wrapper(22, varargin{:}); 4 | else 5 | error('Arguments do not match any overload of function ns1.aGlobalFunction'); 6 | end 7 | -------------------------------------------------------------------------------- /wrap/tests/expected_namespaces/+ns2/aGlobalFunction.m: -------------------------------------------------------------------------------- 1 | function varargout = aGlobalFunction(varargin) 2 | if length(varargin) == 0 3 | varargout{1} = testNamespaces_wrapper(23, varargin{:}); 4 | else 5 | error('Arguments do not match any overload of function ns2.aGlobalFunction'); 6 | end 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_start_int.cpp: -------------------------------------------------------------------------------- 1 | RowVector4i v = RowVector4i::Random(); 2 | cout << "Here is the vector v:" << endl << v << endl; 3 | cout << "Here is v.head(2):" << endl << v.head(2) << endl; 4 | v.head(2).setZero(); 5 | cout << "Now the vector v is:" << endl << v << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/NonLinearOptimization/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_NonLinearOptimization_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_NonLinearOptimization_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/NonLinearOptimization COMPONENT Devel 6 | ) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Jacobi_makeGivens.cpp: -------------------------------------------------------------------------------- 1 | Vector2f v = Vector2f::Random(); 2 | JacobiRotation G; 3 | G.makeGivens(v.x(), v.y()); 4 | cout << "Here is the vector v:" << endl << v << endl; 5 | v.applyOnTheLeft(0, 1, G.adjoint()); 6 | cout << "Here is the vector J' * v:" << endl << v << endl; -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_array_const.cpp: -------------------------------------------------------------------------------- 1 | Vector3d v(-1,2,-3); 2 | cout << "the absolute values:" << endl << v.array().abs() << endl; 3 | cout << "the absolute values plus one:" << endl << v.array().abs()+1 << endl; 4 | cout << "sum of the squares: " << v.array().square().sum() << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_isUnitary.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Identity(); 2 | m(0,2) = 1e-4; 3 | cout << "Here's the matrix m:" << endl << m << endl; 4 | cout << "m.isUnitary() returns: " << m.isUnitary() << endl; 5 | cout << "m.isUnitary(1e-3) returns: " << m.isUnitary(1e-3) << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Core/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB Eigen_Core_SRCS "*.h") 2 | 3 | INSTALL(FILES 4 | ${Eigen_Core_SRCS} 5 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen/src/Core COMPONENT Devel 6 | ) 7 | 8 | ADD_SUBDIRECTORY(products) 9 | ADD_SUBDIRECTORY(util) 10 | ADD_SUBDIRECTORY(arch) 11 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_isIdentity.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Identity(); 2 | m(0,2) = 1e-4; 3 | cout << "Here's the matrix m:" << endl << m << endl; 4 | cout << "m.isIdentity() returns: " << m.isIdentity() << endl; 5 | cout << "m.isIdentity(1e-3) returns: " << m.isIdentity(1e-3) << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_template_int_end.cpp: -------------------------------------------------------------------------------- 1 | RowVector4i v = RowVector4i::Random(); 2 | cout << "Here is the vector v:" << endl << v << endl; 3 | cout << "Here is v.tail(2):" << endl << v.tail<2>() << endl; 4 | v.tail<2>().setZero(); 5 | cout << "Now the vector v is:" << endl << v << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_template_int_start.cpp: -------------------------------------------------------------------------------- 1 | RowVector4i v = RowVector4i::Random(); 2 | cout << "Here is the vector v:" << endl << v << endl; 3 | cout << "Here is v.head(2):" << endl << v.head<2>() << endl; 4 | v.head<2>().setZero(); 5 | cout << "Now the vector v is:" << endl << v << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_topRows_int.cpp: -------------------------------------------------------------------------------- 1 | Array44i a = Array44i::Random(); 2 | cout << "Here is the array a:" << endl << a << endl; 3 | cout << "Here is a.topRows(2):" << endl; 4 | cout << a.topRows(2) << endl; 5 | a.topRows(2).setZero(); 6 | cout << "Now the array a is:" << endl << a << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Matrix_resize_int.cpp: -------------------------------------------------------------------------------- 1 | VectorXd v(10); 2 | v.resize(3); 3 | RowVector3d w; 4 | w.resize(3); // this is legal, but has no effect 5 | cout << "v: " << v.rows() << " rows, " << v.cols() << " cols" << endl; 6 | cout << "w: " << w.rows() << " rows, " << w.cols() << " cols" << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_leftCols_int.cpp: -------------------------------------------------------------------------------- 1 | Array44i a = Array44i::Random(); 2 | cout << "Here is the array a:" << endl << a << endl; 3 | cout << "Here is a.leftCols(2):" << endl; 4 | cout << a.leftCols(2) << endl; 5 | a.leftCols(2).setZero(); 6 | cout << "Now the array a is:" << endl << a << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_block_int_int.cpp: -------------------------------------------------------------------------------- 1 | Matrix4i m = Matrix4i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is m.block<2,2>(1,1):" << endl << m.block<2,2>(1,1) << endl; 4 | m.block<2,2>(1,1).setZero(); 5 | cout << "Now the matrix m is:" << endl << m << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_isDiagonal.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = 10000 * Matrix3d::Identity(); 2 | m(0,2) = 1; 3 | cout << "Here's the matrix m:" << endl << m << endl; 4 | cout << "m.isDiagonal() returns: " << m.isDiagonal() << endl; 5 | cout << "m.isDiagonal(1e-3) returns: " << m.isDiagonal(1e-3) << endl; 6 | 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_rightCols_int.cpp: -------------------------------------------------------------------------------- 1 | Array44i a = Array44i::Random(); 2 | cout << "Here is the array a:" << endl << a << endl; 3 | cout << "Here is a.rightCols(2):" << endl; 4 | cout << a.rightCols(2) << endl; 5 | a.rightCols(2).setZero(); 6 | cout << "Now the array a is:" << endl << a << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_segment_int_int.cpp: -------------------------------------------------------------------------------- 1 | RowVector4i v = RowVector4i::Random(); 2 | cout << "Here is the vector v:" << endl << v << endl; 3 | cout << "Here is v.segment(1, 2):" << endl << v.segment(1, 2) << endl; 4 | v.segment(1, 2).setZero(); 5 | cout << "Now the vector v is:" << endl << v << endl; 6 | -------------------------------------------------------------------------------- /matlab/+gtsam/plotPoint2.m: -------------------------------------------------------------------------------- 1 | function plotPoint2(p,color,P) 2 | % plotPoint2 shows a Point2, possibly with covariance matrix 3 | if size(color,2)==1 4 | plot(p.x,p.y,[color '*']); 5 | else 6 | plot(p.x,p.y,color); 7 | end 8 | if exist('P', 'var') 9 | gtsam.covarianceEllipse([p.x;p.y],P,color(1)); 10 | end -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/QuickStart_example.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using Eigen::MatrixXd; 5 | 6 | int main() 7 | { 8 | MatrixXd m(2,2); 9 | m(0,0) = 3; 10 | m(1,0) = 2.5; 11 | m(0,1) = -1; 12 | m(1,1) = m(1,0) + m(0,1); 13 | std::cout << m << std::endl; 14 | } 15 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_bottomRows_int.cpp: -------------------------------------------------------------------------------- 1 | Array44i a = Array44i::Random(); 2 | cout << "Here is the array a:" << endl << a << endl; 3 | cout << "Here is a.bottomRows(2):" << endl; 4 | cout << a.bottomRows(2) << endl; 5 | a.bottomRows(2).setZero(); 6 | cout << "Now the array a is:" << endl << a << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_template_int_segment.cpp: -------------------------------------------------------------------------------- 1 | RowVector4i v = RowVector4i::Random(); 2 | cout << "Here is the vector v:" << endl << v << endl; 3 | cout << "Here is v.segment<2>(1):" << endl << v.segment<2>(1) << endl; 4 | v.segment<2>(2).setZero(); 5 | cout << "Now the vector v is:" << endl << v << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_template_int_topRows.cpp: -------------------------------------------------------------------------------- 1 | Array44i a = Array44i::Random(); 2 | cout << "Here is the array a:" << endl << a << endl; 3 | cout << "Here is a.topRows<2>():" << endl; 4 | cout << a.topRows<2>() << endl; 5 | a.topRows<2>().setZero(); 6 | cout << "Now the array a is:" << endl << a << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/ComplexSchur_matrixT.cpp: -------------------------------------------------------------------------------- 1 | MatrixXcf A = MatrixXcf::Random(4,4); 2 | cout << "Here is a random 4x4 matrix, A:" << endl << A << endl << endl; 3 | ComplexSchur schurOfA(A, false); // false means do not compute U 4 | cout << "The triangular matrix T is:" << endl << schurOfA.matrixT() << endl; 5 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_template_int_leftCols.cpp: -------------------------------------------------------------------------------- 1 | Array44i a = Array44i::Random(); 2 | cout << "Here is the array a:" << endl << a << endl; 3 | cout << "Here is a.leftCols<2>():" << endl; 4 | cout << a.leftCols<2>() << endl; 5 | a.leftCols<2>().setZero(); 6 | cout << "Now the array a is:" << endl << a << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/TopicAliasing_mult2.cpp: -------------------------------------------------------------------------------- 1 | MatrixXf matA(2,2), matB(2,2); 2 | matA << 2, 0, 0, 2; 3 | 4 | // Simple but not quite as efficient 5 | matB = matA * matA; 6 | cout << matB << endl << endl; 7 | 8 | // More complicated but also more efficient 9 | matB.noalias() = matA * matA; 10 | cout << matB; 11 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/demos/mix_eigen_and_c/README: -------------------------------------------------------------------------------- 1 | This is an example of how one can wrap some of Eigen into a C library. 2 | 3 | To try this with GCC, do: 4 | 5 | g++ -c binary_library.cpp -O2 -msse2 -I ../.. 6 | gcc example.c binary_library.o -o example -lstdc++ 7 | ./example 8 | 9 | TODO: add CMakeLists, add more explanations here -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_block_int_int_int_int.cpp: -------------------------------------------------------------------------------- 1 | Matrix4i m = Matrix4i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is m.block(1, 1, 2, 2):" << endl << m.block(1, 1, 2, 2) << endl; 4 | m.block(1, 1, 2, 2).setZero(); 5 | cout << "Now the matrix m is:" << endl << m << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_template_int_rightCols.cpp: -------------------------------------------------------------------------------- 1 | Array44i a = Array44i::Random(); 2 | cout << "Here is the array a:" << endl << a << endl; 3 | cout << "Here is a.rightCols<2>():" << endl; 4 | cout << a.rightCols<2>() << endl; 5 | a.rightCols<2>().setZero(); 6 | cout << "Now the array a is:" << endl << a << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_template_int_bottomRows.cpp: -------------------------------------------------------------------------------- 1 | Array44i a = Array44i::Random(); 2 | cout << "Here is the array a:" << endl << a << endl; 3 | cout << "Here is a.bottomRows<2>():" << endl; 4 | cout << a.bottomRows<2>() << endl; 5 | a.bottomRows<2>().setZero(); 6 | cout << "Now the array a is:" << endl << a << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/I10_Assertions.dox: -------------------------------------------------------------------------------- 1 | namespace Eigen { 2 | 3 | /** \page TopicAssertions Assertions 4 | 5 | 6 | TODO: write this dox page! 7 | 8 | Is linked from the tutorial on matrix arithmetic. 9 | 10 | \sa Section \ref TopicPreprocessorDirectivesAssertions on page \ref TopicPreprocessorDirectives. 11 | 12 | */ 13 | } 14 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_diagonal_int.cpp: -------------------------------------------------------------------------------- 1 | Matrix4i m = Matrix4i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here are the coefficients on the 1st super-diagonal and 2nd sub-diagonal of m:" << endl 4 | << m.diagonal(1).transpose() << endl 5 | << m.diagonal(-2).transpose() << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/TopicAliasing_block.cpp: -------------------------------------------------------------------------------- 1 | MatrixXi mat(3,3); 2 | mat << 1, 2, 3, 4, 5, 6, 7, 8, 9; 3 | cout << "Here is the matrix mat:\n" << mat << endl; 4 | 5 | // This assignment shows the aliasing problem 6 | mat.bottomRightCorner(2,2) = mat.topLeftCorner(2,2); 7 | cout << "After the assignment, mat = \n" << mat << endl; 8 | -------------------------------------------------------------------------------- /matlab/gtsam_examples/VisualISAMDemo.m: -------------------------------------------------------------------------------- 1 | % VisualISAMDemo: runs VisualSLAM iSAM demo in a GUI 2 | % Authors: Duy Nguyen Ta 3 | 4 | % Make sure global variables are visible on command prompt 5 | % so you can examine how they change as you step through 6 | global options truth data noiseModels isam result frame_i 7 | 8 | % Start GUI 9 | VisualISAM_gui -------------------------------------------------------------------------------- /wrap/tests/testDependencies.h: -------------------------------------------------------------------------------- 1 | //Header file to test dependency checking 2 | // 3 | class Pose3 { 4 | Pose3(const Rot3& r, const Point3& t); //What is Rot3? Throw here 5 | static Rot3 testStaticDep(Rot3& r); //What is Rot3? Throw here 6 | Rot3 testReturnType() const; // Throw here 7 | void testMethodArg(const Rot3& r) const; 8 | }; 9 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/tut_matrix_resize_fixed_size.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | 6 | int main() 7 | { 8 | Matrix4d m; 9 | m.resize(4,4); // no operation 10 | std::cout << "The matrix m is of size " 11 | << m.rows() << "x" << m.cols() << std::endl; 12 | } 13 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_rowwise.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is the sum of each row:" << endl << m.rowwise().sum() << endl; 4 | cout << "Here is the maximum absolute value of each row:" 5 | << endl << m.cwiseAbs().rowwise().maxCoeff() << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_topLeftCorner_int_int.cpp: -------------------------------------------------------------------------------- 1 | Matrix4i m = Matrix4i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is m.topLeftCorner(2, 2):" << endl; 4 | cout << m.topLeftCorner(2, 2) << endl; 5 | m.topLeftCorner(2, 2).setZero(); 6 | cout << "Now the matrix m is:" << endl << m << endl; 7 | -------------------------------------------------------------------------------- /gtsam/groups.dox: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | \defgroup LinearSolving Solving of sparse linear systems with least-squares 4 | @{ 5 | 6 | \defgroup Multifrontal Solving by multifrontal variable elimination (QR and Cholesky) 7 | @{ @} 8 | 9 | \defgroup Sequential Solving by sequential variable elimination (QR and Cholesky) 10 | @{ @} 11 | 12 | @} 13 | 14 | */ -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_colwise.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is the sum of each column:" << endl << m.colwise().sum() << endl; 4 | cout << "Here is the maximum absolute value of each column:" 5 | << endl << m.cwiseAbs().colwise().maxCoeff() << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_cwiseEqual.cpp: -------------------------------------------------------------------------------- 1 | MatrixXi m(2,2); 2 | m << 1, 0, 3 | 1, 1; 4 | cout << "Comparing m with identity matrix:" << endl; 5 | cout << m.cwiseEqual(MatrixXi::Identity(2,2)) << endl; 6 | int count = m.cwiseEqual(MatrixXi::Identity(2,2)).count(); 7 | cout << "Number of coefficients that are equal: " << count << endl; 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_fixedBlock_int_int.cpp: -------------------------------------------------------------------------------- 1 | Matrix4d m = Vector4d(1,2,3,4).asDiagonal(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is m.fixed<2, 2>(2, 2):" << endl << m.block<2, 2>(2, 2) << endl; 4 | m.block<2, 2>(2, 0) = m.block<2, 2>(2, 2); 5 | cout << "Now the matrix m is:" << endl << m << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_topRightCorner_int_int.cpp: -------------------------------------------------------------------------------- 1 | Matrix4i m = Matrix4i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is m.topRightCorner(2, 2):" << endl; 4 | cout << m.topRightCorner(2, 2) << endl; 5 | m.topRightCorner(2, 2).setZero(); 6 | cout << "Now the matrix m is:" << endl << m << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/TopicAliasing_block_correct.cpp: -------------------------------------------------------------------------------- 1 | MatrixXi mat(3,3); 2 | mat << 1, 2, 3, 4, 5, 6, 7, 8, 9; 3 | cout << "Here is the matrix mat:\n" << mat << endl; 4 | 5 | // The eval() solves the aliasing problem 6 | mat.bottomRightCorner(2,2) = mat.topLeftCorner(2,2).eval(); 7 | cout << "After the assignment, mat = \n" << mat << endl; 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_solve_singular.cpp: -------------------------------------------------------------------------------- 1 | Matrix3f A; 2 | Vector3f b; 3 | A << 1,2,3, 4,5,6, 7,8,9; 4 | b << 3, 3, 4; 5 | cout << "Here is the matrix A:" << endl << A << endl; 6 | cout << "Here is the vector b:" << endl << b << endl; 7 | Vector3f x; 8 | x = A.lu().solve(b); 9 | cout << "The solution is:" << endl << x << endl; 10 | -------------------------------------------------------------------------------- /matlab/+gtsam/plotPoint3.m: -------------------------------------------------------------------------------- 1 | function plotPoint3(p, color, P) 2 | %PLOTPOINT3 Plot a Point3 with an optional covariance matrix 3 | if size(color,2)==1 4 | plot3(p.x,p.y,p.z,[color '*']); 5 | else 6 | plot3(p.x,p.y,p.z,color); 7 | end 8 | if exist('P', 'var') 9 | gtsam.covarianceEllipse3D([p.x;p.y;p.z],P); 10 | end 11 | 12 | end 13 | 14 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_bottomLeftCorner_int_int.cpp: -------------------------------------------------------------------------------- 1 | Matrix4i m = Matrix4i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is m.bottomLeftCorner(2, 2):" << endl; 4 | cout << m.bottomLeftCorner(2, 2) << endl; 5 | m.bottomLeftCorner(2, 2).setZero(); 6 | cout << "Now the matrix m is:" << endl << m << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_diagonal_template_int.cpp: -------------------------------------------------------------------------------- 1 | Matrix4i m = Matrix4i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here are the coefficients on the 1st super-diagonal and 2nd sub-diagonal of m:" << endl 4 | << m.diagonal<1>().transpose() << endl 5 | << m.diagonal<-2>().transpose() << endl; 6 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_template_int_int_topLeftCorner.cpp: -------------------------------------------------------------------------------- 1 | Matrix4i m = Matrix4i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is m.topLeftCorner<2,2>():" << endl; 4 | cout << m.topLeftCorner<2,2>() << endl; 5 | m.topLeftCorner<2,2>().setZero(); 6 | cout << "Now the matrix m is:" << endl << m << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_solve_triangular.cpp: -------------------------------------------------------------------------------- 1 | Matrix3f A; 2 | Vector3f b; 3 | A << 1,2,3, 0,5,6, 0,0,10; 4 | b << 3, 3, 4; 5 | cout << "Here is the matrix A:" << endl << A << endl; 6 | cout << "Here is the vector b:" << endl << b << endl; 7 | Vector3f x = A.triangularView().solve(b); 8 | cout << "The solution is:" << endl << x << endl; 9 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/map_nonconst_ctor_on_const_ptr_0.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(CV_QUALIFIER float *ptr){ 12 | Map m(ptr); 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_bottomRightCorner_int_int.cpp: -------------------------------------------------------------------------------- 1 | Matrix4i m = Matrix4i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is m.bottomRightCorner(2, 2):" << endl; 4 | cout << m.bottomRightCorner(2, 2) << endl; 5 | m.bottomRightCorner(2, 2).setZero(); 6 | cout << "Now the matrix m is:" << endl << m << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_template_int_int_topRightCorner.cpp: -------------------------------------------------------------------------------- 1 | Matrix4i m = Matrix4i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is m.topRightCorner<2,2>():" << endl; 4 | cout << m.topRightCorner<2,2>() << endl; 5 | m.topRightCorner<2,2>().setZero(); 6 | cout << "Now the matrix m is:" << endl << m << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/diagonal_nonconst_ctor_on_const_xpr.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(CV_QUALIFIER Matrix3d &m){ 12 | Diagonal d(m); 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Jacobi_makeJacobi.cpp: -------------------------------------------------------------------------------- 1 | Matrix2f m = Matrix2f::Random(); 2 | m = (m + m.adjoint()).eval(); 3 | JacobiRotation J; 4 | J.makeJacobi(m, 0, 1); 5 | cout << "Here is the matrix m:" << endl << m << endl; 6 | m.applyOnTheLeft(0, 1, J.adjoint()); 7 | m.applyOnTheRight(0, 1, J); 8 | cout << "Here is the matrix J' * m * J:" << endl << m << endl; -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_cwiseNotEqual.cpp: -------------------------------------------------------------------------------- 1 | MatrixXi m(2,2); 2 | m << 1, 0, 3 | 1, 1; 4 | cout << "Comparing m with identity matrix:" << endl; 5 | cout << m.cwiseNotEqual(MatrixXi::Identity(2,2)) << endl; 6 | int count = m.cwiseNotEqual(MatrixXi::Identity(2,2)).count(); 7 | cout << "Number of coefficients that are not equal: " << count << endl; 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_isOrthogonal.cpp: -------------------------------------------------------------------------------- 1 | Vector3d v(1,0,0); 2 | Vector3d w(1e-4,0,1); 3 | cout << "Here's the vector v:" << endl << v << endl; 4 | cout << "Here's the vector w:" << endl << w << endl; 5 | cout << "v.isOrthogonal(w) returns: " << v.isOrthogonal(w) << endl; 6 | cout << "v.isOrthogonal(w,1e-3) returns: " << v.isOrthogonal(w,1e-3) << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/block_nonconst_ctor_on_const_xpr_0.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(CV_QUALIFIER Matrix3d &m){ 12 | Block b(m,0,0); 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/block_nonconst_ctor_on_const_xpr_1.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(CV_QUALIFIER Matrix3d &m){ 12 | Block b(m,0,0,3,3); 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/transpose_nonconst_ctor_on_const_xpr.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(CV_QUALIFIER Matrix3d &m){ 12 | Transpose t(m); 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB Eigen_src_subdirectories "*") 2 | escape_string_as_regex(ESCAPED_CMAKE_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") 3 | foreach(f ${Eigen_src_subdirectories}) 4 | if(NOT f MATCHES "\\.txt" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/[.].+" ) 5 | add_subdirectory(${f}) 6 | endif() 7 | endforeach() 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ArrayClass_mult.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main() 8 | { 9 | ArrayXXf a(2,2); 10 | ArrayXXf b(2,2); 11 | a << 1,2, 12 | 3,4; 13 | b << 5,6, 14 | 7,8; 15 | cout << "a * b = " << endl << a * b << endl; 16 | } 17 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/ComplexSchur_compute.cpp: -------------------------------------------------------------------------------- 1 | MatrixXcf A = MatrixXcf::Random(4,4); 2 | ComplexSchur schur(4); 3 | schur.compute(A); 4 | cout << "The matrix T in the decomposition of A is:" << endl << schur.matrixT() << endl; 5 | schur.compute(A.inverse()); 6 | cout << "The matrix T in the decomposition of A^(-1) is:" << endl << schur.matrixT() << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_template_int_int_bottomLeftCorner.cpp: -------------------------------------------------------------------------------- 1 | Matrix4i m = Matrix4i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is m.bottomLeftCorner<2,2>():" << endl; 4 | cout << m.bottomLeftCorner<2,2>() << endl; 5 | m.bottomLeftCorner<2,2>().setZero(); 6 | cout << "Now the matrix m is:" << endl << m << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_AdvancedInitialization_LinSpaced.cpp: -------------------------------------------------------------------------------- 1 | ArrayXXf table(10, 4); 2 | table.col(0) = ArrayXf::LinSpaced(10, 0, 90); 3 | table.col(1) = M_PI / 180 * table.col(0); 4 | table.col(2) = table.col(1).sin(); 5 | table.col(3) = table.col(1).cos(); 6 | std::cout << " Degrees Radians Sine Cosine\n"; 7 | std::cout << table << std::endl; 8 | -------------------------------------------------------------------------------- /cmake/GtsamPrinting.cmake: -------------------------------------------------------------------------------- 1 | # print configuration variables 2 | # Usage: 3 | #print_config_flag(${GTSAM_BUILD_TESTS} "Build Tests ") 4 | function(print_config_flag flag msg) 5 | if (flag) 6 | message(STATUS " ${msg}: Enabled") 7 | else () 8 | message(STATUS " ${msg}: Disabled") 9 | endif () 10 | endfunction(print_config_flag) 11 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/blas/README.txt: -------------------------------------------------------------------------------- 1 | 2 | This directory contains a BLAS library built on top of Eigen. 3 | 4 | This is currently a work in progress which is far to be ready for use, 5 | but feel free to contribute to it if you wish. 6 | 7 | This module is not built by default. In order to compile it, you need to 8 | type 'make blas' from within your build dir. 9 | 10 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_template_int_int_bottomRightCorner.cpp: -------------------------------------------------------------------------------- 1 | Matrix4i m = Matrix4i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is m.bottomRightCorner<2,2>():" << endl; 4 | cout << m.bottomRightCorner<2,2>() << endl; 5 | m.bottomRightCorner<2,2>().setZero(); 6 | cout << "Now the matrix m is:" << endl << m << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_Map_rowmajor.cpp: -------------------------------------------------------------------------------- 1 | int array[8]; 2 | for(int i = 0; i < 8; ++i) array[i] = i; 3 | cout << "Column-major:\n" << Map >(array) << endl; 4 | cout << "Row-major:\n" << Map >(array) << endl; 5 | cout << "Row-major using stride:\n" << 6 | Map, Unaligned, Stride<1,4> >(array) << endl; 7 | 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/const_qualified_block_method_retval_1.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(CV_QUALIFIER Matrix3d &m){ 12 | Block b(m.block(0,0,3,3)); 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/const_qualified_diagonal_method_retval.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(CV_QUALIFIER Matrix3d &m){ 12 | Diagonal b(m.diagonal()); 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/map_nonconst_ctor_on_const_ptr_1.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(CV_QUALIFIER float *ptr, DenseIndex size){ 12 | Map m(ptr, size); 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/map_on_const_type_actually_const_1.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(float *ptr){ 12 | Map(ptr).coeffRef(0) = 1.0f; 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/Array: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_ARRAY_MODULE_H 2 | #define EIGEN_ARRAY_MODULE_H 3 | 4 | // include Core first to handle Eigen2 support macros 5 | #include "Core" 6 | 7 | #ifndef EIGEN2_SUPPORT 8 | #error The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core. 9 | #endif 10 | 11 | #endif // EIGEN_ARRAY_MODULE_H 12 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/const_qualified_block_method_retval_0.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(CV_QUALIFIER Matrix3d &m){ 12 | Block b(m.block<3,3>(0,0)); 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/const_qualified_transpose_method_retval.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(CV_QUALIFIER Matrix3d &m){ 12 | Transpose b(m.transpose()); 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/map_on_const_type_actually_const_0.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(float *ptr){ 12 | Map(ptr, 1, 1).coeffRef(0,0) = 1.0f; 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_colwise.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | int main() 6 | { 7 | Eigen::MatrixXf mat(2,4); 8 | mat << 1, 2, 6, 9, 9 | 3, 1, 7, 2; 10 | 11 | std::cout << "Column's maximum: " << std::endl 12 | << mat.colwise().maxCoeff() << std::endl; 13 | } 14 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_rowwise.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | int main() 6 | { 7 | Eigen::MatrixXf mat(2,4); 8 | mat << 1, 2, 6, 9, 9 | 3, 1, 7, 2; 10 | 11 | std::cout << "Row's maximum: " << std::endl 12 | << mat.rowwise().maxCoeff() << std::endl; 13 | } 14 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_AdvancedInitialization_Join.cpp: -------------------------------------------------------------------------------- 1 | RowVectorXd vec1(3); 2 | vec1 << 1, 2, 3; 3 | std::cout << "vec1 = " << vec1 << std::endl; 4 | 5 | RowVectorXd vec2(4); 6 | vec2 << 1, 4, 9, 16;; 7 | std::cout << "vec2 = " << vec2 << std::endl; 8 | 9 | RowVectorXd joined(7); 10 | joined << vec1, vec2; 11 | std::cout << "joined = " << joined << std::endl; 12 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/scripts/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | get_property(EIGEN_TESTS_LIST GLOBAL PROPERTY EIGEN_TESTS_LIST) 2 | configure_file(buildtests.in ${CMAKE_BINARY_DIR}/buildtests.sh @ONLY) 3 | 4 | configure_file(check.in ${CMAKE_BINARY_DIR}/check.sh COPYONLY) 5 | configure_file(debug.in ${CMAKE_BINARY_DIR}/debug.sh COPYONLY) 6 | configure_file(release.in ${CMAKE_BINARY_DIR}/release.sh COPYONLY) 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/demos/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(EigenDemos) 2 | 3 | add_custom_target(demos) 4 | 5 | if(NOT EIGEN_TEST_NOQT) 6 | find_package(Qt4) 7 | if(QT4_FOUND) 8 | add_subdirectory(mandelbrot) 9 | add_subdirectory(opengl) 10 | else(QT4_FOUND) 11 | message(STATUS "Qt4 not found, so disabling the mandelbrot and opengl demos") 12 | endif(QT4_FOUND) 13 | endif() 14 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/FullPivLU_kernel.cpp: -------------------------------------------------------------------------------- 1 | MatrixXf m = MatrixXf::Random(3,5); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | MatrixXf ker = m.fullPivLu().kernel(); 4 | cout << "Here is a matrix whose columns form a basis of the kernel of m:" 5 | << endl << ker << endl; 6 | cout << "By definition of the kernel, m*ker is zero:" 7 | << endl << m*ker << endl; 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/diagonal_on_const_type_actually_const.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(){ 12 | MatrixXf m; 13 | Diagonal(m).coeffRef(0) = 1.0f; 14 | } 15 | 16 | int main() {} 17 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_set.cpp: -------------------------------------------------------------------------------- 1 | Matrix3i m1; 2 | m1 << 1, 2, 3, 3 | 4, 5, 6, 4 | 7, 8, 9; 5 | cout << m1 << endl << endl; 6 | Matrix3i m2 = Matrix3i::Identity(); 7 | m2.block(0,0, 2,2) << 10, 11, 12, 13; 8 | cout << m2 << endl << endl; 9 | Vector2i v1; 10 | v1 << 14, 15; 11 | m2 << v1.transpose(), 16, 12 | v1, m1.block(1,1,2,2); 13 | cout << m2 << endl; 14 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tridiagonalization_householderCoefficients.cpp: -------------------------------------------------------------------------------- 1 | Matrix4d X = Matrix4d::Random(4,4); 2 | Matrix4d A = X + X.transpose(); 3 | cout << "Here is a random symmetric 4x4 matrix:" << endl << A << endl; 4 | Tridiagonalization triOfA(A); 5 | Vector3d hc = triOfA.householderCoefficients(); 6 | cout << "The vector of Householder coefficients is:" << endl << hc << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/transpose_on_const_type_actually_const.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(){ 12 | MatrixXf m; 13 | Transpose(m).coeffRef(0, 0) = 1.0f; 14 | } 15 | 16 | int main() {} 17 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/tut_arithmetic_transpose_conjugate.cpp: -------------------------------------------------------------------------------- 1 | MatrixXcf a = MatrixXcf::Random(2,2); 2 | cout << "Here is the matrix a\n" << a << endl; 3 | 4 | cout << "Here is the matrix a^T\n" << a.transpose() << endl; 5 | 6 | 7 | cout << "Here is the conjugate of a\n" << a.conjugate() << endl; 8 | 9 | 10 | cout << "Here is the matrix a^*\n" << a.adjoint() << endl; 11 | 12 | 13 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/block_nonconst_ctor_on_const_xpr_2.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(CV_QUALIFIER Matrix3d &m){ 12 | // row/column constructor 13 | Block b(m,0); 14 | } 15 | 16 | int main() {} 17 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/block_on_const_type_actually_const_0.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(){ 12 | Matrix3f m; 13 | Block(m, 0, 0, 3, 3).coeffRef(0, 0) = 1.0f; 14 | } 15 | 16 | int main() {} 17 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/block_on_const_type_actually_const_1.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(){ 12 | MatrixXf m; 13 | Block(m, 0, 0).coeffRef(0, 0) = 1.0f; 14 | } 15 | 16 | int main() {} 17 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/map_nonconst_ctor_on_const_ptr_2.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(CV_QUALIFIER float *ptr, DenseIndex rows, DenseIndex cols){ 12 | Map m(ptr, rows, cols); 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/DenseBase_middleCols_int.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main(void) 8 | { 9 | int const N = 5; 10 | MatrixXi A(N,N); 11 | A.setRandom(); 12 | cout << "A =\n" << A << '\n' << endl; 13 | cout << "A(1..3,:) =\n" << A.middleCols(1,3) << endl; 14 | return 0; 15 | } 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/DenseBase_middleRows_int.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main(void) 8 | { 9 | int const N = 5; 10 | MatrixXi A(N,N); 11 | A.setRandom(); 12 | cout << "A =\n" << A << '\n' << endl; 13 | cout << "A(2..3,:) =\n" << A.middleRows(2,2) << endl; 14 | return 0; 15 | } 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/ColPivHouseholderQR_solve.cpp: -------------------------------------------------------------------------------- 1 | Matrix3f m = Matrix3f::Random(); 2 | Matrix3f y = Matrix3f::Random(); 3 | cout << "Here is the matrix m:" << endl << m << endl; 4 | cout << "Here is the matrix y:" << endl << y << endl; 5 | Matrix3f x; 6 | x = m.colPivHouseholderQr().solve(y); 7 | assert(y.isApprox(m*x)); 8 | cout << "Here is a solution x to the equation mx=y:" << endl << x << endl; 9 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/FullPivHouseholderQR_solve.cpp: -------------------------------------------------------------------------------- 1 | Matrix3f m = Matrix3f::Random(); 2 | Matrix3f y = Matrix3f::Random(); 3 | cout << "Here is the matrix m:" << endl << m << endl; 4 | cout << "Here is the matrix y:" << endl << y << endl; 5 | Matrix3f x; 6 | x = m.fullPivHouseholderQr().solve(y); 7 | assert(y.isApprox(m*x)); 8 | cout << "Here is a solution x to the equation mx=y:" << endl << x << endl; 9 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/RealSchur_compute.cpp: -------------------------------------------------------------------------------- 1 | MatrixXf A = MatrixXf::Random(4,4); 2 | RealSchur schur(4); 3 | schur.compute(A, /* computeU = */ false); 4 | cout << "The matrix T in the decomposition of A is:" << endl << schur.matrixT() << endl; 5 | schur.compute(A.inverse(), /* computeU = */ false); 6 | cout << "The matrix T in the decomposition of A^(-1) is:" << endl << schur.matrixT() << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/QuickStart_example2_fixed.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main() 8 | { 9 | Matrix3f m = Matrix3f::Random(); 10 | m = (m + Matrix3f::Constant(1.2)) * 50; 11 | cout << "m =" << endl << m << endl; 12 | Vector3f v(1,2,3); 13 | 14 | cout << "m * v =" << endl << m * v << endl; 15 | } 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/demos/mandelbrot/README: -------------------------------------------------------------------------------- 1 | *** Mandelbrot demo *** 2 | 3 | Controls: 4 | * Left mouse button to center view at a point. 5 | * Drag vertically with left mouse button to zoom in and out. 6 | 7 | Be sure to enable SSE2 or AltiVec to improve performance. 8 | 9 | The number of iterations, and the choice between single and double precision, are 10 | determined at runtime depending on the zoom level. 11 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/DenseBase_template_int_middleCols.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main(void) 8 | { 9 | int const N = 5; 10 | MatrixXi A(N,N); 11 | A.setRandom(); 12 | cout << "A =\n" << A << '\n' << endl; 13 | cout << "A(:,1..3) =\n" << A.middleCols<3>(1) << endl; 14 | return 0; 15 | } 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/DenseBase_template_int_middleRows.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main(void) 8 | { 9 | int const N = 5; 10 | MatrixXi A(N,N); 11 | A.setRandom(); 12 | cout << "A =\n" << A << '\n' << endl; 13 | cout << "A(1..3,:) =\n" << A.middleRows<3>(1) << endl; 14 | return 0; 15 | } 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_simple_example_fixed_size.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | 6 | int main() 7 | { 8 | Matrix3f m3; 9 | m3 << 1, 2, 3, 4, 5, 6, 7, 8, 9; 10 | Matrix4f m4 = Matrix4f::Identity(); 11 | Vector4i v4(1, 2, 3, 4); 12 | 13 | std::cout << "m3\n" << m3 << "\nm4:\n" 14 | << m4 << "\nv4:\n" << v4 << std::endl; 15 | } 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/HessenbergDecomposition_compute.cpp: -------------------------------------------------------------------------------- 1 | MatrixXcf A = MatrixXcf::Random(4,4); 2 | HessenbergDecomposition hd(4); 3 | hd.compute(A); 4 | cout << "The matrix H in the decomposition of A is:" << endl << hd.matrixH() << endl; 5 | hd.compute(2*A); // re-use hd to compute and store decomposition of 2A 6 | cout << "The matrix H in the decomposition of 2A is:" << endl << hd.matrixH() << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_solve_multiple_rhs.cpp: -------------------------------------------------------------------------------- 1 | Matrix3f A(3,3); 2 | A << 1,2,3, 4,5,6, 7,8,10; 3 | Matrix B; 4 | B << 3,1, 3,1, 4,1; 5 | Matrix X; 6 | X = A.fullPivLu().solve(B); 7 | cout << "The solution with right-hand side (3,3,4) is:" << endl; 8 | cout << X.col(0) << endl; 9 | cout << "The solution with right-hand side (1,1,1) is:" << endl; 10 | cout << X.col(1) << endl; 11 | -------------------------------------------------------------------------------- /THANKS: -------------------------------------------------------------------------------- 1 | GTSAM was made possible by the efforts of many collaborators at Georgia Tech 2 | 3 | Doru Balcan 4 | Chris Beall 5 | Alex Cunningham 6 | Alireza Fathi 7 | Eohan George 8 | Viorela Ila 9 | Yong-Dian Jian 10 | Michael Kaess 11 | Kai Ni 12 | Carlos Nieto 13 | Duy-Nguyen 14 | Manohar Paluri 15 | Christian Potthast 16 | Richard Roberts 17 | Grant Schindler 18 | 19 | Many thanks for your hard work!!!! 20 | Frank Dellaert 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/EigenSolver_compute.cpp: -------------------------------------------------------------------------------- 1 | EigenSolver es; 2 | MatrixXf A = MatrixXf::Random(4,4); 3 | es.compute(A, /* computeEigenvectors = */ false); 4 | cout << "The eigenvalues of A are: " << es.eigenvalues().transpose() << endl; 5 | es.compute(A + MatrixXf::Identity(4,4), false); // re-use es to compute eigenvalues of A+I 6 | cout << "The eigenvalues of A+I are: " << es.eigenvalues().transpose() << endl; 7 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/QuickStart_example2_dynamic.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main() 8 | { 9 | MatrixXf m = MatrixXf::Random(3,3); 10 | m = (m + MatrixXf::Constant(3,3,1.2)) * 50; 11 | cout << "m =" << endl << m << endl; 12 | VectorXf v(3); 13 | v << 1, 2, 3; 14 | cout << "m * v =" << endl << m * v << endl; 15 | } 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_computeInverseWithCheck.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | Matrix3d inverse; 4 | bool invertible; 5 | m.computeInverseWithCheck(inverse,invertible); 6 | if(invertible) { 7 | cout << "It is invertible, and its inverse is:" << endl << inverse << endl; 8 | } 9 | else { 10 | cout << "It is not invertible." << endl; 11 | } 12 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/bench_sum.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace Eigen; 4 | using namespace std; 5 | 6 | int main() 7 | { 8 | typedef Matrix Vec; 9 | Vec v(SIZE); 10 | v.setZero(); 11 | v[0] = 1; 12 | v[1] = 2; 13 | for(int i = 0; i < 1000000; i++) 14 | { 15 | v.coeffRef(0) += v.sum() * SCALAR(1e-20); 16 | } 17 | cout << v.sum() << endl; 18 | } 19 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/PartialPivLU_solve.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd A = MatrixXd::Random(3,3); 2 | MatrixXd B = MatrixXd::Random(3,2); 3 | cout << "Here is the invertible matrix A:" << endl << A << endl; 4 | cout << "Here is the matrix B:" << endl << B << endl; 5 | MatrixXd X = A.lu().solve(B); 6 | cout << "Here is the (unique) solution X to the equation AX=B:" << endl << X << endl; 7 | cout << "Relative error: " << (A*X-B).norm() / B.norm() << endl; 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/map_nonconst_ctor_on_const_ptr_3.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER const 5 | #else 6 | #define CV_QUALIFIER 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(CV_QUALIFIER float *ptr, DenseIndex rows, DenseIndex cols){ 12 | Map > m(ptr, rows, cols, InnerStride<2>()); 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/MoreVectorization: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_MOREVECTORIZATION_MODULE_H 2 | #define EIGEN_MOREVECTORIZATION_MODULE_H 3 | 4 | #include 5 | 6 | namespace Eigen { 7 | 8 | /** \ingroup Unsupported_modules 9 | * \defgroup MoreVectorization More vectorization module 10 | */ 11 | 12 | } 13 | 14 | #include "src/MoreVectorization/MathFunctions.h" 15 | 16 | #endif // EIGEN_MOREVECTORIZATION_MODULE_H 17 | -------------------------------------------------------------------------------- /gtsam/3rdparty/CCOLAMD/MATLAB/ccolamdtestmex.m: -------------------------------------------------------------------------------- 1 | function [P, stats] = ccolamdtestmex (A, knobs) %#ok 2 | % CCOLAMDTESTMEX test function for ccolamd 3 | % Example: 4 | % [ P, stats ] = ccolamdtest (A, knobs) ; 5 | % See also ccolamd 6 | 7 | % Copyright 1998-2007, Timothy A. Davis, Stefan Larimore, and Siva Rajamanickam 8 | % Developed in collaboration with J. Gilbert and E. Ng. 9 | 10 | error ('ccolamdtestmex mexFunction not found') ; 11 | -------------------------------------------------------------------------------- /gtsam/3rdparty/CCOLAMD/MATLAB/csymamdtestmex.m: -------------------------------------------------------------------------------- 1 | function [P, stats] = csymamdtestmex (A, knobs) %#ok 2 | % CSYMAMDTESTMEX test function for csymamd 3 | % Example: 4 | % [ P, stats ] = csymamdtest (A, knobs) ; 5 | % See also csymamd 6 | 7 | % Copyright 1998-2007, Timothy A. Davis, Stefan Larimore, and Siva Rajamanickam 8 | % Developed in collaboration with J. Gilbert and E. Ng. 9 | 10 | error ('csymamdtestmex mexFunction not found') ; 11 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/src/Core/util/ReenableStupidWarnings.h: -------------------------------------------------------------------------------- 1 | #ifdef EIGEN_WARNINGS_DISABLED 2 | #undef EIGEN_WARNINGS_DISABLED 3 | 4 | #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS 5 | #ifdef _MSC_VER 6 | #pragma warning( pop ) 7 | #elif defined __INTEL_COMPILER 8 | #pragma warning pop 9 | #elif defined __clang__ 10 | #pragma clang diagnostic pop 11 | #endif 12 | #endif 13 | 14 | #endif // EIGEN_WARNINGS_DISABLED 15 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/HouseholderQR_solve.cpp: -------------------------------------------------------------------------------- 1 | typedef Matrix Matrix3x3; 2 | Matrix3x3 m = Matrix3x3::Random(); 3 | Matrix3f y = Matrix3f::Random(); 4 | cout << "Here is the matrix m:" << endl << m << endl; 5 | cout << "Here is the matrix y:" << endl << y << endl; 6 | Matrix3f x; 7 | x = m.householderQr().solve(y); 8 | assert(y.isApprox(m*x)); 9 | cout << "Here is a solution x to the equation mx=y:" << endl << x << endl; 10 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/failtest/map_nonconst_ctor_on_const_ptr_4.cpp: -------------------------------------------------------------------------------- 1 | #include "../Eigen/Core" 2 | 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD 4 | #define CV_QUALIFIER 5 | #else 6 | #define CV_QUALIFIER const 7 | #endif 8 | 9 | using namespace Eigen; 10 | 11 | void foo(const float *ptr, DenseIndex rows, DenseIndex cols){ 12 | Map > m(ptr, rows, cols, OuterStride<>(2)); 13 | } 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/test/runtest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | black='\E[30m' 4 | red='\E[31m' 5 | green='\E[32m' 6 | yellow='\E[33m' 7 | blue='\E[34m' 8 | magenta='\E[35m' 9 | cyan='\E[36m' 10 | white='\E[37m' 11 | 12 | if ! ./$1 > /dev/null 2> .runtest.log ; then 13 | echo -e $red Test $1 failed: $black 14 | echo -e $blue 15 | cat .runtest.log 16 | echo -e $black 17 | exit 1 18 | else 19 | echo -e $green Test $1 passed$black 20 | fi 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/FullPivLU_image.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m; 2 | m << 1,1,0, 3 | 1,3,2, 4 | 0,1,1; 5 | cout << "Here is the matrix m:" << endl << m << endl; 6 | cout << "Notice that the middle column is the sum of the two others, so the " 7 | << "columns are linearly dependent." << endl; 8 | cout << "Here is a matrix whose columns have the same span but are linearly independent:" 9 | << endl << m.fullPivLu().image(m) << endl; 10 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/SelfAdjointEigenSolver_operatorSqrt.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd X = MatrixXd::Random(4,4); 2 | MatrixXd A = X * X.transpose(); 3 | cout << "Here is a random positive-definite matrix, A:" << endl << A << endl << endl; 4 | 5 | SelfAdjointEigenSolver es(A); 6 | MatrixXd sqrtA = es.operatorSqrt(); 7 | cout << "The square root of A is: " << endl << sqrtA << endl; 8 | cout << "If we square this, we get: " << endl << sqrtA*sqrtA << endl; 9 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/SelfAdjointEigenSolver_SelfAdjointEigenSolver.cpp: -------------------------------------------------------------------------------- 1 | SelfAdjointEigenSolver es; 2 | Matrix4f X = Matrix4f::Random(4,4); 3 | Matrix4f A = X + X.transpose(); 4 | es.compute(A); 5 | cout << "The eigenvalues of A are: " << es.eigenvalues().transpose() << endl; 6 | es.compute(A + Matrix4f::Identity(4,4)); // re-use es to compute eigenvalues of A+I 7 | cout << "The eigenvalues of A+I are: " << es.eigenvalues().transpose() << endl; 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/SelfAdjointEigenSolver_compute_MatrixType.cpp: -------------------------------------------------------------------------------- 1 | SelfAdjointEigenSolver es(4); 2 | MatrixXf X = MatrixXf::Random(4,4); 3 | MatrixXf A = X + X.transpose(); 4 | es.compute(A); 5 | cout << "The eigenvalues of A are: " << es.eigenvalues().transpose() << endl; 6 | es.compute(A + MatrixXf::Identity(4,4)); // re-use es to compute eigenvalues of A+I 7 | cout << "The eigenvalues of A+I are: " << es.eigenvalues().transpose() << endl; 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_AdvancedInitialization_Zero.cpp: -------------------------------------------------------------------------------- 1 | std::cout << "A fixed-size array:\n"; 2 | Array33f a1 = Array33f::Zero(); 3 | std::cout << a1 << "\n\n"; 4 | 5 | 6 | std::cout << "A one-dimensional dynamic-size array:\n"; 7 | ArrayXf a2 = ArrayXf::Zero(3); 8 | std::cout << a2 << "\n\n"; 9 | 10 | 11 | std::cout << "A two-dimensional dynamic-size array:\n"; 12 | ArrayXXf a3 = ArrayXXf::Zero(3, 4); 13 | std::cout << a3 << "\n"; 14 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_BlockOperations_vector.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | 6 | int main() 7 | { 8 | Eigen::ArrayXf v(6); 9 | v << 1, 2, 3, 4, 5, 6; 10 | cout << "v.head(3) =" << endl << v.head(3) << endl << endl; 11 | cout << "v.tail<3>() = " << endl << v.tail<3>() << endl << endl; 12 | v.segment(1,4) *= 2; 13 | cout << "after 'v.segment(1,4) *= 2', v =" << endl << v << endl; 14 | } 15 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/TutorialLinAlgInverseDeterminant.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | 7 | int main() 8 | { 9 | Matrix3f A; 10 | A << 1, 2, 1, 11 | 2, 1, 0, 12 | -1, 1, 2; 13 | cout << "Here is the matrix A:\n" << A << endl; 14 | cout << "The determinant of A is " << A.determinant() << endl; 15 | cout << "The inverse of A is:\n" << A.inverse() << endl; 16 | } -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/HessenbergDecomposition_matrixH.cpp: -------------------------------------------------------------------------------- 1 | Matrix4f A = MatrixXf::Random(4,4); 2 | cout << "Here is a random 4x4 matrix:" << endl << A << endl; 3 | HessenbergDecomposition hessOfA(A); 4 | MatrixXf H = hessOfA.matrixH(); 5 | cout << "The Hessenberg matrix H is:" << endl << H << endl; 6 | MatrixXf Q = hessOfA.matrixQ(); 7 | cout << "The orthogonal matrix Q is:" << endl << Q << endl; 8 | cout << "Q H Q^T is:" << endl << Q * H * Q.transpose() << endl; 9 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_reverse.cpp: -------------------------------------------------------------------------------- 1 | MatrixXi m = MatrixXi::Random(3,4); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is the reverse of m:" << endl << m.reverse() << endl; 4 | cout << "Here is the coefficient (1,0) in the reverse of m:" << endl 5 | << m.reverse()(1,0) << endl; 6 | cout << "Let us overwrite this coefficient with the value 4." << endl; 7 | m.reverse()(1,0) = 4; 8 | cout << "Now the matrix m is:" << endl << m << endl; 9 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tridiagonalization_packedMatrix.cpp: -------------------------------------------------------------------------------- 1 | Matrix4d X = Matrix4d::Random(4,4); 2 | Matrix4d A = X + X.transpose(); 3 | cout << "Here is a random symmetric 4x4 matrix:" << endl << A << endl; 4 | Tridiagonalization triOfA(A); 5 | Matrix4d pm = triOfA.packedMatrix(); 6 | cout << "The packed matrix M is:" << endl << pm << endl; 7 | cout << "The diagonal and subdiagonal corresponds to the matrix T, which is:" 8 | << endl << triOfA.matrixT() << endl; 9 | -------------------------------------------------------------------------------- /gtsam/discrete/tests/data/UAI/uai08_test3.uai.output: -------------------------------------------------------------------------------- 1 | z -0.44786617 2 | m 9 4 0.116109975 0.20537 0.29463002 0.38389003 4 0.10865768 0.2028859 0.2971141 0.3913423 4 0.11159538 0.20386513 0.29613486 0.3884046 4 0.105094366 0.20169812 0.29830188 0.39490563 4 0.116109975 0.20537 0.29463002 0.38389003 4 0.11159538 0.20386513 0.29613486 0.3884046 4 0.10865768 0.2028859 0.2971141 0.3913423 4 0.1 0.2 0.3 0.4 4 0.10956474 0.20318824 0.29681176 0.39043528 3 | s -0.9470299 9 3 3 3 3 3 3 3 3 3 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/cmake/FindGMM.cmake: -------------------------------------------------------------------------------- 1 | if (GMM_INCLUDE_DIR) 2 | # in cache already 3 | set(GMM_FOUND TRUE) 4 | else (GMM_INCLUDE_DIR) 5 | 6 | find_path(GMM_INCLUDE_DIR NAMES gmm/gmm.h 7 | PATHS 8 | ${INCLUDE_INSTALL_DIR} 9 | ${GMM_INCLUDE_PATH} 10 | ) 11 | 12 | include(FindPackageHandleStandardArgs) 13 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(GMM DEFAULT_MSG GMM_INCLUDE_DIR ) 14 | 15 | mark_as_advanced(GMM_INCLUDE_DIR) 16 | 17 | endif(GMM_INCLUDE_DIR) 18 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/TutorialLinAlgExSolveLDLT.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | 7 | int main() 8 | { 9 | Matrix2f A, b; 10 | A << 2, -1, -1, 3; 11 | b << 1, 2, 3, 1; 12 | cout << "Here is the matrix A:\n" << A << endl; 13 | cout << "Here is the right hand side b:\n" << b << endl; 14 | Matrix2f x = A.ldlt().solve(b); 15 | cout << "The solution is:\n" << x << endl; 16 | } 17 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tridiagonalization_compute.cpp: -------------------------------------------------------------------------------- 1 | Tridiagonalization tri; 2 | MatrixXf X = MatrixXf::Random(4,4); 3 | MatrixXf A = X + X.transpose(); 4 | tri.compute(A); 5 | cout << "The matrix T in the tridiagonal decomposition of A is: " << endl; 6 | cout << tri.matrixT() << endl; 7 | tri.compute(2*A); // re-use tri to compute eigenvalues of 2A 8 | cout << "The matrix T in the tridiagonal decomposition of 2A is: " << endl; 9 | cout << tri.matrixT() << endl; 10 | -------------------------------------------------------------------------------- /package_scripts/compile_static_boost.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Compile boost statically, with -fPIC to allow linking it into the mex 4 | # module (which is a dynamic library). --disable-icu prevents depending 5 | # on libicu, which is unneeded and would require then linking the mex 6 | # module with it as well. We just stage instead of install, then the 7 | # toolbox_package_unix.sh script uses the staged boost. 8 | ./b2 link=static threading=multi cxxflags=-fPIC cflags=-fPIC --disable-icu -a stage -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/blas/xerbla.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #if (defined __GNUC__) 5 | #define EIGEN_WEAK_LINKING __attribute__ ((weak)) 6 | #else 7 | #define EIGEN_WEAK_LINKING 8 | #endif 9 | 10 | #ifdef __cplusplus 11 | extern "C" 12 | { 13 | #endif 14 | 15 | EIGEN_WEAK_LINKING int xerbla_(const char * msg, int *info, int) 16 | { 17 | std::cerr << "Eigen BLAS ERROR #" << *info << ": " << msg << "\n"; 18 | return 0; 19 | } 20 | 21 | #ifdef __cplusplus 22 | } 23 | #endif 24 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/tut_arithmetic_scalar_mul_div.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | 6 | int main() 7 | { 8 | Matrix2d a; 9 | a << 1, 2, 10 | 3, 4; 11 | Vector3d v(1,2,3); 12 | std::cout << "a * 2.5 =\n" << a * 2.5 << std::endl; 13 | std::cout << "0.1 * v =\n" << 0.1 * v << std::endl; 14 | std::cout << "Doing v *= 2;" << std::endl; 15 | v *= 2; 16 | std::cout << "Now v =\n" << v << std::endl; 17 | } 18 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/tut_matrix_coefficient_accessors.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | 6 | int main() 7 | { 8 | MatrixXd m(2,2); 9 | m(0,0) = 3; 10 | m(1,0) = 2.5; 11 | m(0,1) = -1; 12 | m(1,1) = m(1,0) + m(0,1); 13 | std::cout << "Here is the matrix m:\n" << m << std::endl; 14 | VectorXd v(2); 15 | v(0) = 4; 16 | v(1) = v(0) - 1; 17 | std::cout << "Here is the vector v:\n" << v << std::endl; 18 | } 19 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_transpose.cpp: -------------------------------------------------------------------------------- 1 | Matrix2i m = Matrix2i::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is the transpose of m:" << endl << m.transpose() << endl; 4 | cout << "Here is the coefficient (1,0) in the transpose of m:" << endl 5 | << m.transpose()(1,0) << endl; 6 | cout << "Let us overwrite this coefficient with the value 0." << endl; 7 | m.transpose()(1,0) = 0; 8 | cout << "Now the matrix m is:" << endl << m << endl; 9 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tutorial_solve_reuse_decomposition.cpp: -------------------------------------------------------------------------------- 1 | Matrix3f A(3,3); 2 | A << 1,2,3, 4,5,6, 7,8,10; 3 | PartialPivLU luOfA(A); // compute LU decomposition of A 4 | Vector3f b; 5 | b << 3,3,4; 6 | Vector3f x; 7 | x = luOfA.solve(b); 8 | cout << "The solution with right-hand side (3,3,4) is:" << endl; 9 | cout << x << endl; 10 | b << 1,1,1; 11 | x = luOfA.solve(b); 12 | cout << "The solution with right-hand side (1,1,1) is:" << endl; 13 | cout << x << endl; 14 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/doc/examples/MatrixExponential.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | 6 | int main() 7 | { 8 | const double pi = std::acos(-1.0); 9 | 10 | MatrixXd A(3,3); 11 | A << 0, -pi/4, 0, 12 | pi/4, 0, 0, 13 | 0, 0, 0; 14 | std::cout << "The matrix A is:\n" << A << "\n\n"; 15 | std::cout << "The matrix exponential of A is:\n" << A.exp() << "\n\n"; 16 | } 17 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/demos/opengl/README: -------------------------------------------------------------------------------- 1 | 2 | Navigation: 3 | left button: rotate around the target 4 | middle button: zoom 5 | left button + ctrl quake rotate (rotate around camera position) 6 | middle button + ctrl walk (progress along camera's z direction) 7 | left button: pan (translate in the XY camera's plane) 8 | 9 | R : move the camera to initial position 10 | A : start/stop animation 11 | C : clear the animation 12 | G : add a key frame 13 | 14 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/TutorialLinAlgExComputeSolveError.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | 7 | int main() 8 | { 9 | MatrixXd A = MatrixXd::Random(100,100); 10 | MatrixXd b = MatrixXd::Random(100,50); 11 | MatrixXd x = A.fullPivLu().solve(b); 12 | double relative_error = (A*x - b).norm() / b.norm(); // norm() is L2 norm 13 | cout << "The relative error is:\n" << relative_error << endl; 14 | } 15 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Matrix_resize_int_int.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd m(2,3); 2 | m << 1,2,3,4,5,6; 3 | cout << "here's the 2x3 matrix m:" << endl << m << endl; 4 | cout << "let's resize m to 3x2. This is a conservative resizing because 2*3==3*2." << endl; 5 | m.resize(3,2); 6 | cout << "here's the 3x2 matrix m:" << endl << m << endl; 7 | cout << "now let's resize m to size 2x2. This is NOT a conservative resizing, so it becomes uninitialized:" << endl; 8 | m.resize(2,2); 9 | cout << m << endl; 10 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ADD_SUBDIRECTORY(AutoDiff) 2 | ADD_SUBDIRECTORY(BVH) 3 | ADD_SUBDIRECTORY(FFT) 4 | ADD_SUBDIRECTORY(IterativeSolvers) 5 | ADD_SUBDIRECTORY(MatrixFunctions) 6 | ADD_SUBDIRECTORY(MoreVectorization) 7 | ADD_SUBDIRECTORY(NonLinearOptimization) 8 | ADD_SUBDIRECTORY(NumericalDiff) 9 | ADD_SUBDIRECTORY(Polynomials) 10 | ADD_SUBDIRECTORY(Skyline) 11 | ADD_SUBDIRECTORY(SparseExtra) 12 | ADD_SUBDIRECTORY(KroneckerProduct) 13 | ADD_SUBDIRECTORY(Splines) 14 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/doc/examples/MatrixLogarithm.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | 6 | int main() 7 | { 8 | using std::sqrt; 9 | MatrixXd A(3,3); 10 | A << 0.5*sqrt(2), -0.5*sqrt(2), 0, 11 | 0.5*sqrt(2), 0.5*sqrt(2), 0, 12 | 0, 0, 1; 13 | std::cout << "The matrix A is:\n" << A << "\n\n"; 14 | std::cout << "The matrix logarithm of A is:\n" << A.log() << "\n"; 15 | } 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/TutorialLinAlgSetThreshold.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | 7 | int main() 8 | { 9 | Matrix2d A; 10 | A << 2, 1, 11 | 2, 0.9999999999; 12 | FullPivLU lu(A); 13 | cout << "By default, the rank of A is found to be " << lu.rank() << endl; 14 | lu.setThreshold(1e-5); 15 | cout << "With threshold 1e-5, the rank of A is found to be " << lu.rank() << endl; 16 | } 17 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/FullPivLU_solve.cpp: -------------------------------------------------------------------------------- 1 | Matrix m = Matrix::Random(); 2 | Matrix2f y = Matrix2f::Random(); 3 | cout << "Here is the matrix m:" << endl << m << endl; 4 | cout << "Here is the matrix y:" << endl << y << endl; 5 | Matrix x = m.fullPivLu().solve(y); 6 | if((m*x).isApprox(y)) 7 | { 8 | cout << "Here is a solution x to the equation mx=y:" << endl << x << endl; 9 | } 10 | else 11 | cout << "The equation mx=y does not have any solution." << endl; 12 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/SelfAdjointEigenSolver_compute_MatrixType2.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd X = MatrixXd::Random(5,5); 2 | MatrixXd A = X * X.transpose(); 3 | X = MatrixXd::Random(5,5); 4 | MatrixXd B = X * X.transpose(); 5 | 6 | GeneralizedSelfAdjointEigenSolver es(A,B,EigenvaluesOnly); 7 | cout << "The eigenvalues of the pencil (A,B) are:" << endl << es.eigenvalues() << endl; 8 | es.compute(B,A,false); 9 | cout << "The eigenvalues of the pencil (B,A) are:" << endl << es.eigenvalues() << endl; 10 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/tut_arithmetic_dot_cross.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | int main() 7 | { 8 | Vector3d v(1,2,3); 9 | Vector3d w(0,1,2); 10 | 11 | cout << "Dot product: " << v.dot(w) << endl; 12 | double dp = v.adjoint()*w; // automatic conversion of the inner product to a scalar 13 | cout << "Dot product via a matrix product: " << dp << endl; 14 | cout << "Cross product:\n" << v.cross(w) << endl; 15 | } 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/cmake/FindGOTO.cmake: -------------------------------------------------------------------------------- 1 | 2 | if (GOTO_LIBRARIES) 3 | set(GOTO_FIND_QUIETLY TRUE) 4 | endif (GOTO_LIBRARIES) 5 | 6 | find_library(GOTO_LIBRARIES goto PATHS $ENV{GOTODIR} ${LIB_INSTALL_DIR}) 7 | 8 | if(GOTO_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX) 9 | set(GOTO_LIBRARIES ${GOTO_LIBRARIES} "-lpthread -lgfortran") 10 | endif() 11 | 12 | include(FindPackageHandleStandardArgs) 13 | find_package_handle_standard_args(GOTO DEFAULT_MSG GOTO_LIBRARIES) 14 | 15 | mark_as_advanced(GOTO_LIBRARIES) 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/class_CwiseUnaryOp_ptrfun.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace Eigen; 4 | using namespace std; 5 | 6 | // define function to be applied coefficient-wise 7 | double ramp(double x) 8 | { 9 | if (x > 0) 10 | return x; 11 | else 12 | return 0; 13 | } 14 | 15 | int main(int, char**) 16 | { 17 | Matrix4d m1 = Matrix4d::Random(); 18 | cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(ptr_fun(ramp)) << endl; 19 | return 0; 20 | } 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/LLT_solve.cpp: -------------------------------------------------------------------------------- 1 | typedef Matrix DataMatrix; 2 | // let's generate some samples on the 3D plane of equation z = 2x+3y (with some noise) 3 | DataMatrix samples = DataMatrix::Random(12,2); 4 | VectorXf elevations = 2*samples.col(0) + 3*samples.col(1) + VectorXf::Random(12)*0.1; 5 | // and let's solve samples * [x y]^T = elevations in least square sense: 6 | Matrix xy 7 | = (samples.adjoint() * samples).llt().solve((samples.adjoint()*elevations)); 8 | cout << xy << endl; 9 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/Eigen/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(Eigen_HEADERS AdolcForward BVH IterativeSolvers MatrixFunctions MoreVectorization AutoDiff AlignedVector3 Polynomials 2 | FFT NonLinearOptimization SparseExtra IterativeSolvers 3 | NumericalDiff Skyline MPRealSupport OpenGLSupport KroneckerProduct Splines 4 | ) 5 | 6 | install(FILES 7 | ${Eigen_HEADERS} 8 | DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen COMPONENT Devel 9 | ) 10 | 11 | add_subdirectory(src) 12 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/TutorialLinAlgExSolveColPivHouseholderQR.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | 7 | int main() 8 | { 9 | Matrix3f A; 10 | Vector3f b; 11 | A << 1,2,3, 4,5,6, 7,8,10; 12 | b << 3, 3, 4; 13 | cout << "Here is the matrix A:\n" << A << endl; 14 | cout << "Here is the vector b:\n" << b << endl; 15 | Vector3f x = A.colPivHouseholderQr().solve(b); 16 | cout << "The solution is:\n" << x << endl; 17 | } 18 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/TutorialLinAlgSVDSolve.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | 7 | int main() 8 | { 9 | MatrixXf A = MatrixXf::Random(3, 2); 10 | cout << "Here is the matrix A:\n" << A << endl; 11 | VectorXf b = VectorXf::Random(3); 12 | cout << "Here is the right hand side b:\n" << b << endl; 13 | cout << "The least-squares solution is:\n" 14 | << A.jacobiSvd(ComputeThinU | ComputeThinV).solve(b) << endl; 15 | } 16 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_BlockOperations_colrow.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | 6 | int main() 7 | { 8 | Eigen::MatrixXf m(3,3); 9 | m << 1,2,3, 10 | 4,5,6, 11 | 7,8,9; 12 | cout << "Here is the matrix m:" << endl << m << endl; 13 | cout << "2nd Row: " << m.row(1) << endl; 14 | m.col(2) += 3 * m.col(0); 15 | cout << "After adding 3 times the first column into the third column, the matrix m is:\n"; 16 | cout << m << endl; 17 | } 18 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/EigenSolver_pseudoEigenvectors.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd A = MatrixXd::Random(6,6); 2 | cout << "Here is a random 6x6 matrix, A:" << endl << A << endl << endl; 3 | 4 | EigenSolver es(A); 5 | MatrixXd D = es.pseudoEigenvalueMatrix(); 6 | MatrixXd V = es.pseudoEigenvectors(); 7 | cout << "The pseudo-eigenvalue matrix D is:" << endl << D << endl; 8 | cout << "The pseudo-eigenvector matrix V is:" << endl << V << endl; 9 | cout << "Finally, V * D * V^(-1) = " << endl << V * D * V.inverse() << endl; 10 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_part.cpp: -------------------------------------------------------------------------------- 1 | #ifndef _MSC_VER 2 | #warning deprecated 3 | #endif 4 | /* 5 | Matrix3d m = Matrix3d::Zero(); 6 | m.part().setOnes(); 7 | cout << "Here is the matrix m:" << endl << m << endl; 8 | cout << "And let us now compute m*m.adjoint() in a very optimized way" << endl 9 | << "taking advantage of the symmetry." << endl; 10 | Matrix3d n; 11 | n.part() = (m*m.adjoint()).lazy(); 12 | cout << "The result is:" << endl << n << endl; 13 | */ -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/RealSchur_RealSchur_MatrixType.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd A = MatrixXd::Random(6,6); 2 | cout << "Here is a random 6x6 matrix, A:" << endl << A << endl << endl; 3 | 4 | RealSchur schur(A); 5 | cout << "The orthogonal matrix U is:" << endl << schur.matrixU() << endl; 6 | cout << "The quasi-triangular matrix T is:" << endl << schur.matrixT() << endl << endl; 7 | 8 | MatrixXd U = schur.matrixU(); 9 | MatrixXd T = schur.matrixT(); 10 | cout << "U * T * U^T = " << endl << U * T * U.transpose() << endl; 11 | -------------------------------------------------------------------------------- /matlab/+gtsam/plotPose2.m: -------------------------------------------------------------------------------- 1 | function plotPose2(pose,color,P,axisLength) 2 | % plotPose2 shows a Pose2, possibly with covariance matrix 3 | if nargin<4,axisLength=0.1;end 4 | 5 | plot(pose.x,pose.y,[color '*']); 6 | c = cos(pose.theta); 7 | s = sin(pose.theta); 8 | quiver(pose.x,pose.y,c,s,axisLength,color); 9 | if nargin>2 10 | pPp = P(1:2,1:2); % covariance matrix in pose coordinate frame 11 | gRp = [c -s;s c]; % rotation from pose to global 12 | gtsam.covarianceEllipse([pose.x;pose.y],gRp*pPp*gRp',color); 13 | end -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/SelfAdjointEigenSolver_operatorInverseSqrt.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd X = MatrixXd::Random(4,4); 2 | MatrixXd A = X * X.transpose(); 3 | cout << "Here is a random positive-definite matrix, A:" << endl << A << endl << endl; 4 | 5 | SelfAdjointEigenSolver es(A); 6 | cout << "The inverse square root of A is: " << endl; 7 | cout << es.operatorInverseSqrt() << endl; 8 | cout << "We can also compute it with operatorSqrt() and inverse(). That yields: " << endl; 9 | cout << es.operatorSqrt().inverse() << endl; 10 | -------------------------------------------------------------------------------- /matlab/+gtsam/plotCamera.m: -------------------------------------------------------------------------------- 1 | function plotCamera(pose, axisLength) 2 | C = pose.translation().vector(); 3 | R = pose.rotation().matrix(); 4 | 5 | xAxis = C+R(:,1)*axisLength; 6 | L = [C xAxis]'; 7 | line(L(:,1),L(:,2),L(:,3),'Color','r'); 8 | 9 | yAxis = C+R(:,2)*axisLength; 10 | L = [C yAxis]'; 11 | line(L(:,1),L(:,2),L(:,3),'Color','g'); 12 | 13 | zAxis = C+R(:,3)*axisLength; 14 | L = [C zAxis]'; 15 | line(L(:,1),L(:,2),L(:,3),'Color','b'); 16 | 17 | axis equal 18 | end -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_PartialLU_solve.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | using namespace std; 6 | using namespace Eigen; 7 | 8 | int main() 9 | { 10 | Matrix3f A; 11 | Vector3f b; 12 | A << 1,2,3, 4,5,6, 7,8,10; 13 | b << 3, 3, 4; 14 | cout << "Here is the matrix A:" << endl << A << endl; 15 | cout << "Here is the vector b:" << endl << b << endl; 16 | Vector3f x = A.lu().solve(b); 17 | cout << "The solution is:" << endl << x << endl; 18 | } 19 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | int main() 6 | { 7 | Eigen::MatrixXf mat(2,4); 8 | Eigen::VectorXf v(2); 9 | 10 | mat << 1, 2, 6, 9, 11 | 3, 1, 7, 2; 12 | 13 | v << 0, 14 | 1; 15 | 16 | //add v to each column of m 17 | mat.colwise() += v; 18 | 19 | std::cout << "Broadcasting result: " << std::endl; 20 | std::cout << mat << std::endl; 21 | } 22 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_computeInverseAndDetWithCheck.cpp: -------------------------------------------------------------------------------- 1 | Matrix3d m = Matrix3d::Random(); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | Matrix3d inverse; 4 | bool invertible; 5 | double determinant; 6 | m.computeInverseAndDetWithCheck(inverse,determinant,invertible); 7 | cout << "Its determinant is " << determinant << endl; 8 | if(invertible) { 9 | cout << "It is invertible, and its inverse is:" << endl << inverse << endl; 10 | } 11 | else { 12 | cout << "It is not invertible." << endl; 13 | } 14 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/libs/blitz/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | find_package(Blitz) 3 | 4 | if (BLITZ_FOUND) 5 | include_directories(${BLITZ_INCLUDES}) 6 | 7 | btl_add_bench(btl_blitz btl_blitz.cpp) 8 | if (BUILD_btl_blitz) 9 | target_link_libraries(btl_blitz ${BLITZ_LIBRARIES}) 10 | endif (BUILD_btl_blitz) 11 | 12 | btl_add_bench(btl_tiny_blitz btl_tiny_blitz.cpp OFF) 13 | if (BUILD_btl_tiny_blitz) 14 | target_link_libraries(btl_tiny_blitz ${BLITZ_LIBRARIES}) 15 | endif (BUILD_btl_tiny_blitz) 16 | 17 | endif (BLITZ_FOUND) 18 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple_rowwise.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | int main() 6 | { 7 | Eigen::MatrixXf mat(2,4); 8 | Eigen::VectorXf v(4); 9 | 10 | mat << 1, 2, 6, 9, 11 | 3, 1, 7, 2; 12 | 13 | v << 0,1,2,3; 14 | 15 | //add v to each row of m 16 | mat.rowwise() += v.transpose(); 17 | 18 | std::cout << "Broadcasting result: " << std::endl; 19 | std::cout << mat << std::endl; 20 | } 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/function_taking_eigenbase.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace Eigen; 4 | 5 | template 6 | void print_size(const EigenBase& b) 7 | { 8 | std::cout << "size (rows, cols): " << b.size() << " (" << b.rows() 9 | << ", " << b.cols() << ")" << std::endl; 10 | } 11 | 12 | int main() 13 | { 14 | Vector3f v; 15 | print_size(v); 16 | // v.asDiagonal() returns a 3x3 diagonal matrix pseudo-expression 17 | print_size(v.asDiagonal()); 18 | } 19 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ArrayClass_cwise_other.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main() 8 | { 9 | ArrayXf a = ArrayXf::Random(5); 10 | a *= 2; 11 | cout << "a =" << endl 12 | << a << endl; 13 | cout << "a.abs() =" << endl 14 | << a.abs() << endl; 15 | cout << "a.abs().sqrt() =" << endl 16 | << a.abs().sqrt() << endl; 17 | cout << "a.min(a.abs().sqrt()) =" << endl 18 | << a.min(a.abs().sqrt()) << endl; 19 | } 20 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tridiagonalization_Tridiagonalization_MatrixType.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd X = MatrixXd::Random(5,5); 2 | MatrixXd A = X + X.transpose(); 3 | cout << "Here is a random symmetric 5x5 matrix:" << endl << A << endl << endl; 4 | Tridiagonalization triOfA(A); 5 | MatrixXd Q = triOfA.matrixQ(); 6 | cout << "The orthogonal matrix Q is:" << endl << Q << endl; 7 | MatrixXd T = triOfA.matrixT(); 8 | cout << "The tridiagonal matrix T is:" << endl << T << endl << endl; 9 | cout << "Q * T * Q^T = " << endl << Q * T * Q.transpose() << endl; 10 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ArrayClass_addition.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main() 8 | { 9 | ArrayXXf a(3,3); 10 | ArrayXXf b(3,3); 11 | a << 1,2,3, 12 | 4,5,6, 13 | 7,8,9; 14 | b << 1,2,3, 15 | 1,2,3, 16 | 1,2,3; 17 | 18 | // Adding two arrays 19 | cout << "a + b = " << endl << a + b << endl << endl; 20 | 21 | // Subtracting a scalar from an array 22 | cout << "a - 2 = " << endl << a - 2 << endl; 23 | } 24 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_eval.cpp: -------------------------------------------------------------------------------- 1 | Matrix2f M = Matrix2f::Random(); 2 | Matrix2f m; 3 | m = M; 4 | cout << "Here is the matrix m:" << endl << m << endl; 5 | cout << "Now we want to copy a column into a row." << endl; 6 | cout << "If we do m.col(1) = m.row(0), then m becomes:" << endl; 7 | m.col(1) = m.row(0); 8 | cout << m << endl << "which is wrong!" << endl; 9 | cout << "Now let us instead do m.col(1) = m.row(0).eval(). Then m becomes" << endl; 10 | m = M; 11 | m.col(1) = m.row(0).eval(); 12 | cout << m << endl << "which is right." << endl; 13 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/doc/examples/MatrixSquareRoot.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | 6 | int main() 7 | { 8 | const double pi = std::acos(-1.0); 9 | 10 | MatrixXd A(2,2); 11 | A << cos(pi/3), -sin(pi/3), 12 | sin(pi/3), cos(pi/3); 13 | std::cout << "The matrix A is:\n" << A << "\n\n"; 14 | std::cout << "The matrix square root of A is:\n" << A.sqrt() << "\n\n"; 15 | std::cout << "The square of the last matrix is:\n" << A.sqrt() * A.sqrt() << "\n"; 16 | } 17 | -------------------------------------------------------------------------------- /matlab/+gtsam/EQUALITY.m: -------------------------------------------------------------------------------- 1 | function EQUALITY(name,expected,actual,tol) 2 | % test equality of two vectors/matrices up to tolerance 3 | 4 | if nargin<4,tol=1e-9;end 5 | 6 | sameSize = size(expected)==size(actual); 7 | if all(sameSize) 8 | equal = abs(expected-actual) 2 | #include 3 | 4 | using namespace std; 5 | 6 | int main() 7 | { 8 | Eigen::MatrixXf m(4,4); 9 | m << 1, 2, 3, 4, 10 | 5, 6, 7, 8, 11 | 9,10,11,12, 12 | 13,14,15,16; 13 | cout << "Block in the middle" << endl; 14 | cout << m.block<2,2>(1,1) << endl << endl; 15 | for (int i = 1; i <= 3; ++i) 16 | { 17 | cout << "Block of size " << i << "x" << i << endl; 18 | cout << m.block(0,0,i,i) << endl << endl; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/Sparse: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SPARSE_MODULE_H 2 | #define EIGEN_SPARSE_MODULE_H 3 | 4 | /** \defgroup Sparse_modules Sparse modules 5 | * 6 | * Meta-module including all related modules: 7 | * - SparseCore 8 | * - OrderingMethods 9 | * - SparseCholesky 10 | * - IterativeLinearSolvers 11 | * 12 | * \code 13 | * #include 14 | * \endcode 15 | */ 16 | 17 | #include "SparseCore" 18 | #include "OrderingMethods" 19 | #include "SparseCholesky" 20 | #include "IterativeLinearSolvers" 21 | 22 | #endif // EIGEN_SPARSE_MODULE_H 23 | 24 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/tut_arithmetic_redux_minmax.cpp: -------------------------------------------------------------------------------- 1 | Matrix3f m = Matrix3f::Random(); 2 | std::ptrdiff_t i, j; 3 | float minOfM = m.minCoeff(&i,&j); 4 | cout << "Here is the matrix m:\n" << m << endl; 5 | cout << "Its minimum coefficient (" << minOfM 6 | << ") is at position (" << i << "," << j << ")\n\n"; 7 | 8 | RowVector4i v = RowVector4i::Random(); 9 | int maxOfV = v.maxCoeff(&i); 10 | cout << "Here is the vector v: " << v << endl; 11 | cout << "Its maximum coefficient (" << maxOfV 12 | << ") is at position " << i << endl; 13 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_BlockOperations_corner.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | 6 | int main() 7 | { 8 | Eigen::Matrix4f m; 9 | m << 1, 2, 3, 4, 10 | 5, 6, 7, 8, 11 | 9, 10,11,12, 12 | 13,14,15,16; 13 | cout << "m.leftCols(2) =" << endl << m.leftCols(2) << endl << endl; 14 | cout << "m.bottomRows<2>() =" << endl << m.bottomRows<2>() << endl << endl; 15 | m.topLeftCorner(1,3) = m.bottomRightCorner(3,1).transpose(); 16 | cout << "After assignment, m = " << endl << m << endl; 17 | } 18 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/HessenbergDecomposition_packedMatrix.cpp: -------------------------------------------------------------------------------- 1 | Matrix4d A = Matrix4d::Random(4,4); 2 | cout << "Here is a random 4x4 matrix:" << endl << A << endl; 3 | HessenbergDecomposition hessOfA(A); 4 | Matrix4d pm = hessOfA.packedMatrix(); 5 | cout << "The packed matrix M is:" << endl << pm << endl; 6 | cout << "The upper Hessenberg part corresponds to the matrix H, which is:" 7 | << endl << hessOfA.matrixH() << endl; 8 | Vector3d hc = hessOfA.householderCoefficients(); 9 | cout << "The vector of Householder coefficients is:" << endl << hc << endl; 10 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_all.cpp: -------------------------------------------------------------------------------- 1 | Vector3f boxMin(Vector3f::Zero()), boxMax(Vector3f::Ones()); 2 | Vector3f p0 = Vector3f::Random(), p1 = Vector3f::Random().cwiseAbs(); 3 | // let's check if p0 and p1 are inside the axis aligned box defined by the corners boxMin,boxMax: 4 | cout << "Is (" << p0.transpose() << ") inside the box: " 5 | << ((boxMin.array()p0.array()).all()) << endl; 6 | cout << "Is (" << p1.transpose() << ") inside the box: " 7 | << ((boxMin.array()p1.array()).all()) << endl; 8 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tridiagonalization_decomposeInPlace.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd X = MatrixXd::Random(5,5); 2 | MatrixXd A = X + X.transpose(); 3 | cout << "Here is a random symmetric 5x5 matrix:" << endl << A << endl << endl; 4 | 5 | VectorXd diag(5); 6 | VectorXd subdiag(4); 7 | internal::tridiagonalization_inplace(A, diag, subdiag, true); 8 | cout << "The orthogonal matrix Q is:" << endl << A << endl; 9 | cout << "The diagonal of the tridiagonal matrix T is:" << endl << diag << endl; 10 | cout << "The subdiagonal of the tridiagonal matrix T is:" << endl << subdiag << endl; 11 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_marked.cpp: -------------------------------------------------------------------------------- 1 | #ifndef _MSC_VER 2 | #warning deprecated 3 | #endif 4 | /* 5 | Matrix3d m = Matrix3d::Zero(); 6 | m.part().setOnes(); 7 | cout << "Here is the matrix m:" << endl << m << endl; 8 | Matrix3d n = Matrix3d::Ones(); 9 | n.part() *= 2; 10 | cout << "Here is the matrix n:" << endl << n << endl; 11 | cout << "And now here is m.inverse()*n, taking advantage of the fact that" 12 | " m is upper-triangular:" << endl 13 | << m.marked().solveTriangular(n); 14 | */ -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ArrayClass_interop.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main() 8 | { 9 | MatrixXf m(2,2); 10 | MatrixXf n(2,2); 11 | MatrixXf result(2,2); 12 | 13 | m << 1,2, 14 | 3,4; 15 | n << 5,6, 16 | 7,8; 17 | 18 | result = (m.array() + 4).matrix() * m; 19 | cout << "-- Combination 1: --" << endl << result << endl << endl; 20 | result = (m.array() * n.array()).matrix() * m; 21 | cout << "-- Combination 2: --" << endl << result << endl << endl; 22 | } 23 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/btl/actions/basic_actions.hh: -------------------------------------------------------------------------------- 1 | 2 | #include "action_axpy.hh" 3 | #include "action_axpby.hh" 4 | 5 | #include "action_matrix_vector_product.hh" 6 | #include "action_atv_product.hh" 7 | 8 | #include "action_matrix_matrix_product.hh" 9 | // #include "action_ata_product.hh" 10 | #include "action_aat_product.hh" 11 | 12 | #include "action_trisolve.hh" 13 | #include "action_trmm.hh" 14 | #include "action_symv.hh" 15 | // #include "action_symm.hh" 16 | #include "action_syr2.hh" 17 | #include "action_ger.hh" 18 | #include "action_rot.hh" 19 | 20 | // #include "action_lu_solve.hh" 21 | 22 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/LLT_example.cpp: -------------------------------------------------------------------------------- 1 | MatrixXd A(3,3); 2 | A << 4,-1,2, -1,6,0, 2,0,5; 3 | cout << "The matrix A is" << endl << A << endl; 4 | 5 | LLT lltOfA(A); // compute the Cholesky decomposition of A 6 | MatrixXd L = lltOfA.matrixL(); // retrieve factor L in the decomposition 7 | // The previous two lines can also be written as "L = A.llt().matrixL()" 8 | 9 | cout << "The Cholesky factor L is" << endl << L << endl; 10 | cout << "To check this, let us compute L * L.transpose()" << endl; 11 | cout << L * L.transpose() << endl; 12 | cout << "This should equal the matrix A" << endl; 13 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/tut_matrix_resize.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | 6 | int main() 7 | { 8 | MatrixXd m(2,5); 9 | m.resize(4,3); 10 | std::cout << "The matrix m is of size " 11 | << m.rows() << "x" << m.cols() << std::endl; 12 | std::cout << "It has " << m.size() << " coefficients" << std::endl; 13 | VectorXd v(2); 14 | v.resize(5); 15 | std::cout << "The vector v is of size " << v.size() << std::endl; 16 | std::cout << "As a matrix, v is of size " 17 | << v.rows() << "x" << v.cols() << std::endl; 18 | } 19 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/CTestConfig.cmake: -------------------------------------------------------------------------------- 1 | ## This file should be placed in the root directory of your project. 2 | ## Then modify the CMakeLists.txt file in the root directory of your 3 | ## project to incorporate the testing dashboard. 4 | ## # The following are required to uses Dart and the Cdash dashboard 5 | ## ENABLE_TESTING() 6 | ## INCLUDE(CTest) 7 | set(CTEST_PROJECT_NAME "Eigen") 8 | set(CTEST_NIGHTLY_START_TIME "00:00:00 UTC") 9 | 10 | set(CTEST_DROP_METHOD "http") 11 | set(CTEST_DROP_SITE "manao.inria.fr") 12 | set(CTEST_DROP_LOCATION "/CDash/submit.php?project=Eigen") 13 | set(CTEST_DROP_SITE_CDASH TRUE) 14 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/tut_arithmetic_add_sub.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | 6 | int main() 7 | { 8 | Matrix2d a; 9 | a << 1, 2, 10 | 3, 4; 11 | MatrixXd b(2,2); 12 | b << 2, 3, 13 | 1, 4; 14 | std::cout << "a + b =\n" << a + b << std::endl; 15 | std::cout << "a - b =\n" << a - b << std::endl; 16 | std::cout << "Doing a += b;" << std::endl; 17 | a += b; 18 | std::cout << "Now a =\n" << a << std::endl; 19 | Vector3d v(1,2,3); 20 | Vector3d w(1,0,0); 21 | std::cout << "-v + w - v =\n" << -v + w - v << std::endl; 22 | } 23 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Vectorwise_reverse.cpp: -------------------------------------------------------------------------------- 1 | MatrixXi m = MatrixXi::Random(3,4); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | cout << "Here is the rowwise reverse of m:" << endl << m.rowwise().reverse() << endl; 4 | cout << "Here is the colwise reverse of m:" << endl << m.colwise().reverse() << endl; 5 | 6 | cout << "Here is the coefficient (1,0) in the rowise reverse of m:" << endl 7 | << m.rowwise().reverse()(1,0) << endl; 8 | cout << "Let us overwrite this coefficient with the value 4." << endl; 9 | //m.colwise().reverse()(1,0) = 4; 10 | cout << "Now the matrix m is:" << endl << m << endl; 11 | -------------------------------------------------------------------------------- /gtsam/discrete/tests/data/UAI/uai08_test2.uai.output: -------------------------------------------------------------------------------- 1 | z -5.264346 2 | m 21 4 0.116109975 0.20537 0.29463002 0.38389003 4 0.10865768 0.2028859 0.2971141 0.3913423 4 0.11159538 0.20386513 0.29613486 0.3884046 4 0.105094366 0.20169812 0.29830188 0.39490563 4 0.116109975 0.20537 0.29463002 0.38389003 4 0.11159538 0.20386513 0.29613486 0.3884046 4 0.10865768 0.2028859 0.2971141 0.3913423 4 0.1 0.2 0.3 0.4 4 0.10956474 0.20318824 0.29681176 0.39043528 2 1.0 0.0 2 1.0 0.0 2 1.0 0.0 2 1.0 0.0 2 1.0 0.0 2 1.0 0.0 2 1.0 0.0 2 1.0 0.0 2 1.0 0.0 2 1.0 0.0 2 1.0 0.0 2 1.0 0.0 3 | s -5.7635098 21 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 4 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/cmake/FindAdolc.cmake: -------------------------------------------------------------------------------- 1 | 2 | if (ADOLC_INCLUDES AND ADOLC_LIBRARIES) 3 | set(ADOLC_FIND_QUIETLY TRUE) 4 | endif (ADOLC_INCLUDES AND ADOLC_LIBRARIES) 5 | 6 | find_path(ADOLC_INCLUDES 7 | NAMES 8 | adolc/adouble.h 9 | PATHS 10 | $ENV{ADOLCDIR} 11 | ${INCLUDE_INSTALL_DIR} 12 | ) 13 | 14 | find_library(ADOLC_LIBRARIES adolc PATHS $ENV{ADOLCDIR} ${LIB_INSTALL_DIR}) 15 | 16 | include(FindPackageHandleStandardArgs) 17 | find_package_handle_standard_args(ADOLC DEFAULT_MSG 18 | ADOLC_INCLUDES ADOLC_LIBRARIES) 19 | 20 | mark_as_advanced(ADOLC_INCLUDES ADOLC_LIBRARIES) 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/demos/mandelbrot/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | find_package(Qt4 REQUIRED) 2 | 3 | set(CMAKE_INCLUDE_CURRENT_DIR ON) 4 | 5 | if (CMAKE_COMPILER_IS_GNUCXX) 6 | set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") 7 | add_definitions ( "-DNDEBUG" ) 8 | endif (CMAKE_COMPILER_IS_GNUCXX) 9 | 10 | include_directories( ${QT_INCLUDE_DIR} ) 11 | 12 | set(mandelbrot_SRCS 13 | mandelbrot.cpp 14 | ) 15 | 16 | qt4_automoc(${mandelbrot_SRCS}) 17 | 18 | add_executable(mandelbrot ${mandelbrot_SRCS}) 19 | add_dependencies(demos mandelbrot) 20 | 21 | target_link_libraries(mandelbrot ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY}) 22 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_1nn.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | 7 | int main() 8 | { 9 | Eigen::MatrixXf m(2,4); 10 | Eigen::VectorXf v(2); 11 | 12 | m << 1, 23, 6, 9, 13 | 3, 11, 7, 2; 14 | 15 | v << 2, 16 | 3; 17 | 18 | MatrixXf::Index index; 19 | // find nearest neighbour 20 | (m.colwise() - v).colwise().squaredNorm().minCoeff(&index); 21 | 22 | cout << "Nearest neighbour is column " << index << ":" << endl; 23 | cout << m.col(index) << endl; 24 | } 25 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/doc/examples/MatrixFunction.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | 6 | std::complex expfn(std::complex x, int) 7 | { 8 | return std::exp(x); 9 | } 10 | 11 | int main() 12 | { 13 | const double pi = std::acos(-1.0); 14 | 15 | MatrixXd A(3,3); 16 | A << 0, -pi/4, 0, 17 | pi/4, 0, 0, 18 | 0, 0, 0; 19 | 20 | std::cout << "The matrix A is:\n" << A << "\n\n"; 21 | std::cout << "The matrix exponential of A is:\n" 22 | << A.matrixFunction(expfn) << "\n\n"; 23 | } 24 | -------------------------------------------------------------------------------- /matlab/+gtsam/findExampleDataFile.m: -------------------------------------------------------------------------------- 1 | function datafile = findExampleDataFile(datasetName) 2 | %FINDEXAMPLEDATAFILE Find a dataset in the examples folder 3 | 4 | [ myPath, ~, ~ ] = fileparts(mfilename('fullpath')); 5 | searchPath = { ... 6 | fullfile(myPath, [ '../../examples/Data/' datasetName ]) ... 7 | fullfile(myPath, [ '../gtsam_examples/Data/' datasetName ]) }; 8 | datafile = []; 9 | for path = searchPath 10 | if exist(path{:}, 'file') 11 | datafile = path{:}; 12 | end 13 | end 14 | if isempty(datafile) 15 | error([ 'Could not find example data file ' datasetName ]); 16 | end 17 | 18 | end 19 | 20 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/OrderingMethods: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_ORDERINGMETHODS_MODULE_H 2 | #define EIGEN_ORDERINGMETHODS_MODULE_H 3 | 4 | #include "SparseCore" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | /** \ingroup Sparse_modules 9 | * \defgroup OrderingMethods_Module OrderingMethods module 10 | * 11 | * This module is currently for internal use only. 12 | * 13 | * 14 | * \code 15 | * #include 16 | * \endcode 17 | */ 18 | 19 | #include "src/OrderingMethods/Amd.h" 20 | 21 | #include "src/Core/util/ReenableStupidWarnings.h" 22 | 23 | #endif // EIGEN_ORDERINGMETHODS_MODULE_H 24 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ArrayClass_accessors.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main() 8 | { 9 | ArrayXXf m(2,2); 10 | 11 | // assign some values coefficient by coefficient 12 | m(0,0) = 1.0; m(0,1) = 2.0; 13 | m(1,0) = 3.0; m(1,1) = m(0,1) + m(1,0); 14 | 15 | // print values to standard output 16 | cout << m << endl << endl; 17 | 18 | // using the comma-initializer is also allowed 19 | m << 1.0,2.0, 20 | 3.0,4.0; 21 | 22 | // print values to standard output 23 | cout << m << endl; 24 | } 25 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_extract.cpp: -------------------------------------------------------------------------------- 1 | #ifndef _MSC_VER 2 | #warning deprecated 3 | #endif 4 | /* deprecated 5 | Matrix3i m = Matrix3i::Random(); 6 | cout << "Here is the matrix m:" << endl << m << endl; 7 | cout << "Here is the upper-triangular matrix extracted from m:" << endl 8 | << m.part() << endl; 9 | cout << "Here is the strictly-upper-triangular matrix extracted from m:" << endl 10 | << m.part() << endl; 11 | cout << "Here is the unit-lower-triangular matrix extracted from m:" << endl 12 | << m.part() << endl; 13 | */ -------------------------------------------------------------------------------- /gtsam_unstable/base/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Install headers 2 | file(GLOB base_headers "*.h") 3 | install(FILES ${base_headers} DESTINATION include/gtsam_unstable/base) 4 | 5 | # Components to link tests in this subfolder against 6 | set(base_local_libs 7 | base 8 | base_unstable) 9 | 10 | set (base_full_libs 11 | gtsam-static 12 | gtsam_unstable-static) 13 | 14 | # Exclude tests that don't work 15 | set (base_excluded_tests "") 16 | 17 | # Add all tests 18 | gtsam_add_subdir_tests(base_unstable "${base_local_libs}" "${base_full_libs}" "${base_excluded_tests}") 19 | add_dependencies(check.unstable check.base_unstable) 20 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/MatrixBase_cwise_const.cpp: -------------------------------------------------------------------------------- 1 | #define EIGEN2_SUPPORT 2 | #include 3 | #include 4 | 5 | using namespace Eigen; 6 | using namespace std; 7 | 8 | int main() 9 | { 10 | Matrix3i m = Matrix3i::Random(); 11 | cout << "Here is the matrix m:" << endl << m << endl; 12 | Matrix3i n = Matrix3i::Random(); 13 | cout << "And here is the matrix n:" << endl << n << endl; 14 | cout << "The coefficient-wise product of m and n is:" << endl; 15 | cout << m.cwise() * n << endl; 16 | cout << "Taking the cube of the coefficients of m yields:" << endl; 17 | cout << m.cwise().pow(3) << endl; 18 | } 19 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/TemplateKeyword_simple.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | 6 | void copyUpperTriangularPart(MatrixXf& dst, const MatrixXf& src) 7 | { 8 | dst.triangularView() = src.triangularView(); 9 | } 10 | 11 | int main() 12 | { 13 | MatrixXf m1 = MatrixXf::Ones(4,4); 14 | MatrixXf m2 = MatrixXf::Random(4,4); 15 | std::cout << "m2 before copy:" << std::endl; 16 | std::cout << m2 << std::endl << std::endl; 17 | copyUpperTriangularPart(m2, m1); 18 | std::cout << "m2 after copy:" << std::endl; 19 | std::cout << m2 << std::endl << std::endl; 20 | } 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/doc/examples/MatrixSine.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | 6 | int main() 7 | { 8 | MatrixXd A = MatrixXd::Random(3,3); 9 | std::cout << "A = \n" << A << "\n\n"; 10 | 11 | MatrixXd sinA = A.sin(); 12 | std::cout << "sin(A) = \n" << sinA << "\n\n"; 13 | 14 | MatrixXd cosA = A.cos(); 15 | std::cout << "cos(A) = \n" << cosA << "\n\n"; 16 | 17 | // The matrix functions satisfy sin^2(A) + cos^2(A) = I, 18 | // like the scalar functions. 19 | std::cout << "sin^2(A) + cos^2(A) = \n" << sinA*sinA + cosA*cosA << "\n\n"; 20 | } 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/class_CwiseBinaryOp.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace Eigen; 4 | using namespace std; 5 | 6 | // define a custom template binary functor 7 | template struct MakeComplexOp { 8 | EIGEN_EMPTY_STRUCT_CTOR(MakeComplexOp) 9 | typedef complex result_type; 10 | complex operator()(const Scalar& a, const Scalar& b) const { return complex(a,b); } 11 | }; 12 | 13 | int main(int, char**) 14 | { 15 | Matrix4d m1 = Matrix4d::Random(), m2 = Matrix4d::Random(); 16 | cout << m1.binaryExpr(m2, MakeComplexOp()) << endl; 17 | return 0; 18 | } 19 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/tut_arithmetic_redux_basic.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | int main() 6 | { 7 | Eigen::Matrix2d mat; 8 | mat << 1, 2, 9 | 3, 4; 10 | cout << "Here is mat.sum(): " << mat.sum() << endl; 11 | cout << "Here is mat.prod(): " << mat.prod() << endl; 12 | cout << "Here is mat.mean(): " << mat.mean() << endl; 13 | cout << "Here is mat.minCoeff(): " << mat.minCoeff() << endl; 14 | cout << "Here is mat.maxCoeff(): " << mat.maxCoeff() << endl; 15 | cout << "Here is mat.trace(): " << mat.trace() << endl; 16 | } 17 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/scripts/buildtests.in: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [[ $# != 1 || $1 == *help ]] 4 | then 5 | echo "usage: ./check regexp" 6 | echo " Builds tests matching the regexp." 7 | echo " The EIGEN_MAKE_ARGS environment variable allows to pass args to 'make'." 8 | echo " For example, to launch 5 concurrent builds, use EIGEN_MAKE_ARGS='-j5'" 9 | exit 0 10 | fi 11 | 12 | TESTSLIST="@EIGEN_TESTS_LIST@" 13 | targets_to_make=`echo "$TESTSLIST" | egrep "$1" | xargs echo` 14 | 15 | if [ -n "${EIGEN_MAKE_ARGS:+x}" ] 16 | then 17 | make $targets_to_make ${EIGEN_MAKE_ARGS} 18 | else 19 | make $targets_to_make 20 | fi 21 | exit $? 22 | 23 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/TopicStorageOrders_example.cpp: -------------------------------------------------------------------------------- 1 | Matrix Acolmajor; 2 | Acolmajor << 8, 2, 2, 9, 3 | 9, 1, 4, 4, 4 | 3, 5, 4, 5; 5 | cout << "The matrix A:" << endl; 6 | cout << Acolmajor << endl << endl; 7 | 8 | cout << "In memory (column-major):" << endl; 9 | for (int i = 0; i < Acolmajor.size(); i++) 10 | cout << *(Acolmajor.data() + i) << " "; 11 | cout << endl << endl; 12 | 13 | Matrix Arowmajor = Acolmajor; 14 | cout << "In memory (row-major):" << endl; 15 | for (int i = 0; i < Arowmajor.size(); i++) 16 | cout << *(Arowmajor.data() + i) << " "; 17 | cout << endl; 18 | 19 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/Tridiagonalization_diagonal.cpp: -------------------------------------------------------------------------------- 1 | MatrixXcd X = MatrixXcd::Random(4,4); 2 | MatrixXcd A = X + X.adjoint(); 3 | cout << "Here is a random self-adjoint 4x4 matrix:" << endl << A << endl << endl; 4 | 5 | Tridiagonalization triOfA(A); 6 | MatrixXd T = triOfA.matrixT(); 7 | cout << "The tridiagonal matrix T is:" << endl << T << endl << endl; 8 | 9 | cout << "We can also extract the diagonals of T directly ..." << endl; 10 | VectorXd diag = triOfA.diagonal(); 11 | cout << "The diagonal is:" << endl << diag << endl; 12 | VectorXd subdiag = triOfA.subDiagonal(); 13 | cout << "The subdiagonal is:" << endl << subdiag << endl; 14 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_maxnorm.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | int main() 7 | { 8 | MatrixXf mat(2,4); 9 | mat << 1, 2, 6, 9, 10 | 3, 1, 7, 2; 11 | 12 | MatrixXf::Index maxIndex; 13 | float maxNorm = mat.colwise().sum().maxCoeff(&maxIndex); 14 | 15 | std::cout << "Maximum sum at position " << maxIndex << std::endl; 16 | 17 | std::cout << "The corresponding vector is: " << std::endl; 18 | std::cout << mat.col( maxIndex ) << std::endl; 19 | std::cout << "And its sum is is: " << maxNorm << std::endl; 20 | } 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/doc/examples/MatrixSinh.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | 6 | int main() 7 | { 8 | MatrixXf A = MatrixXf::Random(3,3); 9 | std::cout << "A = \n" << A << "\n\n"; 10 | 11 | MatrixXf sinhA = A.sinh(); 12 | std::cout << "sinh(A) = \n" << sinhA << "\n\n"; 13 | 14 | MatrixXf coshA = A.cosh(); 15 | std::cout << "cosh(A) = \n" << coshA << "\n\n"; 16 | 17 | // The matrix functions satisfy cosh^2(A) - sinh^2(A) = I, 18 | // like the scalar functions. 19 | std::cout << "cosh^2(A) - sinh^2(A) = \n" << coshA*coshA - sinhA*sinhA << "\n\n"; 20 | } 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_BlockOperations_block_assignment.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | 7 | int main() 8 | { 9 | Array22f m; 10 | m << 1,2, 11 | 3,4; 12 | Array44f a = Array44f::Constant(0.6); 13 | cout << "Here is the array a:" << endl << a << endl << endl; 14 | a.block<2,2>(1,1) = m; 15 | cout << "Here is now a with m copied into its central 2x2 block:" << endl << a << endl << endl; 16 | a.block(0,0,2,3) = a.block(2,1,2,3); 17 | cout << "Here is now a with bottom-right 2x3 block copied into top-left 2x2 block:" << endl << a << endl << endl; 18 | } 19 | -------------------------------------------------------------------------------- /gtsam_unstable/linear/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Install headers 2 | file(GLOB base_headers "*.h") 3 | install(FILES ${linear_headers} DESTINATION include/gtsam_unstable/linear) 4 | 5 | # Components to link tests in this subfolder against 6 | set(linear_local_libs 7 | linear 8 | linear_unstable 9 | base) 10 | 11 | set (linear_full_libs 12 | gtsam-static 13 | gtsam_unstable-static) 14 | 15 | # Exclude tests that don't work 16 | set (base_excluded_tests "") 17 | 18 | # Add all tests 19 | gtsam_add_subdir_tests(linear_unstable "${linear_local_libs}" "${linear_full_libs}" "${linear_excluded_tests}") 20 | add_dependencies(check.unstable check.linear_unstable) 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/cmake/FindGMP.cmake: -------------------------------------------------------------------------------- 1 | # Try to find the GNU Multiple Precision Arithmetic Library (GMP) 2 | # See http://gmplib.org/ 3 | 4 | if (GMP_INCLUDES AND GMP_LIBRARIES) 5 | set(GMP_FIND_QUIETLY TRUE) 6 | endif (GMP_INCLUDES AND GMP_LIBRARIES) 7 | 8 | find_path(GMP_INCLUDES 9 | NAMES 10 | gmp.h 11 | PATHS 12 | $ENV{GMPDIR} 13 | ${INCLUDE_INSTALL_DIR} 14 | ) 15 | 16 | find_library(GMP_LIBRARIES gmp PATHS $ENV{GMPDIR} ${LIB_INSTALL_DIR}) 17 | 18 | include(FindPackageHandleStandardArgs) 19 | find_package_handle_standard_args(GMP DEFAULT_MSG 20 | GMP_INCLUDES GMP_LIBRARIES) 21 | mark_as_advanced(GMP_INCLUDES GMP_LIBRARIES) 22 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/demos/opengl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | find_package(Qt4 REQUIRED) 2 | find_package(OpenGL REQUIRED) 3 | 4 | set(QT_USE_QTOPENGL TRUE) 5 | include(${QT_USE_FILE}) 6 | 7 | set(CMAKE_INCLUDE_CURRENT_DIR ON) 8 | 9 | include_directories( ${QT_INCLUDE_DIR} ) 10 | 11 | set(quaternion_demo_SRCS gpuhelper.cpp icosphere.cpp camera.cpp trackball.cpp quaternion_demo.cpp) 12 | 13 | qt4_automoc(${quaternion_demo_SRCS}) 14 | 15 | add_executable(quaternion_demo ${quaternion_demo_SRCS}) 16 | add_dependencies(demos quaternion_demo) 17 | 18 | target_link_libraries(quaternion_demo 19 | ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} 20 | ${QT_QTOPENGL_LIBRARY} ${OPENGL_LIBRARIES} ) 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/TutorialLinAlgSelfAdjointEigenSolver.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | 7 | int main() 8 | { 9 | Matrix2f A; 10 | A << 1, 2, 2, 3; 11 | cout << "Here is the matrix A:\n" << A << endl; 12 | SelfAdjointEigenSolver eigensolver(A); 13 | if (eigensolver.info() != Success) abort(); 14 | cout << "The eigenvalues of A are:\n" << eigensolver.eigenvalues() << endl; 15 | cout << "Here's a matrix whose columns are eigenvectors of A \n" 16 | << "corresponding to these eigenvalues:\n" 17 | << eigensolver.eigenvectors() << endl; 18 | } 19 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/test/eigen2/runtest.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | black='\E[30m' 4 | red='\E[31m' 5 | green='\E[32m' 6 | yellow='\E[33m' 7 | blue='\E[34m' 8 | magenta='\E[35m' 9 | cyan='\E[36m' 10 | white='\E[37m' 11 | 12 | if make test_$1 > /dev/null 2> .runtest.log ; then 13 | if ! ./test_$1 r20 > /dev/null 2> .runtest.log ; then 14 | echo -e $red Test $1 failed: $black 15 | echo -e $blue 16 | cat .runtest.log 17 | echo -e $black 18 | exit 1 19 | else 20 | echo -e $green Test $1 passed$black 21 | fi 22 | else 23 | echo -e $red Build of target $1 failed: $black 24 | echo -e $blue 25 | cat .runtest.log 26 | echo -e $black 27 | exit 1 28 | fi 29 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_reductions_bool.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | 7 | int main() 8 | { 9 | ArrayXXf a(2,2); 10 | 11 | a << 1,2, 12 | 3,4; 13 | 14 | cout << "(a > 0).all() = " << (a > 0).all() << endl; 15 | cout << "(a > 0).any() = " << (a > 0).any() << endl; 16 | cout << "(a > 0).count() = " << (a > 0).count() << endl; 17 | cout << endl; 18 | cout << "(a > 2).all() = " << (a > 2).all() << endl; 19 | cout << "(a > 2).any() = " << (a > 2).any() << endl; 20 | cout << "(a > 2).count() = " << (a > 2).count() << endl; 21 | } 22 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/class_CwiseUnaryOp.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace Eigen; 4 | using namespace std; 5 | 6 | // define a custom template unary functor 7 | template 8 | struct CwiseClampOp { 9 | CwiseClampOp(const Scalar& inf, const Scalar& sup) : m_inf(inf), m_sup(sup) {} 10 | const Scalar operator()(const Scalar& x) const { return xm_sup ? m_sup : x); } 11 | Scalar m_inf, m_sup; 12 | }; 13 | 14 | int main(int, char**) 15 | { 16 | Matrix4d m1 = Matrix4d::Random(); 17 | cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(CwiseClampOp(-0.5,0.5)) << endl; 18 | return 0; 19 | } 20 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/JacobiSVD_basic.cpp: -------------------------------------------------------------------------------- 1 | MatrixXf m = MatrixXf::Random(3,2); 2 | cout << "Here is the matrix m:" << endl << m << endl; 3 | JacobiSVD svd(m, ComputeThinU | ComputeThinV); 4 | cout << "Its singular values are:" << endl << svd.singularValues() << endl; 5 | cout << "Its left singular vectors are the columns of the thin U matrix:" << endl << svd.matrixU() << endl; 6 | cout << "Its right singular vectors are the columns of the thin V matrix:" << endl << svd.matrixV() << endl; 7 | Vector3f rhs(1, 0, 0); 8 | cout << "Now consider this rhs vector:" << endl << rhs << endl; 9 | cout << "A least-squares solution of m*x = rhs is:" << endl << svd.solve(rhs) << endl; 10 | -------------------------------------------------------------------------------- /gtsam/3rdparty/CCOLAMD/MATLAB/ccolamd_install.m: -------------------------------------------------------------------------------- 1 | function ccolamd_install 2 | %CCOLAMD_INSTALL compiles and installs ccolamd and csymamd for MATLAB 3 | % Your current directory must be CCOLAMD/MATLAB for this function to work. 4 | % 5 | % Example: 6 | % ccolamd_install 7 | % 8 | % See also ccolamd, csymamd. 9 | 10 | % Copyright 1998-2007, Timothy A. Davis, Stefan Larimore, and Siva Rajamanickam 11 | % Developed in collaboration with J. Gilbert and E. Ng. 12 | 13 | ccolamd_make 14 | addpath (pwd) 15 | fprintf ('\nThe following path has been added. You may wish to add it\n') ; 16 | fprintf ('permanently, using the MATLAB pathtool command.\n') ; 17 | fprintf ('%s\n\n', pwd) ; 18 | ccolamd_demo 19 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/IOFormat.cpp: -------------------------------------------------------------------------------- 1 | std::string sep = "\n----------------------------------------\n"; 2 | Matrix3d m1; 3 | m1 << 1.111111, 2, 3.33333, 4, 5, 6, 7, 8.888888, 9; 4 | 5 | IOFormat CommaInitFmt(StreamPrecision, DontAlignCols, ", ", ", ", "", "", " << ", ";"); 6 | IOFormat CleanFmt(4, 0, ", ", "\n", "[", "]"); 7 | IOFormat OctaveFmt(StreamPrecision, 0, ", ", ";\n", "", "", "[", "]"); 8 | IOFormat HeavyFmt(FullPrecision, 0, ", ", ";\n", "[", "]", "[", "]"); 9 | 10 | std::cout << m1 << sep; 11 | std::cout << m1.format(CommaInitFmt) << sep; 12 | std::cout << m1.format(CleanFmt) << sep; 13 | std::cout << m1.format(OctaveFmt) << sep; 14 | std::cout << m1.format(HeavyFmt) << sep; 15 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/Householder: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_HOUSEHOLDER_MODULE_H 2 | #define EIGEN_HOUSEHOLDER_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | /** \defgroup Householder_Module Householder module 9 | * This module provides Householder transformations. 10 | * 11 | * \code 12 | * #include 13 | * \endcode 14 | */ 15 | 16 | #include "src/Householder/Householder.h" 17 | #include "src/Householder/HouseholderSequence.h" 18 | #include "src/Householder/BlockHouseholder.h" 19 | 20 | #include "src/Core/util/ReenableStupidWarnings.h" 21 | 22 | #endif // EIGEN_HOUSEHOLDER_MODULE_H 23 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 24 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/Eigen/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include(RegexUtils) 2 | test_escape_string_as_regex() 3 | 4 | file(GLOB Eigen_directory_files "*") 5 | 6 | escape_string_as_regex(ESCAPED_CMAKE_CURRENT_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") 7 | 8 | foreach(f ${Eigen_directory_files}) 9 | if(NOT f MATCHES "\\.txt" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/[.].+" AND NOT f MATCHES "${ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/src") 10 | list(APPEND Eigen_directory_files_to_install ${f}) 11 | endif() 12 | endforeach(f ${Eigen_directory_files}) 13 | 14 | install(FILES 15 | ${Eigen_directory_files_to_install} 16 | DESTINATION ${INCLUDE_INSTALL_DIR}/Eigen COMPONENT Devel 17 | ) 18 | 19 | add_subdirectory(src) 20 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_visitors.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | 7 | int main() 8 | { 9 | Eigen::MatrixXf m(2,2); 10 | 11 | m << 1, 2, 12 | 3, 4; 13 | 14 | //get location of maximum 15 | MatrixXf::Index maxRow, maxCol; 16 | float max = m.maxCoeff(&maxRow, &maxCol); 17 | 18 | //get location of minimum 19 | MatrixXf::Index minRow, minCol; 20 | float min = m.minCoeff(&minRow, &minCol); 21 | 22 | cout << "Max: " << max << ", at: " << 23 | maxRow << "," << maxCol << endl; 24 | cout << "Min: " << min << ", at: " << 25 | minRow << "," << minCol << endl; 26 | } 27 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/special_examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | if(NOT EIGEN_TEST_NOQT) 3 | find_package(Qt4) 4 | if(QT4_FOUND) 5 | include(${QT_USE_FILE}) 6 | endif() 7 | endif(NOT EIGEN_TEST_NOQT) 8 | 9 | 10 | if(QT4_FOUND) 11 | add_executable(Tutorial_sparse_example Tutorial_sparse_example.cpp Tutorial_sparse_example_details.cpp) 12 | target_link_libraries(Tutorial_sparse_example ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY}) 13 | 14 | add_custom_command( 15 | TARGET Tutorial_sparse_example 16 | POST_BUILD 17 | COMMAND Tutorial_sparse_example 18 | ARGS ${CMAKE_CURRENT_BINARY_DIR}/../html/Tutorial_sparse_example.jpeg 19 | ) 20 | endif(QT4_FOUND) 21 | -------------------------------------------------------------------------------- /gtsam_unstable/mainpage.dox: -------------------------------------------------------------------------------- 1 | // This causes Doxygen to find classes inside the gtsam namespace without 2 | // explicitly specifying it when writing class names. 3 | namespace gtsam { 4 | 5 | /** 6 | 7 | \mainpage GTSAM_UNSTABLE 8 | 9 | \section gtsam_unstable_overview GTSAM_UNSTABLE Overview 10 | 11 | GTSAM_UNSTABLE is a set of experimental additions to GTSAM that are not fully ready to be 12 | integrated into the rest of the library. This library is actively maintained, 13 | and should follow the same design procedures as GTSAM. 14 | 15 | Because parts of this library are supposed to be a part of GTSAM, all code should 16 | be in the gtsam namespace, rather than a gtsam_unstable namespace. 17 | 18 | */ 19 | 20 | } -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/snippets/TopicAliasing_cwise.cpp: -------------------------------------------------------------------------------- 1 | MatrixXf mat(2,2); 2 | mat << 1, 2, 4, 7; 3 | cout << "Here is the matrix mat:\n" << mat << endl << endl; 4 | 5 | mat = 2 * mat; 6 | cout << "After 'mat = 2 * mat', mat = \n" << mat << endl << endl; 7 | 8 | 9 | mat = mat - MatrixXf::Identity(2,2); 10 | cout << "After the subtraction, it becomes\n" << mat << endl << endl; 11 | 12 | 13 | ArrayXXf arr = mat; 14 | arr = arr.square(); 15 | cout << "After squaring, it becomes\n" << arr << endl << endl; 16 | 17 | // Combining all operations in one statement: 18 | mat << 1, 2, 4, 7; 19 | mat = (2 * mat - MatrixXf::Identity(2,2)).array().square(); 20 | cout << "Doing everything at once yields\n" << mat << endl << endl; 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/bench/bench_unrolling: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # gcc : CXX="g++ -finline-limit=10000 -ftemplate-depth-2000 --param max-inline-recursive-depth=2000" 4 | # icc : CXX="icpc -fast -no-inline-max-size -fno-exceptions" 5 | CXX=${CXX-g++ -finline-limit=10000 -ftemplate-depth-2000 --param max-inline-recursive-depth=2000} # default value 6 | 7 | for ((i=1; i<16; ++i)); do 8 | echo "Matrix size: $i x $i :" 9 | $CXX -O3 -I.. -DNDEBUG benchmark.cpp -DMATSIZE=$i -DEIGEN_UNROLLING_LIMIT=400 -o benchmark && time ./benchmark >/dev/null 10 | $CXX -O3 -I.. -DNDEBUG -finline-limit=10000 benchmark.cpp -DMATSIZE=$i -DEIGEN_DONT_USE_UNROLLED_LOOPS=1 -o benchmark && time ./benchmark >/dev/null 11 | echo " " 12 | done 13 | -------------------------------------------------------------------------------- /gtsam_unstable/slam/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Install headers 2 | file(GLOB slam_headers "*.h") 3 | install(FILES ${slam_headers} DESTINATION include/gtsam_unstable/slam) 4 | 5 | # Components to link tests in this subfolder against 6 | set(slam_local_libs 7 | slam_unstable 8 | slam 9 | nonlinear 10 | linear 11 | inference 12 | geometry 13 | base 14 | ccolamd 15 | ) 16 | 17 | set (slam_full_libs 18 | gtsam-static 19 | gtsam_unstable-static) 20 | 21 | # Exclude tests that don't work 22 | set (slam_excluded_tests "") 23 | 24 | # Add all tests 25 | gtsam_add_subdir_tests(slam_unstable "${slam_local_libs}" "${slam_full_libs}" "${slam_excluded_tests}") 26 | add_dependencies(check.unstable check.slam_unstable) 27 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/cmake/FindMetis.cmake: -------------------------------------------------------------------------------- 1 | # Pastix requires METIS or METIS (partitioning and reordering tools) 2 | 3 | if (METIS_INCLUDES AND METIS_LIBRARIES) 4 | set(METIS_FIND_QUIETLY TRUE) 5 | endif (METIS_INCLUDES AND METIS_LIBRARIES) 6 | 7 | find_path(METIS_INCLUDES 8 | NAMES 9 | metis.h 10 | PATHS 11 | $ENV{METISDIR} 12 | ${INCLUDE_INSTALL_DIR} 13 | PATH_SUFFIXES 14 | metis 15 | ) 16 | 17 | 18 | find_library(METIS_LIBRARIES metis PATHS $ENV{METISDIR} ${LIB_INSTALL_DIR}) 19 | 20 | include(FindPackageHandleStandardArgs) 21 | find_package_handle_standard_args(METIS DEFAULT_MSG 22 | METIS_INCLUDES METIS_LIBRARIES) 23 | 24 | mark_as_advanced(METIS_INCLUDES METIS_LIBRARIES) 25 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/TutorialLinAlgRankRevealing.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | 7 | int main() 8 | { 9 | Matrix3f A; 10 | A << 1, 2, 5, 11 | 2, 1, 4, 12 | 3, 0, 3; 13 | cout << "Here is the matrix A:\n" << A << endl; 14 | FullPivLU lu_decomp(A); 15 | cout << "The rank of A is " << lu_decomp.rank() << endl; 16 | cout << "Here is a matrix whose columns form a basis of the null-space of A:\n" 17 | << lu_decomp.kernel() << endl; 18 | cout << "Here is a matrix whose columns form a basis of the column-space of A:\n" 19 | << lu_decomp.image(A) << endl; // yes, have to pass the original A 20 | } 21 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/tut_arithmetic_matrix_mul.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | int main() 6 | { 7 | Matrix2d mat; 8 | mat << 1, 2, 9 | 3, 4; 10 | Vector2d u(-1,1), v(2,0); 11 | std::cout << "Here is mat*mat:\n" << mat*mat << std::endl; 12 | std::cout << "Here is mat*u:\n" << mat*u << std::endl; 13 | std::cout << "Here is u^T*mat:\n" << u.transpose()*mat << std::endl; 14 | std::cout << "Here is u^T*v:\n" << u.transpose()*v << std::endl; 15 | std::cout << "Here is u*v^T:\n" << u*v.transpose() << std::endl; 16 | std::cout << "Let's multiply mat by itself" << std::endl; 17 | mat = mat*mat; 18 | std::cout << "Now mat is mat:\n" << mat << std::endl; 19 | } 20 | -------------------------------------------------------------------------------- /gtsam/base/debug.cpp: -------------------------------------------------------------------------------- 1 | /* ---------------------------------------------------------------------------- 2 | 3 | * GTSAM Copyright 2010, Georgia Tech Research Corporation, 4 | * Atlanta, Georgia 30332-0415 5 | * All Rights Reserved 6 | * Authors: Frank Dellaert, et al. (see THANKS for the full author list) 7 | 8 | * See LICENSE for the license information 9 | 10 | * -------------------------------------------------------------------------- */ 11 | 12 | /** 13 | * @file debug.cpp 14 | * @brief Global debugging flags 15 | * @author Richard Roberts 16 | * @date Feb 1, 2011 17 | */ 18 | 19 | #include 20 | 21 | namespace gtsam { 22 | 23 | FastMap > debugFlags; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/cmake/FindScotch.cmake: -------------------------------------------------------------------------------- 1 | # Pastix requires SCOTCH or METIS (partitioning and reordering tools) 2 | 3 | if (SCOTCH_INCLUDES AND SCOTCH_LIBRARIES) 4 | set(SCOTCH_FIND_QUIETLY TRUE) 5 | endif (SCOTCH_INCLUDES AND SCOTCH_LIBRARIES) 6 | 7 | find_path(SCOTCH_INCLUDES 8 | NAMES 9 | scotch.h 10 | PATHS 11 | $ENV{SCOTCHDIR} 12 | ${INCLUDE_INSTALL_DIR} 13 | PATH_SUFFIXES 14 | scotch 15 | ) 16 | 17 | 18 | find_library(SCOTCH_LIBRARIES scotch PATHS $ENV{SCOTCHDIR} ${LIB_INSTALL_DIR}) 19 | 20 | include(FindPackageHandleStandardArgs) 21 | find_package_handle_standard_args(SCOTCH DEFAULT_MSG 22 | SCOTCH_INCLUDES SCOTCH_LIBRARIES) 23 | 24 | mark_as_advanced(SCOTCH_INCLUDES SCOTCH_LIBRARIES) 25 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | file(GLOB examples_SRCS "*.cpp") 2 | 3 | add_custom_target(all_examples) 4 | 5 | foreach(example_src ${examples_SRCS}) 6 | get_filename_component(example ${example_src} NAME_WE) 7 | add_executable(${example} ${example_src}) 8 | if(EIGEN_STANDARD_LIBRARIES_TO_LINK_TO) 9 | target_link_libraries(${example} ${EIGEN_STANDARD_LIBRARIES_TO_LINK_TO}) 10 | endif() 11 | get_target_property(example_executable 12 | ${example} LOCATION) 13 | add_custom_command( 14 | TARGET ${example} 15 | POST_BUILD 16 | COMMAND ${example_executable} 17 | ARGS >${CMAKE_CURRENT_BINARY_DIR}/${example}.out 18 | ) 19 | add_dependencies(all_examples ${example}) 20 | endforeach(example_src) 21 | -------------------------------------------------------------------------------- /gtsam/discrete/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Install headers 2 | set(subdir discrete) 3 | file(GLOB discrete_headers "*.h") 4 | # FIXME: exclude headers 5 | install(FILES ${discrete_headers} DESTINATION include/gtsam/discrete) 6 | 7 | # Set up library dependencies 8 | set (discrete_local_libs 9 | discrete 10 | inference 11 | base 12 | ccolamd 13 | ) 14 | 15 | # Exclude tests that don't work 16 | set (discrete_excluded_tests "") 17 | 18 | # Add all tests 19 | if (GTSAM_BUILD_TESTS) 20 | gtsam_add_subdir_tests(discrete "${discrete_local_libs}" "gtsam-static" "${discrete_excluded_tests}") 21 | endif() 22 | 23 | # Build timing scripts 24 | #if (GTSAM_BUILD_TIMING) 25 | # gtsam_add_timing(discrete "${discrete_local_libs}") 26 | #endif(GTSAM_BUILD_TIMING) 27 | 28 | -------------------------------------------------------------------------------- /gtsam_unstable/geometry/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Install headers 2 | file(GLOB geometry_headers "*.h") 3 | install(FILES ${geometry_headers} DESTINATION include/gtsam_unstable/geometry) 4 | 5 | # Components to link tests in this subfolder against 6 | set(geometry_local_libs 7 | #geometry_unstable # No sources currently, so no convenience lib 8 | geometry 9 | base 10 | ccolamd 11 | ) 12 | 13 | set (geometry_full_libs 14 | gtsam-static 15 | gtsam_unstable-static) 16 | 17 | # Exclude tests that don't work 18 | set (geometry_excluded_tests "") 19 | 20 | # Add all tests 21 | gtsam_add_subdir_tests(geometry_unstable "${geometry_local_libs}" "${geometry_full_libs}" "${geometry_excluded_tests}") 22 | add_dependencies(check.unstable check.geometry_unstable) 23 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/Tutorial_ArrayClass_interop_matrix.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main() 8 | { 9 | MatrixXf m(2,2); 10 | MatrixXf n(2,2); 11 | MatrixXf result(2,2); 12 | 13 | m << 1,2, 14 | 3,4; 15 | n << 5,6, 16 | 7,8; 17 | 18 | result = m * n; 19 | cout << "-- Matrix m*n: --" << endl << result << endl << endl; 20 | result = m.array() * n.array(); 21 | cout << "-- Array m*n: --" << endl << result << endl << endl; 22 | result = m.cwiseProduct(n); 23 | cout << "-- With cwiseProduct: --" << endl << result << endl << endl; 24 | result = m.array() + 4; 25 | cout << "-- Array m + 4: --" << endl << result << endl << endl; 26 | } 27 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/doc/examples/TutorialLinAlgComputeTwice.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | using namespace Eigen; 6 | 7 | int main() 8 | { 9 | Matrix2f A, b; 10 | LLT llt; 11 | A << 2, -1, -1, 3; 12 | b << 1, 2, 3, 1; 13 | cout << "Here is the matrix A:\n" << A << endl; 14 | cout << "Here is the right hand side b:\n" << b << endl; 15 | cout << "Computing LLT decomposition..." << endl; 16 | llt.compute(A); 17 | cout << "The solution is:\n" << llt.solve(b) << endl; 18 | A(1,1)++; 19 | cout << "The matrix A is now:\n" << A << endl; 20 | cout << "Computing LLT decomposition..." << endl; 21 | llt.compute(A); 22 | cout << "The solution is now:\n" << llt.solve(b) << endl; 23 | } 24 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/doc/examples/PolynomialUtils1.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace Eigen; 5 | using namespace std; 6 | 7 | int main() 8 | { 9 | Vector4d roots = Vector4d::Random(); 10 | cout << "Roots: " << roots.transpose() << endl; 11 | Eigen::Matrix polynomial; 12 | roots_to_monicPolynomial( roots, polynomial ); 13 | cout << "Polynomial: "; 14 | for( int i=0; i<4; ++i ){ cout << polynomial[i] << ".x^" << i << "+ "; } 15 | cout << polynomial[4] << ".x^4" << endl; 16 | Vector4d evaluation; 17 | for( int i=0; i<4; ++i ){ 18 | evaluation[i] = poly_eval( polynomial, roots[i] ); } 19 | cout << "Evaluation of the polynomial at the roots: " << evaluation.transpose(); 20 | } 21 | -------------------------------------------------------------------------------- /CppUnitLite/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Build/install CppUnitLite 2 | 3 | file(GLOB cppunitlite_headers "*.h") 4 | file(GLOB cppunitlite_src "*.cpp") 5 | 6 | add_library(CppUnitLite STATIC ${cppunitlite_src} ${cppunitlite_headers}) 7 | list(APPEND GTSAM_EXPORTED_TARGETS CppUnitLite) 8 | set(GTSAM_EXPORTED_TARGETS "${GTSAM_EXPORTED_TARGETS}" PARENT_SCOPE) 9 | 10 | gtsam_assign_source_folders("${cppunitlite_headers};${cppunitlite_src}") # MSVC project structure 11 | 12 | option(GTSAM_INSTALL_CPPUNITLITE "Enable/Disable installation of CppUnitLite library" ON) 13 | if (GTSAM_INSTALL_CPPUNITLITE) 14 | install(FILES ${cppunitlite_headers} DESTINATION include/CppUnitLite) 15 | install(TARGETS CppUnitLite EXPORT GTSAM-exports ARCHIVE DESTINATION lib) 16 | endif(GTSAM_INSTALL_CPPUNITLITE) 17 | -------------------------------------------------------------------------------- /gtsam/3rdparty/Eigen/unsupported/doc/Overview.dox: -------------------------------------------------------------------------------- 1 | namespace Eigen { 2 | 3 | /** \mainpage Eigen's unsupported modules 4 | 5 | This is the API documentation for Eigen's unsupported modules. 6 | 7 | These modules are contributions from various users. They are provided "as is", without any support. 8 | 9 | Click on the \e Modules tab at the top of this page to get a list of all unsupported modules. 10 | 11 | Don't miss the official Eigen documentation. 12 | 13 | 14 | \defgroup Unsupported_modules Unsupported modules 15 | 16 | The unsupported modules are contributions from various users. They are 17 | provided "as is", without any support. Nevertheless, some of them are 18 | subject to be included in Eigen in the future. 19 | 20 | */ 21 | 22 | } 23 | -------------------------------------------------------------------------------- /gtsam_unstable/dynamics/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Install headers 2 | file(GLOB dynamics_headers "*.h") 3 | install(FILES ${dynamics_headers} DESTINATION include/gtsam_unstable/dynamics) 4 | 5 | # Components to link tests in this subfolder against 6 | set(dynamics_local_libs 7 | dynamics_unstable 8 | slam 9 | nonlinear 10 | linear 11 | inference 12 | geometry 13 | base 14 | ccolamd 15 | ) 16 | 17 | set (dynamics_full_libs 18 | gtsam-static 19 | gtsam_unstable-static) 20 | 21 | # Exclude tests that don't work 22 | set (dynamics_excluded_tests "") 23 | 24 | # Add all tests 25 | gtsam_add_subdir_tests(dynamics_unstable "${dynamics_local_libs}" "${dynamics_full_libs}" "${dynamics_excluded_tests}") 26 | add_dependencies(check.unstable check.dynamics_unstable) 27 | --------------------------------------------------------------------------------