The response has been limited to 50k tokens of the smallest files in the repo. You can remove this limitation by removing the max tokens filter.
├── .clang-format
├── .github
    ├── ISSUE_TEMPLATE
    │   ├── bug-report.md
    │   ├── feature-request.md
    │   └── questions-help-support.md
    ├── scripts
    │   ├── python.sh
    │   ├── python_wheels
    │   │   ├── build_wheels.sh
    │   │   ├── cibw_before_all.sh
    │   │   └── cleanup_gtsam_develop.sh
    │   └── unix.sh
    └── workflows
    │   ├── build-cibw.yml
    │   ├── build-linux.yml
    │   ├── build-macos.yml
    │   ├── build-python.yml
    │   ├── build-special.yml
    │   ├── build-windows.yml
    │   ├── deploy.yml
    │   ├── prod-cibw.yml
    │   ├── trigger-packaging.yml
    │   ├── trigger-python.yml
    │   └── vcpkg.yml
├── .gitignore
├── .project
├── .settings
    ├── .gitignore
    └── org.eclipse.cdt.core.prefs
├── CMakeLists.txt
├── CppUnitLite
    ├── CMakeLists.txt
    ├── Failure.h
    ├── Test.cpp
    ├── Test.h
    ├── TestHarness.h
    ├── TestRegistry.cpp
    ├── TestRegistry.h
    ├── TestResult.cpp
    └── TestResult.h
├── DEVELOP.md
├── GTSAM-Concepts.md
├── INSTALL.md
├── LICENSE
├── LICENSE.BSD
├── README.md
├── THANKS.md
├── USAGE.md
├── Using-GTSAM-EXPORT.md
├── cmake
    ├── CMakeLists.txt
    ├── Config.cmake.in
    ├── FindGooglePerfTools.cmake
    ├── FindMKL.cmake
    ├── FindNumPy.cmake
    ├── GTSAMCMakeToolsConfig.cmake
    ├── GtsamAddPch.cmake
    ├── GtsamBuildTypes.cmake
    ├── GtsamMakeConfigFile.cmake
    ├── GtsamPrinting.cmake
    ├── GtsamTesting.cmake
    ├── HandleAllocators.cmake
    ├── HandleBoost.cmake
    ├── HandleCCache.cmake
    ├── HandleCPack.cmake
    ├── HandleCephes.cmake
    ├── HandleEigen.cmake
    ├── HandleFinalChecks.cmake
    ├── HandleGeneralOptions.cmake
    ├── HandleGlobalBuildFlags.cmake
    ├── HandleMKL.cmake
    ├── HandleMetis.cmake
    ├── HandleOpenMP.cmake
    ├── HandlePerfTools.cmake
    ├── HandlePrintConfiguration.cmake
    ├── HandlePython.cmake
    ├── HandleTBB.cmake
    ├── HandleUninstall.cmake
    ├── README.html
    ├── README.md
    ├── cmake_uninstall.cmake.in
    ├── dllexport.h.in
    ├── example_cmake_find_gtsam
    │   ├── CMakeLists.txt
    │   └── main.cpp
    └── obsolete
    │   ├── FindCppUnitLite.cmake
    │   ├── FindWrap.cmake
    │   └── GtsamTestingObsolete.cmake
├── containers
    ├── Containerfile
    ├── README.md
    ├── compose.yaml
    ├── gtsam-vnc
    │   ├── Containerfile
    │   ├── bootstrap.sh
    │   ├── compose.yaml
    │   └── hub_push.sh
    └── hub_push.sh
├── doc
    ├── .gitignore
    ├── CMakeLists.txt
    ├── Code
    │   ├── LocalizationExample2.cpp
    │   ├── LocalizationFactor.cpp
    │   ├── LocalizationOutput5.txt
    │   ├── OdometryExample.cpp
    │   ├── OdometryMarginals.cpp
    │   ├── OdometryOptimize.cpp
    │   ├── OdometryOutput1.txt
    │   ├── OdometryOutput2.txt
    │   ├── OdometryOutput3.txt
    │   ├── PlanarSLAMExample.m
    │   ├── PlanarSLAMExample.txt
    │   ├── Pose2SLAMExample-graph.m
    │   ├── Pose2SLAMExample.cpp
    │   ├── Pose2SLAMExample.m
    │   ├── Pose3SLAMExample-graph.m
    │   ├── SFMExample.m
    │   ├── VisualISAMExample.cpp
    │   ├── calls.txt
    │   ├── print.txt
    │   └── whos.txt
    ├── CodingGuidelines.docx
    ├── CodingGuidelines.lyx
    ├── Doxyfile.in
    ├── DoxygenLayout.xml
    ├── Hybrid.lyx
    ├── Hybrid.pdf
    ├── ImuFactor.lyx
    ├── ImuFactor.pdf
    ├── LieGroups.lyx
    ├── LieGroups.pdf
    ├── Mathematica
    │   ├── CalibratedCamera.nb
    │   ├── CalibratedStereoCamera.nb
    │   ├── Quaternion-Logmap.nb
    │   ├── Rot3.nb
    │   ├── StereoCamera.nb
    │   └── dexpInvL_SE2.nb
    ├── PreintegratedIMUJacobians.pdf
    ├── cholesky.lyx
    ├── common_macros.tex
    ├── examples.md
    ├── expressions.md
    ├── generating
    │   └── gpt_generate.py
    ├── gtsam-coordinate-frames.lyx
    ├── gtsam-coordinate-frames.pdf
    ├── gtsam.bib
    ├── gtsam.lyx
    ├── gtsam.pdf
    ├── images
    │   ├── Beijing.pdf
    │   ├── FactorGraph.pdf
    │   ├── FactorGraph2.pdf
    │   ├── FactorGraph3.pdf
    │   ├── FactorGraph4.pdf
    │   ├── Localization.pdf
    │   ├── Odometry.pdf
    │   ├── Victoria.pdf
    │   ├── circular.pdf
    │   ├── circular.png
    │   ├── cube.pdf
    │   ├── example1.pdf
    │   ├── example2.pdf
    │   ├── gtsam-structure.graffle
    │   ├── gtsam-structure.pdf
    │   ├── hmm-FG.pdf
    │   ├── hmm.pdf
    │   ├── littleRobot.pdf
    │   ├── n-steps.pdf
    │   ├── n-steps.png
    │   ├── sphere2500-result.pdf
    │   └── w100-result.pdf
    ├── macros.lyx
    ├── math.lyx
    ├── math.pdf
    ├── refs.bib
    ├── robust.pdf
    ├── stats.html
    ├── trustregion.bib
    ├── trustregion.lyx
    ├── trustregion.pdf
    └── user_guide.md
├── examples
    ├── ABC.h
    ├── ABC_EQF.h
    ├── ABC_EQF_Demo.cpp
    ├── CMakeLists.txt
    ├── CameraResectioning.cpp
    ├── City10000.h
    ├── CombinedImuFactorsExample.cpp
    ├── CreateSFMExampleData.cpp
    ├── Data
    │   ├── .gitignore
    │   ├── 18pointExample1.txt
    │   ├── 5pointExample1.txt
    │   ├── 5pointExample2.txt
    │   ├── Balbianello.out
    │   ├── Balbianello
    │   │   ├── BalbianelloMedium-1.jpg
    │   │   ├── BalbianelloMedium-1.key.gz
    │   │   ├── BalbianelloMedium-2.jpg
    │   │   ├── BalbianelloMedium-2.key.gz
    │   │   ├── BalbianelloMedium-3.jpg
    │   │   ├── BalbianelloMedium-3.key.gz
    │   │   ├── BalbianelloMedium-4.jpg
    │   │   ├── BalbianelloMedium-4.key.gz
    │   │   ├── BalbianelloMedium-5.jpg
    │   │   └── BalbianelloMedium-5.key.gz
    │   ├── EqFdata.csv
    │   ├── HS21.QPS
    │   ├── HS268.QPS
    │   ├── HS35.QPS
    │   ├── HS35MOD.QPS
    │   ├── HS51.QPS
    │   ├── HS52.QPS
    │   ├── ISAM2_GT_city10000.txt
    │   ├── ISAM2_SmartFactorStereo_IMU.txt
    │   ├── KittiEquivBiasedImu.txt
    │   ├── KittiEquivBiasedImu_metadata.txt
    │   ├── KittiGps_converted.txt
    │   ├── Klaus3.g2o
    │   ├── Plaza1_.mat
    │   ├── Plaza1_DR.txt
    │   ├── Plaza1_TD.txt
    │   ├── Plaza2_.mat
    │   ├── Plaza2_DR.txt
    │   ├── Plaza2_TD.txt
    │   ├── QPExample.QPS
    │   ├── QPTEST.QPS
    │   ├── T1_city10000_04.txt
    │   ├── VO_calibration.txt
    │   ├── VO_calibration00.txt
    │   ├── VO_calibration00s.txt
    │   ├── VO_camera_poses00.txt
    │   ├── VO_camera_poses00s.txt
    │   ├── VO_camera_poses_large.txt
    │   ├── VO_stereo_factors00.txt
    │   ├── VO_stereo_factors00s.txt
    │   ├── VO_stereo_factors_large.txt
    │   ├── dubrovnik-1-1-pre.txt
    │   ├── dubrovnik-3-7-18-pre.txt
    │   ├── dubrovnik-3-7-pre.txt
    │   ├── example.graph
    │   ├── example_with_vertices.g2o
    │   ├── imuAndGPSdata.csv
    │   ├── issue1452.txt
    │   ├── noisyToyGraph.txt
    │   ├── optimizedNoisyToyGraph.txt
    │   ├── orientationsNoisyToyGraph.txt
    │   ├── pose2example.txt
    │   ├── pose3Localizationexample.txt
    │   ├── pose3example-grid.txt
    │   ├── pose3example-offdiagonal-rewritten.txt
    │   ├── pose3example-offdiagonal.txt
    │   ├── pose3example.txt
    │   ├── quadraped_imu_data.csv
    │   ├── randomGrid3D.xml
    │   ├── simpleGraph10gradIter.txt
    │   ├── sphere2500.txt
    │   ├── sphere2500_groundtruth.txt
    │   ├── sphere_smallnoise.graph
    │   ├── toy3D.xml
    │   ├── toyExample.g2o
    │   ├── victoria_park.txt
    │   ├── w100.graph
    │   ├── w10000.graph
    │   └── w20000.txt
    ├── DiscreteBayesNetExample.cpp
    ├── DiscreteBayesNet_FG.cpp
    ├── EssentialViewGraphExample.cpp
    ├── FisheyeExample.cpp
    ├── FixedLagSmootherExample.cpp
    ├── GEKF_Rot3Example.cpp
    ├── GNCExample.cpp
    ├── HMMExample.cpp
    ├── Hybrid_City10000.cpp
    ├── IEKF_NavstateExample.cpp
    ├── IEKF_SE2Example.cpp
    ├── IMUKittiExampleGPS.cpp
    ├── ISAM2Example_SmartFactor.cpp
    ├── ISAM2_City10000.cpp
    ├── ImuFactorsExample.cpp
    ├── ImuFactorsExample2.cpp
    ├── IncrementalFixedLagSmootherExample.cpp
    ├── InverseKinematicsExampleExpressions.cpp
    ├── LocalizationExample.cpp
    ├── METISOrderingExample.cpp
    ├── OdometryExample.cpp
    ├── PlanarSLAMExample.cpp
    ├── Pose2SLAMExample.cpp
    ├── Pose2SLAMExampleExpressions.cpp
    ├── Pose2SLAMExample_g2o.cpp
    ├── Pose2SLAMExample_graph.cpp
    ├── Pose2SLAMExample_graphviz.cpp
    ├── Pose2SLAMExample_lago.cpp
    ├── Pose2SLAMStressTest.cpp
    ├── Pose2SLAMwSPCG.cpp
    ├── Pose3Localization.cpp
    ├── Pose3SLAMExampleExpressions_BearingRangeWithTransform.cpp
    ├── Pose3SLAMExample_changeKeys.cpp
    ├── Pose3SLAMExample_g2o.cpp
    ├── Pose3SLAMExample_initializePose3Chordal.cpp
    ├── Pose3SLAMExample_initializePose3Gradient.cpp
    ├── README.md
    ├── RangeISAMExample_plaza2.cpp
    ├── SFMExample.cpp
    ├── SFMExampleExpressions.cpp
    ├── SFMExampleExpressions_bal.cpp
    ├── SFMExample_SmartFactor.cpp
    ├── SFMExample_SmartFactorPCG.cpp
    ├── SFMExample_bal.cpp
    ├── SFMExample_bal_COLAMD_METIS.cpp
    ├── SFMdata.h
    ├── SelfCalibrationExample.cpp
    ├── ShonanAveragingCLI.cpp
    ├── SimpleRotation.cpp
    ├── SolverComparer.cpp
    ├── StereoVOExample.cpp
    ├── StereoVOExample_large.cpp
    ├── TimeTBB.cpp
    ├── TriangulationLOSTExample.cpp
    ├── UGM_chain.cpp
    ├── UGM_small.cpp
    ├── ViewGraphExample.cpp
    ├── VisualISAM2Example.cpp
    ├── VisualISAMExample.cpp
    ├── easyPoint2KalmanFilter.cpp
    ├── elaboratePoint2KalmanFilter.cpp
    └── plot_city10000.m
├── gtsam
    ├── 3rdparty
    │   ├── CCOLAMD
    │   │   ├── Demo
    │   │   │   ├── Makefile
    │   │   │   ├── ccolamd_example.c
    │   │   │   ├── ccolamd_example.out
    │   │   │   ├── ccolamd_l_example.c
    │   │   │   └── ccolamd_l_example.out
    │   │   ├── Doc
    │   │   │   ├── ChangeLog
    │   │   │   ├── License.txt
    │   │   │   └── lesser.txt
    │   │   ├── Include
    │   │   │   └── ccolamd.h
    │   │   ├── Lib
    │   │   │   └── Makefile
    │   │   ├── MATLAB
    │   │   │   ├── Contents.m
    │   │   │   ├── ccolamd.m
    │   │   │   ├── ccolamd_demo.m
    │   │   │   ├── ccolamd_install.m
    │   │   │   ├── ccolamd_make.m
    │   │   │   ├── ccolamd_test.m
    │   │   │   ├── ccolamdmex.c
    │   │   │   ├── ccolamdtestmex.c
    │   │   │   ├── ccolamdtestmex.m
    │   │   │   ├── csymamd.m
    │   │   │   ├── csymamdmex.c
    │   │   │   ├── csymamdtestmex.c
    │   │   │   ├── csymamdtestmex.m
    │   │   │   └── luflops.m
    │   │   ├── Makefile
    │   │   ├── README.txt
    │   │   └── Source
    │   │   │   └── ccolamd.c
    │   ├── CMakeLists.txt
    │   ├── Eigen
    │   │   ├── .gitignore
    │   │   ├── .gitlab-ci.yml
    │   │   ├── .gitlab
    │   │   │   ├── issue_templates
    │   │   │   │   ├── Bug Report.md
    │   │   │   │   └── Feature Request.md
    │   │   │   └── merge_request_templates
    │   │   │   │   └── Merge Request Template.md
    │   │   ├── .hgeol
    │   │   ├── CMakeLists.txt
    │   │   ├── COPYING.APACHE
    │   │   ├── COPYING.BSD
    │   │   ├── COPYING.GPL
    │   │   ├── COPYING.LGPL
    │   │   ├── COPYING.MINPACK
    │   │   ├── COPYING.MPL2
    │   │   ├── COPYING.README
    │   │   ├── CTestConfig.cmake
    │   │   ├── CTestCustom.cmake.in
    │   │   ├── Eigen
    │   │   │   ├── Cholesky
    │   │   │   ├── CholmodSupport
    │   │   │   ├── Core
    │   │   │   ├── Dense
    │   │   │   ├── Eigen
    │   │   │   ├── Eigenvalues
    │   │   │   ├── Geometry
    │   │   │   ├── Householder
    │   │   │   ├── IterativeLinearSolvers
    │   │   │   ├── Jacobi
    │   │   │   ├── KLUSupport
    │   │   │   ├── LU
    │   │   │   ├── MetisSupport
    │   │   │   ├── OrderingMethods
    │   │   │   ├── PaStiXSupport
    │   │   │   ├── PardisoSupport
    │   │   │   ├── QR
    │   │   │   ├── QtAlignedMalloc
    │   │   │   ├── SPQRSupport
    │   │   │   ├── SVD
    │   │   │   ├── Sparse
    │   │   │   ├── SparseCholesky
    │   │   │   ├── SparseCore
    │   │   │   ├── SparseLU
    │   │   │   ├── SparseQR
    │   │   │   ├── StdDeque
    │   │   │   ├── StdList
    │   │   │   ├── StdVector
    │   │   │   ├── SuperLUSupport
    │   │   │   ├── UmfPackSupport
    │   │   │   └── src
    │   │   │   │   ├── Cholesky
    │   │   │   │       ├── LDLT.h
    │   │   │   │       ├── LLT.h
    │   │   │   │       └── LLT_LAPACKE.h
    │   │   │   │   ├── CholmodSupport
    │   │   │   │       └── CholmodSupport.h
    │   │   │   │   ├── Core
    │   │   │   │       ├── ArithmeticSequence.h
    │   │   │   │       ├── Array.h
    │   │   │   │       ├── ArrayBase.h
    │   │   │   │       ├── ArrayWrapper.h
    │   │   │   │       ├── Assign.h
    │   │   │   │       ├── AssignEvaluator.h
    │   │   │   │       ├── Assign_MKL.h
    │   │   │   │       ├── BandMatrix.h
    │   │   │   │       ├── Block.h
    │   │   │   │       ├── BooleanRedux.h
    │   │   │   │       ├── CommaInitializer.h
    │   │   │   │       ├── ConditionEstimator.h
    │   │   │   │       ├── CoreEvaluators.h
    │   │   │   │       ├── CoreIterators.h
    │   │   │   │       ├── CwiseBinaryOp.h
    │   │   │   │       ├── CwiseNullaryOp.h
    │   │   │   │       ├── CwiseTernaryOp.h
    │   │   │   │       ├── CwiseUnaryOp.h
    │   │   │   │       ├── CwiseUnaryView.h
    │   │   │   │       ├── DenseBase.h
    │   │   │   │       ├── DenseCoeffsBase.h
    │   │   │   │       ├── DenseStorage.h
    │   │   │   │       ├── Diagonal.h
    │   │   │   │       ├── DiagonalMatrix.h
    │   │   │   │       ├── DiagonalProduct.h
    │   │   │   │       ├── Dot.h
    │   │   │   │       ├── EigenBase.h
    │   │   │   │       ├── ForceAlignedAccess.h
    │   │   │   │       ├── Fuzzy.h
    │   │   │   │       ├── GeneralProduct.h
    │   │   │   │       ├── GenericPacketMath.h
    │   │   │   │       ├── GlobalFunctions.h
    │   │   │   │       ├── IO.h
    │   │   │   │       ├── IndexedView.h
    │   │   │   │       ├── Inverse.h
    │   │   │   │       ├── Map.h
    │   │   │   │       ├── MapBase.h
    │   │   │   │       ├── MathFunctions.h
    │   │   │   │       ├── MathFunctionsImpl.h
    │   │   │   │       ├── Matrix.h
    │   │   │   │       ├── MatrixBase.h
    │   │   │   │       ├── NestByValue.h
    │   │   │   │       ├── NoAlias.h
    │   │   │   │       ├── NumTraits.h
    │   │   │   │       ├── PartialReduxEvaluator.h
    │   │   │   │       ├── PermutationMatrix.h
    │   │   │   │       ├── PlainObjectBase.h
    │   │   │   │       ├── Product.h
    │   │   │   │       ├── ProductEvaluators.h
    │   │   │   │       ├── Random.h
    │   │   │   │       ├── Redux.h
    │   │   │   │       ├── Ref.h
    │   │   │   │       ├── Replicate.h
    │   │   │   │       ├── Reshaped.h
    │   │   │   │       ├── ReturnByValue.h
    │   │   │   │       ├── Reverse.h
    │   │   │   │       ├── Select.h
    │   │   │   │       ├── SelfAdjointView.h
    │   │   │   │       ├── SelfCwiseBinaryOp.h
    │   │   │   │       ├── Solve.h
    │   │   │   │       ├── SolveTriangular.h
    │   │   │   │       ├── SolverBase.h
    │   │   │   │       ├── StableNorm.h
    │   │   │   │       ├── StlIterators.h
    │   │   │   │       ├── Stride.h
    │   │   │   │       ├── Swap.h
    │   │   │   │       ├── Transpose.h
    │   │   │   │       ├── Transpositions.h
    │   │   │   │       ├── TriangularMatrix.h
    │   │   │   │       ├── VectorBlock.h
    │   │   │   │       ├── VectorwiseOp.h
    │   │   │   │       ├── Visitor.h
    │   │   │   │       ├── arch
    │   │   │   │       │   ├── AVX
    │   │   │   │       │   │   ├── Complex.h
    │   │   │   │       │   │   ├── MathFunctions.h
    │   │   │   │       │   │   ├── PacketMath.h
    │   │   │   │       │   │   └── TypeCasting.h
    │   │   │   │       │   ├── AVX512
    │   │   │   │       │   │   ├── Complex.h
    │   │   │   │       │   │   ├── MathFunctions.h
    │   │   │   │       │   │   ├── PacketMath.h
    │   │   │   │       │   │   └── TypeCasting.h
    │   │   │   │       │   ├── AltiVec
    │   │   │   │       │   │   ├── Complex.h
    │   │   │   │       │   │   ├── MathFunctions.h
    │   │   │   │       │   │   ├── MatrixProduct.h
    │   │   │   │       │   │   ├── MatrixProductCommon.h
    │   │   │   │       │   │   ├── MatrixProductMMA.h
    │   │   │   │       │   │   └── PacketMath.h
    │   │   │   │       │   ├── CUDA
    │   │   │   │       │   │   └── Complex.h
    │   │   │   │       │   ├── Default
    │   │   │   │       │   │   ├── BFloat16.h
    │   │   │   │       │   │   ├── ConjHelper.h
    │   │   │   │       │   │   ├── GenericPacketMathFunctions.h
    │   │   │   │       │   │   ├── GenericPacketMathFunctionsFwd.h
    │   │   │   │       │   │   ├── Half.h
    │   │   │   │       │   │   ├── Settings.h
    │   │   │   │       │   │   └── TypeCasting.h
    │   │   │   │       │   ├── GPU
    │   │   │   │       │   │   ├── MathFunctions.h
    │   │   │   │       │   │   ├── PacketMath.h
    │   │   │   │       │   │   └── TypeCasting.h
    │   │   │   │       │   ├── HIP
    │   │   │   │       │   │   └── hcc
    │   │   │   │       │   │   │   └── math_constants.h
    │   │   │   │       │   ├── MSA
    │   │   │   │       │   │   ├── Complex.h
    │   │   │   │       │   │   ├── MathFunctions.h
    │   │   │   │       │   │   └── PacketMath.h
    │   │   │   │       │   ├── NEON
    │   │   │   │       │   │   ├── Complex.h
    │   │   │   │       │   │   ├── GeneralBlockPanelKernel.h
    │   │   │   │       │   │   ├── MathFunctions.h
    │   │   │   │       │   │   ├── PacketMath.h
    │   │   │   │       │   │   └── TypeCasting.h
    │   │   │   │       │   ├── SSE
    │   │   │   │       │   │   ├── Complex.h
    │   │   │   │       │   │   ├── MathFunctions.h
    │   │   │   │       │   │   ├── PacketMath.h
    │   │   │   │       │   │   └── TypeCasting.h
    │   │   │   │       │   ├── SVE
    │   │   │   │       │   │   ├── MathFunctions.h
    │   │   │   │       │   │   ├── PacketMath.h
    │   │   │   │       │   │   └── TypeCasting.h
    │   │   │   │       │   ├── SYCL
    │   │   │   │       │   │   ├── InteropHeaders.h
    │   │   │   │       │   │   ├── MathFunctions.h
    │   │   │   │       │   │   ├── PacketMath.h
    │   │   │   │       │   │   ├── SyclMemoryModel.h
    │   │   │   │       │   │   └── TypeCasting.h
    │   │   │   │       │   └── ZVector
    │   │   │   │       │   │   ├── Complex.h
    │   │   │   │       │   │   ├── MathFunctions.h
    │   │   │   │       │   │   └── PacketMath.h
    │   │   │   │       ├── functors
    │   │   │   │       │   ├── AssignmentFunctors.h
    │   │   │   │       │   ├── BinaryFunctors.h
    │   │   │   │       │   ├── NullaryFunctors.h
    │   │   │   │       │   ├── StlFunctors.h
    │   │   │   │       │   ├── TernaryFunctors.h
    │   │   │   │       │   └── UnaryFunctors.h
    │   │   │   │       ├── products
    │   │   │   │       │   ├── GeneralBlockPanelKernel.h
    │   │   │   │       │   ├── GeneralMatrixMatrix.h
    │   │   │   │       │   ├── GeneralMatrixMatrixTriangular.h
    │   │   │   │       │   ├── GeneralMatrixMatrixTriangular_BLAS.h
    │   │   │   │       │   ├── GeneralMatrixMatrix_BLAS.h
    │   │   │   │       │   ├── GeneralMatrixVector.h
    │   │   │   │       │   ├── GeneralMatrixVector_BLAS.h
    │   │   │   │       │   ├── Parallelizer.h
    │   │   │   │       │   ├── SelfadjointMatrixMatrix.h
    │   │   │   │       │   ├── SelfadjointMatrixMatrix_BLAS.h
    │   │   │   │       │   ├── SelfadjointMatrixVector.h
    │   │   │   │       │   ├── SelfadjointMatrixVector_BLAS.h
    │   │   │   │       │   ├── SelfadjointProduct.h
    │   │   │   │       │   ├── SelfadjointRank2Update.h
    │   │   │   │       │   ├── TriangularMatrixMatrix.h
    │   │   │   │       │   ├── TriangularMatrixMatrix_BLAS.h
    │   │   │   │       │   ├── TriangularMatrixVector.h
    │   │   │   │       │   ├── TriangularMatrixVector_BLAS.h
    │   │   │   │       │   ├── TriangularSolverMatrix.h
    │   │   │   │       │   ├── TriangularSolverMatrix_BLAS.h
    │   │   │   │       │   └── TriangularSolverVector.h
    │   │   │   │       └── util
    │   │   │   │       │   ├── BlasUtil.h
    │   │   │   │       │   ├── ConfigureVectorization.h
    │   │   │   │       │   ├── Constants.h
    │   │   │   │       │   ├── DisableStupidWarnings.h
    │   │   │   │       │   ├── ForwardDeclarations.h
    │   │   │   │       │   ├── IndexedViewHelper.h
    │   │   │   │       │   ├── IntegralConstant.h
    │   │   │   │       │   ├── MKL_support.h
    │   │   │   │       │   ├── Macros.h
    │   │   │   │       │   ├── Memory.h
    │   │   │   │       │   ├── Meta.h
    │   │   │   │       │   ├── NonMPL2.h
    │   │   │   │       │   ├── ReenableStupidWarnings.h
    │   │   │   │       │   ├── ReshapedHelper.h
    │   │   │   │       │   ├── StaticAssert.h
    │   │   │   │       │   ├── SymbolicIndex.h
    │   │   │   │       │   └── XprHelper.h
    │   │   │   │   ├── Eigenvalues
    │   │   │   │       ├── ComplexEigenSolver.h
    │   │   │   │       ├── ComplexSchur.h
    │   │   │   │       ├── ComplexSchur_LAPACKE.h
    │   │   │   │       ├── EigenSolver.h
    │   │   │   │       ├── GeneralizedEigenSolver.h
    │   │   │   │       ├── GeneralizedSelfAdjointEigenSolver.h
    │   │   │   │       ├── HessenbergDecomposition.h
    │   │   │   │       ├── MatrixBaseEigenvalues.h
    │   │   │   │       ├── RealQZ.h
    │   │   │   │       ├── RealSchur.h
    │   │   │   │       ├── RealSchur_LAPACKE.h
    │   │   │   │       ├── SelfAdjointEigenSolver.h
    │   │   │   │       ├── SelfAdjointEigenSolver_LAPACKE.h
    │   │   │   │       └── Tridiagonalization.h
    │   │   │   │   ├── Geometry
    │   │   │   │       ├── AlignedBox.h
    │   │   │   │       ├── AngleAxis.h
    │   │   │   │       ├── EulerAngles.h
    │   │   │   │       ├── Homogeneous.h
    │   │   │   │       ├── Hyperplane.h
    │   │   │   │       ├── OrthoMethods.h
    │   │   │   │       ├── ParametrizedLine.h
    │   │   │   │       ├── Quaternion.h
    │   │   │   │       ├── Rotation2D.h
    │   │   │   │       ├── RotationBase.h
    │   │   │   │       ├── Scaling.h
    │   │   │   │       ├── Transform.h
    │   │   │   │       ├── Translation.h
    │   │   │   │       ├── Umeyama.h
    │   │   │   │       └── arch
    │   │   │   │       │   └── Geometry_SIMD.h
    │   │   │   │   ├── Householder
    │   │   │   │       ├── BlockHouseholder.h
    │   │   │   │       ├── Householder.h
    │   │   │   │       └── HouseholderSequence.h
    │   │   │   │   ├── IterativeLinearSolvers
    │   │   │   │       ├── BasicPreconditioners.h
    │   │   │   │       ├── BiCGSTAB.h
    │   │   │   │       ├── ConjugateGradient.h
    │   │   │   │       ├── IncompleteCholesky.h
    │   │   │   │       ├── IncompleteLUT.h
    │   │   │   │       ├── IterativeSolverBase.h
    │   │   │   │       ├── LeastSquareConjugateGradient.h
    │   │   │   │       └── SolveWithGuess.h
    │   │   │   │   ├── Jacobi
    │   │   │   │       └── Jacobi.h
    │   │   │   │   ├── KLUSupport
    │   │   │   │       └── KLUSupport.h
    │   │   │   │   ├── LU
    │   │   │   │       ├── Determinant.h
    │   │   │   │       ├── FullPivLU.h
    │   │   │   │       ├── InverseImpl.h
    │   │   │   │       ├── PartialPivLU.h
    │   │   │   │       ├── PartialPivLU_LAPACKE.h
    │   │   │   │       └── arch
    │   │   │   │       │   └── InverseSize4.h
    │   │   │   │   ├── MetisSupport
    │   │   │   │       └── MetisSupport.h
    │   │   │   │   ├── OrderingMethods
    │   │   │   │       ├── Amd.h
    │   │   │   │       ├── Eigen_Colamd.h
    │   │   │   │       └── Ordering.h
    │   │   │   │   ├── PaStiXSupport
    │   │   │   │       └── PaStiXSupport.h
    │   │   │   │   ├── PardisoSupport
    │   │   │   │       └── PardisoSupport.h
    │   │   │   │   ├── QR
    │   │   │   │       ├── ColPivHouseholderQR.h
    │   │   │   │       ├── ColPivHouseholderQR_LAPACKE.h
    │   │   │   │       ├── CompleteOrthogonalDecomposition.h
    │   │   │   │       ├── FullPivHouseholderQR.h
    │   │   │   │       ├── HouseholderQR.h
    │   │   │   │       └── HouseholderQR_LAPACKE.h
    │   │   │   │   ├── SPQRSupport
    │   │   │   │       └── SuiteSparseQRSupport.h
    │   │   │   │   ├── SVD
    │   │   │   │       ├── BDCSVD.h
    │   │   │   │       ├── JacobiSVD.h
    │   │   │   │       ├── JacobiSVD_LAPACKE.h
    │   │   │   │       ├── SVDBase.h
    │   │   │   │       └── UpperBidiagonalization.h
    │   │   │   │   ├── SparseCholesky
    │   │   │   │       ├── SimplicialCholesky.h
    │   │   │   │       └── SimplicialCholesky_impl.h
    │   │   │   │   ├── SparseCore
    │   │   │   │       ├── AmbiVector.h
    │   │   │   │       ├── CompressedStorage.h
    │   │   │   │       ├── ConservativeSparseSparseProduct.h
    │   │   │   │       ├── MappedSparseMatrix.h
    │   │   │   │       ├── SparseAssign.h
    │   │   │   │       ├── SparseBlock.h
    │   │   │   │       ├── SparseColEtree.h
    │   │   │   │       ├── SparseCompressedBase.h
    │   │   │   │       ├── SparseCwiseBinaryOp.h
    │   │   │   │       ├── SparseCwiseUnaryOp.h
    │   │   │   │       ├── SparseDenseProduct.h
    │   │   │   │       ├── SparseDiagonalProduct.h
    │   │   │   │       ├── SparseDot.h
    │   │   │   │       ├── SparseFuzzy.h
    │   │   │   │       ├── SparseMap.h
    │   │   │   │       ├── SparseMatrix.h
    │   │   │   │       ├── SparseMatrixBase.h
    │   │   │   │       ├── SparsePermutation.h
    │   │   │   │       ├── SparseProduct.h
    │   │   │   │       ├── SparseRedux.h
    │   │   │   │       ├── SparseRef.h
    │   │   │   │       ├── SparseSelfAdjointView.h
    │   │   │   │       ├── SparseSolverBase.h
    │   │   │   │       ├── SparseSparseProductWithPruning.h
    │   │   │   │       ├── SparseTranspose.h
    │   │   │   │       ├── SparseTriangularView.h
    │   │   │   │       ├── SparseUtil.h
    │   │   │   │       ├── SparseVector.h
    │   │   │   │       ├── SparseView.h
    │   │   │   │       └── TriangularSolver.h
    │   │   │   │   ├── SparseLU
    │   │   │   │       ├── SparseLU.h
    │   │   │   │       ├── SparseLUImpl.h
    │   │   │   │       ├── SparseLU_Memory.h
    │   │   │   │       ├── SparseLU_Structs.h
    │   │   │   │       ├── SparseLU_SupernodalMatrix.h
    │   │   │   │       ├── SparseLU_Utils.h
    │   │   │   │       ├── SparseLU_column_bmod.h
    │   │   │   │       ├── SparseLU_column_dfs.h
    │   │   │   │       ├── SparseLU_copy_to_ucol.h
    │   │   │   │       ├── SparseLU_gemm_kernel.h
    │   │   │   │       ├── SparseLU_heap_relax_snode.h
    │   │   │   │       ├── SparseLU_kernel_bmod.h
    │   │   │   │       ├── SparseLU_panel_bmod.h
    │   │   │   │       ├── SparseLU_panel_dfs.h
    │   │   │   │       ├── SparseLU_pivotL.h
    │   │   │   │       ├── SparseLU_pruneL.h
    │   │   │   │       └── SparseLU_relax_snode.h
    │   │   │   │   ├── SparseQR
    │   │   │   │       └── SparseQR.h
    │   │   │   │   ├── StlSupport
    │   │   │   │       ├── StdDeque.h
    │   │   │   │       ├── StdList.h
    │   │   │   │       ├── StdVector.h
    │   │   │   │       └── details.h
    │   │   │   │   ├── SuperLUSupport
    │   │   │   │       └── SuperLUSupport.h
    │   │   │   │   ├── UmfPackSupport
    │   │   │   │       └── UmfPackSupport.h
    │   │   │   │   ├── misc
    │   │   │   │       ├── Image.h
    │   │   │   │       ├── Kernel.h
    │   │   │   │       ├── RealSvd2x2.h
    │   │   │   │       ├── blas.h
    │   │   │   │       ├── lapack.h
    │   │   │   │       ├── lapacke.h
    │   │   │   │       └── lapacke_mangling.h
    │   │   │   │   └── plugins
    │   │   │   │       ├── ArrayCwiseBinaryOps.h
    │   │   │   │       ├── ArrayCwiseUnaryOps.h
    │   │   │   │       ├── BlockMethods.h
    │   │   │   │       ├── CommonCwiseBinaryOps.h
    │   │   │   │       ├── CommonCwiseUnaryOps.h
    │   │   │   │       ├── IndexedViewMethods.h
    │   │   │   │       ├── MatrixCwiseBinaryOps.h
    │   │   │   │       ├── MatrixCwiseUnaryOps.h
    │   │   │   │       └── ReshapedMethods.h
    │   │   ├── INSTALL
    │   │   ├── README.md
    │   │   ├── bench
    │   │   │   ├── BenchSparseUtil.h
    │   │   │   ├── BenchTimer.h
    │   │   │   ├── BenchUtil.h
    │   │   │   ├── README.txt
    │   │   │   ├── analyze-blocking-sizes.cpp
    │   │   │   ├── basicbench.cxxlist
    │   │   │   ├── basicbenchmark.cpp
    │   │   │   ├── basicbenchmark.h
    │   │   │   ├── benchBlasGemm.cpp
    │   │   │   ├── benchCholesky.cpp
    │   │   │   ├── benchEigenSolver.cpp
    │   │   │   ├── benchFFT.cpp
    │   │   │   ├── benchGeometry.cpp
    │   │   │   ├── benchVecAdd.cpp
    │   │   │   ├── bench_gemm.cpp
    │   │   │   ├── bench_move_semantics.cpp
    │   │   │   ├── bench_multi_compilers.sh
    │   │   │   ├── bench_norm.cpp
    │   │   │   ├── bench_reverse.cpp
    │   │   │   ├── bench_sum.cpp
    │   │   │   ├── bench_unrolling
    │   │   │   ├── benchmark-blocking-sizes.cpp
    │   │   │   ├── benchmark.cpp
    │   │   │   ├── benchmarkSlice.cpp
    │   │   │   ├── benchmarkX.cpp
    │   │   │   ├── benchmarkXcwise.cpp
    │   │   │   ├── benchmark_suite
    │   │   │   ├── btl
    │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   ├── COPYING
    │   │   │   │   ├── README
    │   │   │   │   ├── actions
    │   │   │   │   │   ├── action_aat_product.hh
    │   │   │   │   │   ├── action_ata_product.hh
    │   │   │   │   │   ├── action_atv_product.hh
    │   │   │   │   │   ├── action_axpby.hh
    │   │   │   │   │   ├── action_axpy.hh
    │   │   │   │   │   ├── action_cholesky.hh
    │   │   │   │   │   ├── action_ger.hh
    │   │   │   │   │   ├── action_hessenberg.hh
    │   │   │   │   │   ├── action_lu_decomp.hh
    │   │   │   │   │   ├── action_lu_solve.hh
    │   │   │   │   │   ├── action_matrix_matrix_product.hh
    │   │   │   │   │   ├── action_matrix_matrix_product_bis.hh
    │   │   │   │   │   ├── action_matrix_vector_product.hh
    │   │   │   │   │   ├── action_partial_lu.hh
    │   │   │   │   │   ├── action_rot.hh
    │   │   │   │   │   ├── action_symv.hh
    │   │   │   │   │   ├── action_syr2.hh
    │   │   │   │   │   ├── action_trisolve.hh
    │   │   │   │   │   ├── action_trisolve_matrix.hh
    │   │   │   │   │   ├── action_trmm.hh
    │   │   │   │   │   └── basic_actions.hh
    │   │   │   │   ├── cmake
    │   │   │   │   │   ├── FindACML.cmake
    │   │   │   │   │   ├── FindATLAS.cmake
    │   │   │   │   │   ├── FindBLAZE.cmake
    │   │   │   │   │   ├── FindBlitz.cmake
    │   │   │   │   │   ├── FindCBLAS.cmake
    │   │   │   │   │   ├── FindGMM.cmake
    │   │   │   │   │   ├── FindMKL.cmake
    │   │   │   │   │   ├── FindMTL4.cmake
    │   │   │   │   │   ├── FindOPENBLAS.cmake
    │   │   │   │   │   ├── FindPackageHandleStandardArgs.cmake
    │   │   │   │   │   ├── FindTvmet.cmake
    │   │   │   │   │   └── MacroOptionalAddSubdirectory.cmake
    │   │   │   │   ├── data
    │   │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   │   ├── action_settings.txt
    │   │   │   │   │   ├── gnuplot_common_settings.hh
    │   │   │   │   │   ├── go_mean
    │   │   │   │   │   ├── mean.cxx
    │   │   │   │   │   ├── mk_gnuplot_script.sh
    │   │   │   │   │   ├── mk_mean_script.sh
    │   │   │   │   │   ├── mk_new_gnuplot.sh
    │   │   │   │   │   ├── perlib_plot_settings.txt
    │   │   │   │   │   ├── regularize.cxx
    │   │   │   │   │   ├── smooth.cxx
    │   │   │   │   │   └── smooth_all.sh
    │   │   │   │   ├── generic_bench
    │   │   │   │   │   ├── bench.hh
    │   │   │   │   │   ├── bench_parameter.hh
    │   │   │   │   │   ├── btl.hh
    │   │   │   │   │   ├── init
    │   │   │   │   │   │   ├── init_function.hh
    │   │   │   │   │   │   ├── init_matrix.hh
    │   │   │   │   │   │   └── init_vector.hh
    │   │   │   │   │   ├── static
    │   │   │   │   │   │   ├── bench_static.hh
    │   │   │   │   │   │   ├── intel_bench_fixed_size.hh
    │   │   │   │   │   │   └── static_size_generator.hh
    │   │   │   │   │   ├── timers
    │   │   │   │   │   │   ├── STL_perf_analyzer.hh
    │   │   │   │   │   │   ├── STL_timer.hh
    │   │   │   │   │   │   ├── mixed_perf_analyzer.hh
    │   │   │   │   │   │   ├── portable_perf_analyzer.hh
    │   │   │   │   │   │   ├── portable_perf_analyzer_old.hh
    │   │   │   │   │   │   ├── portable_timer.hh
    │   │   │   │   │   │   ├── x86_perf_analyzer.hh
    │   │   │   │   │   │   └── x86_timer.hh
    │   │   │   │   │   └── utils
    │   │   │   │   │   │   ├── size_lin_log.hh
    │   │   │   │   │   │   ├── size_log.hh
    │   │   │   │   │   │   ├── utilities.h
    │   │   │   │   │   │   └── xy_file.hh
    │   │   │   │   └── libs
    │   │   │   │   │   ├── BLAS
    │   │   │   │   │       ├── CMakeLists.txt
    │   │   │   │   │       ├── blas.h
    │   │   │   │   │       ├── blas_interface.hh
    │   │   │   │   │       ├── blas_interface_impl.hh
    │   │   │   │   │       ├── c_interface_base.h
    │   │   │   │   │       └── main.cpp
    │   │   │   │   │   ├── STL
    │   │   │   │   │       ├── CMakeLists.txt
    │   │   │   │   │       ├── STL_interface.hh
    │   │   │   │   │       └── main.cpp
    │   │   │   │   │   ├── blaze
    │   │   │   │   │       ├── CMakeLists.txt
    │   │   │   │   │       ├── blaze_interface.hh
    │   │   │   │   │       └── main.cpp
    │   │   │   │   │   ├── blitz
    │   │   │   │   │       ├── CMakeLists.txt
    │   │   │   │   │       ├── blitz_LU_solve_interface.hh
    │   │   │   │   │       ├── blitz_interface.hh
    │   │   │   │   │       ├── btl_blitz.cpp
    │   │   │   │   │       ├── btl_tiny_blitz.cpp
    │   │   │   │   │       └── tiny_blitz_interface.hh
    │   │   │   │   │   ├── eigen2
    │   │   │   │   │       ├── CMakeLists.txt
    │   │   │   │   │       ├── btl_tiny_eigen2.cpp
    │   │   │   │   │       ├── eigen2_interface.hh
    │   │   │   │   │       ├── main_adv.cpp
    │   │   │   │   │       ├── main_linear.cpp
    │   │   │   │   │       ├── main_matmat.cpp
    │   │   │   │   │       └── main_vecmat.cpp
    │   │   │   │   │   ├── eigen3
    │   │   │   │   │       ├── CMakeLists.txt
    │   │   │   │   │       ├── btl_tiny_eigen3.cpp
    │   │   │   │   │       ├── eigen3_interface.hh
    │   │   │   │   │       ├── main_adv.cpp
    │   │   │   │   │       ├── main_linear.cpp
    │   │   │   │   │       ├── main_matmat.cpp
    │   │   │   │   │       └── main_vecmat.cpp
    │   │   │   │   │   ├── gmm
    │   │   │   │   │       ├── CMakeLists.txt
    │   │   │   │   │       ├── gmm_LU_solve_interface.hh
    │   │   │   │   │       ├── gmm_interface.hh
    │   │   │   │   │       └── main.cpp
    │   │   │   │   │   ├── mtl4
    │   │   │   │   │       ├── .kdbgrc.main
    │   │   │   │   │       ├── CMakeLists.txt
    │   │   │   │   │       ├── main.cpp
    │   │   │   │   │       ├── mtl4_LU_solve_interface.hh
    │   │   │   │   │       └── mtl4_interface.hh
    │   │   │   │   │   ├── tensors
    │   │   │   │   │       ├── CMakeLists.txt
    │   │   │   │   │       ├── main_linear.cpp
    │   │   │   │   │       ├── main_matmat.cpp
    │   │   │   │   │       ├── main_vecmat.cpp
    │   │   │   │   │       └── tensor_interface.hh
    │   │   │   │   │   ├── tvmet
    │   │   │   │   │       ├── CMakeLists.txt
    │   │   │   │   │       ├── main.cpp
    │   │   │   │   │       └── tvmet_interface.hh
    │   │   │   │   │   └── ublas
    │   │   │   │   │       ├── CMakeLists.txt
    │   │   │   │   │       ├── main.cpp
    │   │   │   │   │       └── ublas_interface.hh
    │   │   │   ├── check_cache_queries.cpp
    │   │   │   ├── dense_solvers.cpp
    │   │   │   ├── eig33.cpp
    │   │   │   ├── geometry.cpp
    │   │   │   ├── perf_monitoring
    │   │   │   │   ├── changesets.txt
    │   │   │   │   ├── gemm.cpp
    │   │   │   │   ├── gemm_common.h
    │   │   │   │   ├── gemm_settings.txt
    │   │   │   │   ├── gemm_square_settings.txt
    │   │   │   │   ├── gemv.cpp
    │   │   │   │   ├── gemv_common.h
    │   │   │   │   ├── gemv_settings.txt
    │   │   │   │   ├── gemv_square_settings.txt
    │   │   │   │   ├── gemvt.cpp
    │   │   │   │   ├── lazy_gemm.cpp
    │   │   │   │   ├── lazy_gemm_settings.txt
    │   │   │   │   ├── llt.cpp
    │   │   │   │   ├── make_plot.sh
    │   │   │   │   ├── resources
    │   │   │   │   │   ├── chart_footer.html
    │   │   │   │   │   ├── chart_header.html
    │   │   │   │   │   ├── footer.html
    │   │   │   │   │   ├── header.html
    │   │   │   │   │   ├── s1.js
    │   │   │   │   │   └── s2.js
    │   │   │   │   ├── run.sh
    │   │   │   │   ├── runall.sh
    │   │   │   │   ├── trmv_lo.cpp
    │   │   │   │   ├── trmv_lot.cpp
    │   │   │   │   ├── trmv_up.cpp
    │   │   │   │   └── trmv_upt.cpp
    │   │   │   ├── product_threshold.cpp
    │   │   │   ├── quat_slerp.cpp
    │   │   │   ├── quatmul.cpp
    │   │   │   ├── sparse_cholesky.cpp
    │   │   │   ├── sparse_dense_product.cpp
    │   │   │   ├── sparse_lu.cpp
    │   │   │   ├── sparse_product.cpp
    │   │   │   ├── sparse_randomsetter.cpp
    │   │   │   ├── sparse_setter.cpp
    │   │   │   ├── sparse_transpose.cpp
    │   │   │   ├── sparse_trisolver.cpp
    │   │   │   ├── spbench
    │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   ├── sp_solver.cpp
    │   │   │   │   ├── spbench.dtd
    │   │   │   │   ├── spbenchsolver.cpp
    │   │   │   │   ├── spbenchsolver.h
    │   │   │   │   ├── spbenchstyle.h
    │   │   │   │   └── test_sparseLU.cpp
    │   │   │   ├── spmv.cpp
    │   │   │   ├── tensors
    │   │   │   │   ├── README
    │   │   │   │   ├── benchmark.h
    │   │   │   │   ├── benchmark_main.cc
    │   │   │   │   ├── contraction_benchmarks_cpu.cc
    │   │   │   │   ├── eigen_sycl_bench.sh
    │   │   │   │   ├── eigen_sycl_bench_contract.sh
    │   │   │   │   ├── tensor_benchmarks.h
    │   │   │   │   ├── tensor_benchmarks_cpu.cc
    │   │   │   │   ├── tensor_benchmarks_fp16_gpu.cu
    │   │   │   │   ├── tensor_benchmarks_gpu.cu
    │   │   │   │   ├── tensor_benchmarks_sycl.cc
    │   │   │   │   └── tensor_contract_sycl_bench.cc
    │   │   │   └── vdw_new.cpp
    │   │   ├── blas
    │   │   │   ├── BandTriangularSolver.h
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── GeneralRank1Update.h
    │   │   │   ├── PackedSelfadjointProduct.h
    │   │   │   ├── PackedTriangularMatrixVector.h
    │   │   │   ├── PackedTriangularSolverVector.h
    │   │   │   ├── README.txt
    │   │   │   ├── Rank2Update.h
    │   │   │   ├── common.h
    │   │   │   ├── complex_double.cpp
    │   │   │   ├── complex_single.cpp
    │   │   │   ├── double.cpp
    │   │   │   ├── f2c
    │   │   │   │   ├── chbmv.c
    │   │   │   │   ├── chpmv.c
    │   │   │   │   ├── complexdots.c
    │   │   │   │   ├── ctbmv.c
    │   │   │   │   ├── d_cnjg.c
    │   │   │   │   ├── datatypes.h
    │   │   │   │   ├── drotm.c
    │   │   │   │   ├── drotmg.c
    │   │   │   │   ├── dsbmv.c
    │   │   │   │   ├── dspmv.c
    │   │   │   │   ├── dtbmv.c
    │   │   │   │   ├── lsame.c
    │   │   │   │   ├── r_cnjg.c
    │   │   │   │   ├── srotm.c
    │   │   │   │   ├── srotmg.c
    │   │   │   │   ├── ssbmv.c
    │   │   │   │   ├── sspmv.c
    │   │   │   │   ├── stbmv.c
    │   │   │   │   ├── zhbmv.c
    │   │   │   │   ├── zhpmv.c
    │   │   │   │   └── ztbmv.c
    │   │   │   ├── fortran
    │   │   │   │   └── complexdots.f
    │   │   │   ├── level1_cplx_impl.h
    │   │   │   ├── level1_impl.h
    │   │   │   ├── level1_real_impl.h
    │   │   │   ├── level2_cplx_impl.h
    │   │   │   ├── level2_impl.h
    │   │   │   ├── level2_real_impl.h
    │   │   │   ├── level3_impl.h
    │   │   │   ├── single.cpp
    │   │   │   ├── testing
    │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   ├── cblat1.f
    │   │   │   │   ├── cblat2.dat
    │   │   │   │   ├── cblat2.f
    │   │   │   │   ├── cblat3.dat
    │   │   │   │   ├── cblat3.f
    │   │   │   │   ├── dblat1.f
    │   │   │   │   ├── dblat2.dat
    │   │   │   │   ├── dblat2.f
    │   │   │   │   ├── dblat3.dat
    │   │   │   │   ├── dblat3.f
    │   │   │   │   ├── runblastest.sh
    │   │   │   │   ├── sblat1.f
    │   │   │   │   ├── sblat2.dat
    │   │   │   │   ├── sblat2.f
    │   │   │   │   ├── sblat3.dat
    │   │   │   │   ├── sblat3.f
    │   │   │   │   ├── zblat1.f
    │   │   │   │   ├── zblat2.dat
    │   │   │   │   ├── zblat2.f
    │   │   │   │   ├── zblat3.dat
    │   │   │   │   └── zblat3.f
    │   │   │   └── xerbla.cpp
    │   │   ├── ci
    │   │   │   ├── CTest2JUnit.xsl
    │   │   │   ├── README.md
    │   │   │   ├── build.gitlab-ci.yml
    │   │   │   ├── smoketests.gitlab-ci.yml
    │   │   │   └── test.gitlab-ci.yml
    │   │   ├── cmake
    │   │   │   ├── ComputeCppCompilerChecks.cmake
    │   │   │   ├── ComputeCppIRMap.cmake
    │   │   │   ├── Eigen3Config.cmake.in
    │   │   │   ├── Eigen3ConfigLegacy.cmake.in
    │   │   │   ├── EigenConfigureTesting.cmake
    │   │   │   ├── EigenDetermineOSVersion.cmake
    │   │   │   ├── EigenDetermineVSServicePack.cmake
    │   │   │   ├── EigenSmokeTestList.cmake
    │   │   │   ├── EigenTesting.cmake
    │   │   │   ├── EigenUninstall.cmake
    │   │   │   ├── FindAdolc.cmake
    │   │   │   ├── FindBLAS.cmake
    │   │   │   ├── FindBLASEXT.cmake
    │   │   │   ├── FindCholmod.cmake
    │   │   │   ├── FindComputeCpp.cmake
    │   │   │   ├── FindEigen2.cmake
    │   │   │   ├── FindEigen3.cmake
    │   │   │   ├── FindFFTW.cmake
    │   │   │   ├── FindGLEW.cmake
    │   │   │   ├── FindGMP.cmake
    │   │   │   ├── FindGSL.cmake
    │   │   │   ├── FindGoogleHash.cmake
    │   │   │   ├── FindHWLOC.cmake
    │   │   │   ├── FindKLU.cmake
    │   │   │   ├── FindLAPACK.cmake
    │   │   │   ├── FindMPFR.cmake
    │   │   │   ├── FindMPREAL.cmake
    │   │   │   ├── FindMetis.cmake
    │   │   │   ├── FindPTSCOTCH.cmake
    │   │   │   ├── FindPastix.cmake
    │   │   │   ├── FindSPQR.cmake
    │   │   │   ├── FindScotch.cmake
    │   │   │   ├── FindStandardMathLibrary.cmake
    │   │   │   ├── FindSuperLU.cmake
    │   │   │   ├── FindTriSYCL.cmake
    │   │   │   ├── FindUmfpack.cmake
    │   │   │   ├── RegexUtils.cmake
    │   │   │   └── UseEigen3.cmake
    │   │   ├── debug
    │   │   │   ├── gdb
    │   │   │   │   ├── __init__.py
    │   │   │   │   └── printers.py
    │   │   │   └── msvc
    │   │   │   │   ├── eigen.natvis
    │   │   │   │   └── eigen_autoexp_part.dat
    │   │   ├── demos
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── mandelbrot
    │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   ├── README
    │   │   │   │   ├── mandelbrot.cpp
    │   │   │   │   └── mandelbrot.h
    │   │   │   ├── mix_eigen_and_c
    │   │   │   │   ├── README
    │   │   │   │   ├── binary_library.cpp
    │   │   │   │   ├── binary_library.h
    │   │   │   │   └── example.c
    │   │   │   └── opengl
    │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   ├── README
    │   │   │   │   ├── camera.cpp
    │   │   │   │   ├── camera.h
    │   │   │   │   ├── gpuhelper.cpp
    │   │   │   │   ├── gpuhelper.h
    │   │   │   │   ├── icosphere.cpp
    │   │   │   │   ├── icosphere.h
    │   │   │   │   ├── quaternion_demo.cpp
    │   │   │   │   ├── quaternion_demo.h
    │   │   │   │   ├── trackball.cpp
    │   │   │   │   └── trackball.h
    │   │   ├── doc
    │   │   │   ├── AsciiQuickReference.txt
    │   │   │   ├── B01_Experimental.dox
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── ClassHierarchy.dox
    │   │   │   ├── CoeffwiseMathFunctionsTable.dox
    │   │   │   ├── CustomizingEigen_CustomScalar.dox
    │   │   │   ├── CustomizingEigen_InheritingMatrix.dox
    │   │   │   ├── CustomizingEigen_NullaryExpr.dox
    │   │   │   ├── CustomizingEigen_Plugins.dox
    │   │   │   ├── DenseDecompositionBenchmark.dox
    │   │   │   ├── Doxyfile.in
    │   │   │   ├── Eigen_Silly_Professor_64x64.png
    │   │   │   ├── FixedSizeVectorizable.dox
    │   │   │   ├── FunctionsTakingEigenTypes.dox
    │   │   │   ├── HiPerformance.dox
    │   │   │   ├── InplaceDecomposition.dox
    │   │   │   ├── InsideEigenExample.dox
    │   │   │   ├── LeastSquares.dox
    │   │   │   ├── Manual.dox
    │   │   │   ├── MatrixfreeSolverExample.dox
    │   │   │   ├── NewExpressionType.dox
    │   │   │   ├── Overview.dox
    │   │   │   ├── PassingByValue.dox
    │   │   │   ├── Pitfalls.dox
    │   │   │   ├── PreprocessorDirectives.dox
    │   │   │   ├── QuickReference.dox
    │   │   │   ├── QuickStartGuide.dox
    │   │   │   ├── SparseLinearSystems.dox
    │   │   │   ├── SparseQuickReference.dox
    │   │   │   ├── StlContainers.dox
    │   │   │   ├── StorageOrders.dox
    │   │   │   ├── StructHavingEigenMembers.dox
    │   │   │   ├── TemplateKeyword.dox
    │   │   │   ├── TopicAliasing.dox
    │   │   │   ├── TopicAssertions.dox
    │   │   │   ├── TopicCMakeGuide.dox
    │   │   │   ├── TopicEigenExpressionTemplates.dox
    │   │   │   ├── TopicLazyEvaluation.dox
    │   │   │   ├── TopicLinearAlgebraDecompositions.dox
    │   │   │   ├── TopicMultithreading.dox
    │   │   │   ├── TopicResizing.dox
    │   │   │   ├── TopicScalarTypes.dox
    │   │   │   ├── TopicVectorization.dox
    │   │   │   ├── TutorialAdvancedInitialization.dox
    │   │   │   ├── TutorialArrayClass.dox
    │   │   │   ├── TutorialBlockOperations.dox
    │   │   │   ├── TutorialGeometry.dox
    │   │   │   ├── TutorialLinearAlgebra.dox
    │   │   │   ├── TutorialMapClass.dox
    │   │   │   ├── TutorialMatrixArithmetic.dox
    │   │   │   ├── TutorialMatrixClass.dox
    │   │   │   ├── TutorialReductionsVisitorsBroadcasting.dox
    │   │   │   ├── TutorialReshape.dox
    │   │   │   ├── TutorialSTL.dox
    │   │   │   ├── TutorialSlicingIndexing.dox
    │   │   │   ├── TutorialSparse.dox
    │   │   │   ├── TutorialSparse_example_details.dox
    │   │   │   ├── UnalignedArrayAssert.dox
    │   │   │   ├── UsingBlasLapackBackends.dox
    │   │   │   ├── UsingIntelMKL.dox
    │   │   │   ├── UsingNVCC.dox
    │   │   │   ├── WrongStackAlignment.dox
    │   │   │   ├── eigen_navtree_hacks.js
    │   │   │   ├── eigendoxy.css
    │   │   │   ├── eigendoxy_footer.html.in
    │   │   │   ├── eigendoxy_header.html.in
    │   │   │   ├── eigendoxy_layout.xml.in
    │   │   │   ├── eigendoxy_tabs.css
    │   │   │   ├── examples
    │   │   │   │   ├── .krazy
    │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   ├── CustomizingEigen_Inheritance.cpp
    │   │   │   │   ├── Cwise_erf.cpp
    │   │   │   │   ├── Cwise_erfc.cpp
    │   │   │   │   ├── Cwise_lgamma.cpp
    │   │   │   │   ├── DenseBase_middleCols_int.cpp
    │   │   │   │   ├── DenseBase_middleRows_int.cpp
    │   │   │   │   ├── DenseBase_template_int_middleCols.cpp
    │   │   │   │   ├── DenseBase_template_int_middleRows.cpp
    │   │   │   │   ├── QuickStart_example.cpp
    │   │   │   │   ├── QuickStart_example2_dynamic.cpp
    │   │   │   │   ├── QuickStart_example2_fixed.cpp
    │   │   │   │   ├── TemplateKeyword_flexible.cpp
    │   │   │   │   ├── TemplateKeyword_simple.cpp
    │   │   │   │   ├── TutorialInplaceLU.cpp
    │   │   │   │   ├── TutorialLinAlgComputeTwice.cpp
    │   │   │   │   ├── TutorialLinAlgExComputeSolveError.cpp
    │   │   │   │   ├── TutorialLinAlgExSolveColPivHouseholderQR.cpp
    │   │   │   │   ├── TutorialLinAlgExSolveLDLT.cpp
    │   │   │   │   ├── TutorialLinAlgInverseDeterminant.cpp
    │   │   │   │   ├── TutorialLinAlgRankRevealing.cpp
    │   │   │   │   ├── TutorialLinAlgSVDSolve.cpp
    │   │   │   │   ├── TutorialLinAlgSelfAdjointEigenSolver.cpp
    │   │   │   │   ├── TutorialLinAlgSetThreshold.cpp
    │   │   │   │   ├── Tutorial_ArrayClass_accessors.cpp
    │   │   │   │   ├── Tutorial_ArrayClass_addition.cpp
    │   │   │   │   ├── Tutorial_ArrayClass_cwise_other.cpp
    │   │   │   │   ├── Tutorial_ArrayClass_interop.cpp
    │   │   │   │   ├── Tutorial_ArrayClass_interop_matrix.cpp
    │   │   │   │   ├── Tutorial_ArrayClass_mult.cpp
    │   │   │   │   ├── Tutorial_BlockOperations_block_assignment.cpp
    │   │   │   │   ├── Tutorial_BlockOperations_colrow.cpp
    │   │   │   │   ├── Tutorial_BlockOperations_corner.cpp
    │   │   │   │   ├── Tutorial_BlockOperations_print_block.cpp
    │   │   │   │   ├── Tutorial_BlockOperations_vector.cpp
    │   │   │   │   ├── Tutorial_PartialLU_solve.cpp
    │   │   │   │   ├── Tutorial_ReductionsVisitorsBroadcasting_broadcast_1nn.cpp
    │   │   │   │   ├── Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple.cpp
    │   │   │   │   ├── Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple_rowwise.cpp
    │   │   │   │   ├── Tutorial_ReductionsVisitorsBroadcasting_colwise.cpp
    │   │   │   │   ├── Tutorial_ReductionsVisitorsBroadcasting_maxnorm.cpp
    │   │   │   │   ├── Tutorial_ReductionsVisitorsBroadcasting_reductions_bool.cpp
    │   │   │   │   ├── Tutorial_ReductionsVisitorsBroadcasting_reductions_norm.cpp
    │   │   │   │   ├── Tutorial_ReductionsVisitorsBroadcasting_reductions_operatornorm.cpp
    │   │   │   │   ├── Tutorial_ReductionsVisitorsBroadcasting_rowwise.cpp
    │   │   │   │   ├── Tutorial_ReductionsVisitorsBroadcasting_visitors.cpp
    │   │   │   │   ├── Tutorial_simple_example_dynamic_size.cpp
    │   │   │   │   ├── Tutorial_simple_example_fixed_size.cpp
    │   │   │   │   ├── class_Block.cpp
    │   │   │   │   ├── class_CwiseBinaryOp.cpp
    │   │   │   │   ├── class_CwiseUnaryOp.cpp
    │   │   │   │   ├── class_CwiseUnaryOp_ptrfun.cpp
    │   │   │   │   ├── class_FixedBlock.cpp
    │   │   │   │   ├── class_FixedReshaped.cpp
    │   │   │   │   ├── class_FixedVectorBlock.cpp
    │   │   │   │   ├── class_Reshaped.cpp
    │   │   │   │   ├── class_VectorBlock.cpp
    │   │   │   │   ├── function_taking_eigenbase.cpp
    │   │   │   │   ├── function_taking_ref.cpp
    │   │   │   │   ├── make_circulant.cpp
    │   │   │   │   ├── make_circulant.cpp.entry
    │   │   │   │   ├── make_circulant.cpp.evaluator
    │   │   │   │   ├── make_circulant.cpp.expression
    │   │   │   │   ├── make_circulant.cpp.main
    │   │   │   │   ├── make_circulant.cpp.preamble
    │   │   │   │   ├── make_circulant.cpp.traits
    │   │   │   │   ├── make_circulant2.cpp
    │   │   │   │   ├── matrixfree_cg.cpp
    │   │   │   │   ├── nullary_indexing.cpp
    │   │   │   │   ├── tut_arithmetic_add_sub.cpp
    │   │   │   │   ├── tut_arithmetic_dot_cross.cpp
    │   │   │   │   ├── tut_arithmetic_matrix_mul.cpp
    │   │   │   │   ├── tut_arithmetic_redux_basic.cpp
    │   │   │   │   ├── tut_arithmetic_scalar_mul_div.cpp
    │   │   │   │   ├── tut_matrix_coefficient_accessors.cpp
    │   │   │   │   ├── tut_matrix_resize.cpp
    │   │   │   │   └── tut_matrix_resize_fixed_size.cpp
    │   │   │   ├── ftv2node.png
    │   │   │   ├── ftv2pnode.png
    │   │   │   ├── snippets
    │   │   │   │   ├── .krazy
    │   │   │   │   ├── AngleAxis_mimic_euler.cpp
    │   │   │   │   ├── Array_initializer_list_23_cxx11.cpp
    │   │   │   │   ├── Array_initializer_list_vector_cxx11.cpp
    │   │   │   │   ├── Array_variadic_ctor_cxx11.cpp
    │   │   │   │   ├── BiCGSTAB_simple.cpp
    │   │   │   │   ├── BiCGSTAB_step_by_step.cpp
    │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   ├── ColPivHouseholderQR_solve.cpp
    │   │   │   │   ├── ComplexEigenSolver_compute.cpp
    │   │   │   │   ├── ComplexEigenSolver_eigenvalues.cpp
    │   │   │   │   ├── ComplexEigenSolver_eigenvectors.cpp
    │   │   │   │   ├── ComplexSchur_compute.cpp
    │   │   │   │   ├── ComplexSchur_matrixT.cpp
    │   │   │   │   ├── ComplexSchur_matrixU.cpp
    │   │   │   │   ├── Cwise_abs.cpp
    │   │   │   │   ├── Cwise_abs2.cpp
    │   │   │   │   ├── Cwise_acos.cpp
    │   │   │   │   ├── Cwise_arg.cpp
    │   │   │   │   ├── Cwise_array_power_array.cpp
    │   │   │   │   ├── Cwise_asin.cpp
    │   │   │   │   ├── Cwise_atan.cpp
    │   │   │   │   ├── Cwise_boolean_and.cpp
    │   │   │   │   ├── Cwise_boolean_not.cpp
    │   │   │   │   ├── Cwise_boolean_or.cpp
    │   │   │   │   ├── Cwise_boolean_xor.cpp
    │   │   │   │   ├── Cwise_ceil.cpp
    │   │   │   │   ├── Cwise_cos.cpp
    │   │   │   │   ├── Cwise_cosh.cpp
    │   │   │   │   ├── Cwise_cube.cpp
    │   │   │   │   ├── Cwise_equal_equal.cpp
    │   │   │   │   ├── Cwise_exp.cpp
    │   │   │   │   ├── Cwise_floor.cpp
    │   │   │   │   ├── Cwise_greater.cpp
    │   │   │   │   ├── Cwise_greater_equal.cpp
    │   │   │   │   ├── Cwise_inverse.cpp
    │   │   │   │   ├── Cwise_isFinite.cpp
    │   │   │   │   ├── Cwise_isInf.cpp
    │   │   │   │   ├── Cwise_isNaN.cpp
    │   │   │   │   ├── Cwise_less.cpp
    │   │   │   │   ├── Cwise_less_equal.cpp
    │   │   │   │   ├── Cwise_log.cpp
    │   │   │   │   ├── Cwise_log10.cpp
    │   │   │   │   ├── Cwise_max.cpp
    │   │   │   │   ├── Cwise_min.cpp
    │   │   │   │   ├── Cwise_minus.cpp
    │   │   │   │   ├── Cwise_minus_equal.cpp
    │   │   │   │   ├── Cwise_not_equal.cpp
    │   │   │   │   ├── Cwise_plus.cpp
    │   │   │   │   ├── Cwise_plus_equal.cpp
    │   │   │   │   ├── Cwise_pow.cpp
    │   │   │   │   ├── Cwise_product.cpp
    │   │   │   │   ├── Cwise_quotient.cpp
    │   │   │   │   ├── Cwise_rint.cpp
    │   │   │   │   ├── Cwise_round.cpp
    │   │   │   │   ├── Cwise_scalar_power_array.cpp
    │   │   │   │   ├── Cwise_sign.cpp
    │   │   │   │   ├── Cwise_sin.cpp
    │   │   │   │   ├── Cwise_sinh.cpp
    │   │   │   │   ├── Cwise_slash_equal.cpp
    │   │   │   │   ├── Cwise_sqrt.cpp
    │   │   │   │   ├── Cwise_square.cpp
    │   │   │   │   ├── Cwise_tan.cpp
    │   │   │   │   ├── Cwise_tanh.cpp
    │   │   │   │   ├── Cwise_times_equal.cpp
    │   │   │   │   ├── DenseBase_LinSpaced.cpp
    │   │   │   │   ├── DenseBase_LinSpacedInt.cpp
    │   │   │   │   ├── DenseBase_LinSpaced_seq_deprecated.cpp
    │   │   │   │   ├── DenseBase_setLinSpaced.cpp
    │   │   │   │   ├── DirectionWise_hnormalized.cpp
    │   │   │   │   ├── DirectionWise_replicate.cpp
    │   │   │   │   ├── DirectionWise_replicate_int.cpp
    │   │   │   │   ├── EigenSolver_EigenSolver_MatrixType.cpp
    │   │   │   │   ├── EigenSolver_compute.cpp
    │   │   │   │   ├── EigenSolver_eigenvalues.cpp
    │   │   │   │   ├── EigenSolver_eigenvectors.cpp
    │   │   │   │   ├── EigenSolver_pseudoEigenvectors.cpp
    │   │   │   │   ├── FullPivHouseholderQR_solve.cpp
    │   │   │   │   ├── FullPivLU_image.cpp
    │   │   │   │   ├── FullPivLU_kernel.cpp
    │   │   │   │   ├── FullPivLU_solve.cpp
    │   │   │   │   ├── GeneralizedEigenSolver.cpp
    │   │   │   │   ├── HessenbergDecomposition_compute.cpp
    │   │   │   │   ├── HessenbergDecomposition_matrixH.cpp
    │   │   │   │   ├── HessenbergDecomposition_packedMatrix.cpp
    │   │   │   │   ├── HouseholderQR_householderQ.cpp
    │   │   │   │   ├── HouseholderQR_solve.cpp
    │   │   │   │   ├── HouseholderSequence_HouseholderSequence.cpp
    │   │   │   │   ├── IOFormat.cpp
    │   │   │   │   ├── JacobiSVD_basic.cpp
    │   │   │   │   ├── Jacobi_makeGivens.cpp
    │   │   │   │   ├── Jacobi_makeJacobi.cpp
    │   │   │   │   ├── LLT_example.cpp
    │   │   │   │   ├── LLT_solve.cpp
    │   │   │   │   ├── LeastSquaresNormalEquations.cpp
    │   │   │   │   ├── LeastSquaresQR.cpp
    │   │   │   │   ├── Map_general_stride.cpp
    │   │   │   │   ├── Map_inner_stride.cpp
    │   │   │   │   ├── Map_outer_stride.cpp
    │   │   │   │   ├── Map_placement_new.cpp
    │   │   │   │   ├── Map_simple.cpp
    │   │   │   │   ├── MatrixBase_adjoint.cpp
    │   │   │   │   ├── MatrixBase_all.cpp
    │   │   │   │   ├── MatrixBase_applyOnTheLeft.cpp
    │   │   │   │   ├── MatrixBase_applyOnTheRight.cpp
    │   │   │   │   ├── MatrixBase_array.cpp
    │   │   │   │   ├── MatrixBase_array_const.cpp
    │   │   │   │   ├── MatrixBase_asDiagonal.cpp
    │   │   │   │   ├── MatrixBase_block_int_int.cpp
    │   │   │   │   ├── MatrixBase_block_int_int_int_int.cpp
    │   │   │   │   ├── MatrixBase_bottomLeftCorner_int_int.cpp
    │   │   │   │   ├── MatrixBase_bottomRightCorner_int_int.cpp
    │   │   │   │   ├── MatrixBase_bottomRows_int.cpp
    │   │   │   │   ├── MatrixBase_cast.cpp
    │   │   │   │   ├── MatrixBase_col.cpp
    │   │   │   │   ├── MatrixBase_colwise.cpp
    │   │   │   │   ├── MatrixBase_colwise_iterator_cxx11.cpp
    │   │   │   │   ├── MatrixBase_computeInverseAndDetWithCheck.cpp
    │   │   │   │   ├── MatrixBase_computeInverseWithCheck.cpp
    │   │   │   │   ├── MatrixBase_cwiseAbs.cpp
    │   │   │   │   ├── MatrixBase_cwiseAbs2.cpp
    │   │   │   │   ├── MatrixBase_cwiseArg.cpp
    │   │   │   │   ├── MatrixBase_cwiseEqual.cpp
    │   │   │   │   ├── MatrixBase_cwiseInverse.cpp
    │   │   │   │   ├── MatrixBase_cwiseMax.cpp
    │   │   │   │   ├── MatrixBase_cwiseMin.cpp
    │   │   │   │   ├── MatrixBase_cwiseNotEqual.cpp
    │   │   │   │   ├── MatrixBase_cwiseProduct.cpp
    │   │   │   │   ├── MatrixBase_cwiseQuotient.cpp
    │   │   │   │   ├── MatrixBase_cwiseSign.cpp
    │   │   │   │   ├── MatrixBase_cwiseSqrt.cpp
    │   │   │   │   ├── MatrixBase_diagonal.cpp
    │   │   │   │   ├── MatrixBase_diagonal_int.cpp
    │   │   │   │   ├── MatrixBase_diagonal_template_int.cpp
    │   │   │   │   ├── MatrixBase_eigenvalues.cpp
    │   │   │   │   ├── MatrixBase_end_int.cpp
    │   │   │   │   ├── MatrixBase_eval.cpp
    │   │   │   │   ├── MatrixBase_fixedBlock_int_int.cpp
    │   │   │   │   ├── MatrixBase_hnormalized.cpp
    │   │   │   │   ├── MatrixBase_homogeneous.cpp
    │   │   │   │   ├── MatrixBase_identity.cpp
    │   │   │   │   ├── MatrixBase_identity_int_int.cpp
    │   │   │   │   ├── MatrixBase_inverse.cpp
    │   │   │   │   ├── MatrixBase_isDiagonal.cpp
    │   │   │   │   ├── MatrixBase_isIdentity.cpp
    │   │   │   │   ├── MatrixBase_isOnes.cpp
    │   │   │   │   ├── MatrixBase_isOrthogonal.cpp
    │   │   │   │   ├── MatrixBase_isUnitary.cpp
    │   │   │   │   ├── MatrixBase_isZero.cpp
    │   │   │   │   ├── MatrixBase_leftCols_int.cpp
    │   │   │   │   ├── MatrixBase_noalias.cpp
    │   │   │   │   ├── MatrixBase_ones.cpp
    │   │   │   │   ├── MatrixBase_ones_int.cpp
    │   │   │   │   ├── MatrixBase_ones_int_int.cpp
    │   │   │   │   ├── MatrixBase_operatorNorm.cpp
    │   │   │   │   ├── MatrixBase_prod.cpp
    │   │   │   │   ├── MatrixBase_random.cpp
    │   │   │   │   ├── MatrixBase_random_int.cpp
    │   │   │   │   ├── MatrixBase_random_int_int.cpp
    │   │   │   │   ├── MatrixBase_replicate.cpp
    │   │   │   │   ├── MatrixBase_replicate_int_int.cpp
    │   │   │   │   ├── MatrixBase_reshaped_auto.cpp
    │   │   │   │   ├── MatrixBase_reshaped_fixed.cpp
    │   │   │   │   ├── MatrixBase_reshaped_int_int.cpp
    │   │   │   │   ├── MatrixBase_reshaped_to_vector.cpp
    │   │   │   │   ├── MatrixBase_reverse.cpp
    │   │   │   │   ├── MatrixBase_rightCols_int.cpp
    │   │   │   │   ├── MatrixBase_row.cpp
    │   │   │   │   ├── MatrixBase_rowwise.cpp
    │   │   │   │   ├── MatrixBase_segment_int_int.cpp
    │   │   │   │   ├── MatrixBase_select.cpp
    │   │   │   │   ├── MatrixBase_selfadjointView.cpp
    │   │   │   │   ├── MatrixBase_set.cpp
    │   │   │   │   ├── MatrixBase_setIdentity.cpp
    │   │   │   │   ├── MatrixBase_setOnes.cpp
    │   │   │   │   ├── MatrixBase_setRandom.cpp
    │   │   │   │   ├── MatrixBase_setZero.cpp
    │   │   │   │   ├── MatrixBase_start_int.cpp
    │   │   │   │   ├── MatrixBase_template_int_bottomRows.cpp
    │   │   │   │   ├── MatrixBase_template_int_end.cpp
    │   │   │   │   ├── MatrixBase_template_int_int_block_int_int_int_int.cpp
    │   │   │   │   ├── MatrixBase_template_int_int_bottomLeftCorner.cpp
    │   │   │   │   ├── MatrixBase_template_int_int_bottomLeftCorner_int_int.cpp
    │   │   │   │   ├── MatrixBase_template_int_int_bottomRightCorner.cpp
    │   │   │   │   ├── MatrixBase_template_int_int_bottomRightCorner_int_int.cpp
    │   │   │   │   ├── MatrixBase_template_int_int_topLeftCorner.cpp
    │   │   │   │   ├── MatrixBase_template_int_int_topLeftCorner_int_int.cpp
    │   │   │   │   ├── MatrixBase_template_int_int_topRightCorner.cpp
    │   │   │   │   ├── MatrixBase_template_int_int_topRightCorner_int_int.cpp
    │   │   │   │   ├── MatrixBase_template_int_leftCols.cpp
    │   │   │   │   ├── MatrixBase_template_int_rightCols.cpp
    │   │   │   │   ├── MatrixBase_template_int_segment.cpp
    │   │   │   │   ├── MatrixBase_template_int_start.cpp
    │   │   │   │   ├── MatrixBase_template_int_topRows.cpp
    │   │   │   │   ├── MatrixBase_topLeftCorner_int_int.cpp
    │   │   │   │   ├── MatrixBase_topRightCorner_int_int.cpp
    │   │   │   │   ├── MatrixBase_topRows_int.cpp
    │   │   │   │   ├── MatrixBase_transpose.cpp
    │   │   │   │   ├── MatrixBase_triangularView.cpp
    │   │   │   │   ├── MatrixBase_zero.cpp
    │   │   │   │   ├── MatrixBase_zero_int.cpp
    │   │   │   │   ├── MatrixBase_zero_int_int.cpp
    │   │   │   │   ├── Matrix_Map_stride.cpp
    │   │   │   │   ├── Matrix_initializer_list_23_cxx11.cpp
    │   │   │   │   ├── Matrix_initializer_list_vector_cxx11.cpp
    │   │   │   │   ├── Matrix_resize_NoChange_int.cpp
    │   │   │   │   ├── Matrix_resize_int.cpp
    │   │   │   │   ├── Matrix_resize_int_NoChange.cpp
    │   │   │   │   ├── Matrix_resize_int_int.cpp
    │   │   │   │   ├── Matrix_setConstant_int.cpp
    │   │   │   │   ├── Matrix_setConstant_int_int.cpp
    │   │   │   │   ├── Matrix_setIdentity_int_int.cpp
    │   │   │   │   ├── Matrix_setOnes_int.cpp
    │   │   │   │   ├── Matrix_setOnes_int_int.cpp
    │   │   │   │   ├── Matrix_setRandom_int.cpp
    │   │   │   │   ├── Matrix_setRandom_int_int.cpp
    │   │   │   │   ├── Matrix_setZero_int.cpp
    │   │   │   │   ├── Matrix_setZero_int_int.cpp
    │   │   │   │   ├── Matrix_variadic_ctor_cxx11.cpp
    │   │   │   │   ├── PartialPivLU_solve.cpp
    │   │   │   │   ├── PartialRedux_count.cpp
    │   │   │   │   ├── PartialRedux_maxCoeff.cpp
    │   │   │   │   ├── PartialRedux_minCoeff.cpp
    │   │   │   │   ├── PartialRedux_norm.cpp
    │   │   │   │   ├── PartialRedux_prod.cpp
    │   │   │   │   ├── PartialRedux_squaredNorm.cpp
    │   │   │   │   ├── PartialRedux_sum.cpp
    │   │   │   │   ├── RealQZ_compute.cpp
    │   │   │   │   ├── RealSchur_RealSchur_MatrixType.cpp
    │   │   │   │   ├── RealSchur_compute.cpp
    │   │   │   │   ├── SelfAdjointEigenSolver_SelfAdjointEigenSolver.cpp
    │   │   │   │   ├── SelfAdjointEigenSolver_SelfAdjointEigenSolver_MatrixType.cpp
    │   │   │   │   ├── SelfAdjointEigenSolver_SelfAdjointEigenSolver_MatrixType2.cpp
    │   │   │   │   ├── SelfAdjointEigenSolver_compute_MatrixType.cpp
    │   │   │   │   ├── SelfAdjointEigenSolver_compute_MatrixType2.cpp
    │   │   │   │   ├── SelfAdjointEigenSolver_eigenvalues.cpp
    │   │   │   │   ├── SelfAdjointEigenSolver_eigenvectors.cpp
    │   │   │   │   ├── SelfAdjointEigenSolver_operatorInverseSqrt.cpp
    │   │   │   │   ├── SelfAdjointEigenSolver_operatorSqrt.cpp
    │   │   │   │   ├── SelfAdjointView_eigenvalues.cpp
    │   │   │   │   ├── SelfAdjointView_operatorNorm.cpp
    │   │   │   │   ├── Slicing_arrayexpr.cpp
    │   │   │   │   ├── Slicing_custom_padding_cxx11.cpp
    │   │   │   │   ├── Slicing_rawarray_cxx11.cpp
    │   │   │   │   ├── Slicing_stdvector_cxx11.cpp
    │   │   │   │   ├── SparseMatrix_coeffs.cpp
    │   │   │   │   ├── TopicAliasing_block.cpp
    │   │   │   │   ├── TopicAliasing_block_correct.cpp
    │   │   │   │   ├── TopicAliasing_cwise.cpp
    │   │   │   │   ├── TopicAliasing_mult1.cpp
    │   │   │   │   ├── TopicAliasing_mult2.cpp
    │   │   │   │   ├── TopicAliasing_mult3.cpp
    │   │   │   │   ├── TopicAliasing_mult4.cpp
    │   │   │   │   ├── TopicAliasing_mult5.cpp
    │   │   │   │   ├── TopicStorageOrders_example.cpp
    │   │   │   │   ├── Triangular_solve.cpp
    │   │   │   │   ├── Tridiagonalization_Tridiagonalization_MatrixType.cpp
    │   │   │   │   ├── Tridiagonalization_compute.cpp
    │   │   │   │   ├── Tridiagonalization_decomposeInPlace.cpp
    │   │   │   │   ├── Tridiagonalization_diagonal.cpp
    │   │   │   │   ├── Tridiagonalization_householderCoefficients.cpp
    │   │   │   │   ├── Tridiagonalization_packedMatrix.cpp
    │   │   │   │   ├── Tutorial_AdvancedInitialization_Block.cpp
    │   │   │   │   ├── Tutorial_AdvancedInitialization_CommaTemporary.cpp
    │   │   │   │   ├── Tutorial_AdvancedInitialization_Join.cpp
    │   │   │   │   ├── Tutorial_AdvancedInitialization_LinSpaced.cpp
    │   │   │   │   ├── Tutorial_AdvancedInitialization_ThreeWays.cpp
    │   │   │   │   ├── Tutorial_AdvancedInitialization_Zero.cpp
    │   │   │   │   ├── Tutorial_Map_rowmajor.cpp
    │   │   │   │   ├── Tutorial_Map_using.cpp
    │   │   │   │   ├── Tutorial_ReshapeMat2Mat.cpp
    │   │   │   │   ├── Tutorial_ReshapeMat2Vec.cpp
    │   │   │   │   ├── Tutorial_SlicingCol.cpp
    │   │   │   │   ├── Tutorial_SlicingVec.cpp
    │   │   │   │   ├── Tutorial_commainit_01.cpp
    │   │   │   │   ├── Tutorial_commainit_01b.cpp
    │   │   │   │   ├── Tutorial_commainit_02.cpp
    │   │   │   │   ├── Tutorial_range_for_loop_1d_cxx11.cpp
    │   │   │   │   ├── Tutorial_range_for_loop_2d_cxx11.cpp
    │   │   │   │   ├── Tutorial_reshaped_vs_resize_1.cpp
    │   │   │   │   ├── Tutorial_reshaped_vs_resize_2.cpp
    │   │   │   │   ├── Tutorial_solve_matrix_inverse.cpp
    │   │   │   │   ├── Tutorial_solve_multiple_rhs.cpp
    │   │   │   │   ├── Tutorial_solve_reuse_decomposition.cpp
    │   │   │   │   ├── Tutorial_solve_singular.cpp
    │   │   │   │   ├── Tutorial_solve_triangular.cpp
    │   │   │   │   ├── Tutorial_solve_triangular_inplace.cpp
    │   │   │   │   ├── Tutorial_std_sort.cpp
    │   │   │   │   ├── Tutorial_std_sort_rows_cxx11.cpp
    │   │   │   │   ├── VectorwiseOp_homogeneous.cpp
    │   │   │   │   ├── Vectorwise_reverse.cpp
    │   │   │   │   ├── class_FullPivLU.cpp
    │   │   │   │   ├── compile_snippet.cpp.in
    │   │   │   │   ├── tut_arithmetic_redux_minmax.cpp
    │   │   │   │   ├── tut_arithmetic_transpose_aliasing.cpp
    │   │   │   │   ├── tut_arithmetic_transpose_conjugate.cpp
    │   │   │   │   ├── tut_arithmetic_transpose_inplace.cpp
    │   │   │   │   └── tut_matrix_assignment_resizing.cpp
    │   │   │   ├── special_examples
    │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   ├── Tutorial_sparse_example.cpp
    │   │   │   │   ├── Tutorial_sparse_example_details.cpp
    │   │   │   │   └── random_cpp11.cpp
    │   │   │   └── tutorial.cpp
    │   │   ├── eigen3.pc.in
    │   │   ├── failtest
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── bdcsvd_int.cpp
    │   │   │   ├── block_nonconst_ctor_on_const_xpr_0.cpp
    │   │   │   ├── block_nonconst_ctor_on_const_xpr_1.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
    │   │   │   ├── colpivqr_int.cpp
    │   │   │   ├── const_qualified_block_method_retval_0.cpp
    │   │   │   ├── const_qualified_block_method_retval_1.cpp
    │   │   │   ├── const_qualified_diagonal_method_retval.cpp
    │   │   │   ├── const_qualified_transpose_method_retval.cpp
    │   │   │   ├── cwiseunaryview_nonconst_ctor_on_const_xpr.cpp
    │   │   │   ├── cwiseunaryview_on_const_type_actually_const.cpp
    │   │   │   ├── diagonal_nonconst_ctor_on_const_xpr.cpp
    │   │   │   ├── diagonal_on_const_type_actually_const.cpp
    │   │   │   ├── eigensolver_cplx.cpp
    │   │   │   ├── eigensolver_int.cpp
    │   │   │   ├── failtest_sanity_check.cpp
    │   │   │   ├── fullpivlu_int.cpp
    │   │   │   ├── fullpivqr_int.cpp
    │   │   │   ├── initializer_list_1.cpp
    │   │   │   ├── initializer_list_2.cpp
    │   │   │   ├── jacobisvd_int.cpp
    │   │   │   ├── ldlt_int.cpp
    │   │   │   ├── llt_int.cpp
    │   │   │   ├── map_nonconst_ctor_on_const_ptr_0.cpp
    │   │   │   ├── map_nonconst_ctor_on_const_ptr_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
    │   │   │   ├── map_on_const_type_actually_const_0.cpp
    │   │   │   ├── map_on_const_type_actually_const_1.cpp
    │   │   │   ├── partialpivlu_int.cpp
    │   │   │   ├── qr_int.cpp
    │   │   │   ├── ref_1.cpp
    │   │   │   ├── ref_2.cpp
    │   │   │   ├── ref_3.cpp
    │   │   │   ├── ref_4.cpp
    │   │   │   ├── ref_5.cpp
    │   │   │   ├── selfadjointview_nonconst_ctor_on_const_xpr.cpp
    │   │   │   ├── selfadjointview_on_const_type_actually_const.cpp
    │   │   │   ├── sparse_ref_1.cpp
    │   │   │   ├── sparse_ref_2.cpp
    │   │   │   ├── sparse_ref_3.cpp
    │   │   │   ├── sparse_ref_4.cpp
    │   │   │   ├── sparse_ref_5.cpp
    │   │   │   ├── sparse_storage_mismatch.cpp
    │   │   │   ├── swap_1.cpp
    │   │   │   ├── swap_2.cpp
    │   │   │   ├── ternary_1.cpp
    │   │   │   ├── ternary_2.cpp
    │   │   │   ├── transpose_nonconst_ctor_on_const_xpr.cpp
    │   │   │   ├── transpose_on_const_type_actually_const.cpp
    │   │   │   ├── triangularview_nonconst_ctor_on_const_xpr.cpp
    │   │   │   └── triangularview_on_const_type_actually_const.cpp
    │   │   ├── lapack
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── cholesky.cpp
    │   │   │   ├── clacgv.f
    │   │   │   ├── cladiv.f
    │   │   │   ├── clarf.f
    │   │   │   ├── clarfb.f
    │   │   │   ├── clarfg.f
    │   │   │   ├── clarft.f
    │   │   │   ├── complex_double.cpp
    │   │   │   ├── complex_single.cpp
    │   │   │   ├── dladiv.f
    │   │   │   ├── dlamch.f
    │   │   │   ├── dlapy2.f
    │   │   │   ├── dlapy3.f
    │   │   │   ├── dlarf.f
    │   │   │   ├── dlarfb.f
    │   │   │   ├── dlarfg.f
    │   │   │   ├── dlarft.f
    │   │   │   ├── double.cpp
    │   │   │   ├── dsecnd_NONE.f
    │   │   │   ├── eigenvalues.cpp
    │   │   │   ├── ilaclc.f
    │   │   │   ├── ilaclr.f
    │   │   │   ├── iladlc.f
    │   │   │   ├── iladlr.f
    │   │   │   ├── ilaslc.f
    │   │   │   ├── ilaslr.f
    │   │   │   ├── ilazlc.f
    │   │   │   ├── ilazlr.f
    │   │   │   ├── lapack_common.h
    │   │   │   ├── lu.cpp
    │   │   │   ├── second_NONE.f
    │   │   │   ├── single.cpp
    │   │   │   ├── sladiv.f
    │   │   │   ├── slamch.f
    │   │   │   ├── slapy2.f
    │   │   │   ├── slapy3.f
    │   │   │   ├── slarf.f
    │   │   │   ├── slarfb.f
    │   │   │   ├── slarfg.f
    │   │   │   ├── slarft.f
    │   │   │   ├── svd.cpp
    │   │   │   ├── zlacgv.f
    │   │   │   ├── zladiv.f
    │   │   │   ├── zlarf.f
    │   │   │   ├── zlarfb.f
    │   │   │   ├── zlarfg.f
    │   │   │   └── zlarft.f
    │   │   ├── scripts
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── buildtests.in
    │   │   │   ├── cdashtesting.cmake.in
    │   │   │   ├── check.in
    │   │   │   ├── debug.in
    │   │   │   ├── eigen_gen_credits.cpp
    │   │   │   ├── eigen_gen_docs
    │   │   │   ├── eigen_gen_split_test_help.cmake
    │   │   │   ├── eigen_monitor_perf.sh
    │   │   │   ├── release.in
    │   │   │   └── relicense.py
    │   │   ├── signature_of_eigen3_matrix_library
    │   │   ├── test
    │   │   │   ├── AnnoyingScalar.h
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── MovableScalar.h
    │   │   │   ├── SafeScalar.h
    │   │   │   ├── adjoint.cpp
    │   │   │   ├── array_cwise.cpp
    │   │   │   ├── array_for_matrix.cpp
    │   │   │   ├── array_of_string.cpp
    │   │   │   ├── array_replicate.cpp
    │   │   │   ├── array_reverse.cpp
    │   │   │   ├── bandmatrix.cpp
    │   │   │   ├── basicstuff.cpp
    │   │   │   ├── bdcsvd.cpp
    │   │   │   ├── bfloat16_float.cpp
    │   │   │   ├── bicgstab.cpp
    │   │   │   ├── blasutil.cpp
    │   │   │   ├── block.cpp
    │   │   │   ├── boostmultiprec.cpp
    │   │   │   ├── bug1213.cpp
    │   │   │   ├── bug1213.h
    │   │   │   ├── bug1213_main.cpp
    │   │   │   ├── cholesky.cpp
    │   │   │   ├── cholmod_support.cpp
    │   │   │   ├── commainitializer.cpp
    │   │   │   ├── conjugate_gradient.cpp
    │   │   │   ├── conservative_resize.cpp
    │   │   │   ├── constructor.cpp
    │   │   │   ├── corners.cpp
    │   │   │   ├── ctorleak.cpp
    │   │   │   ├── denseLM.cpp
    │   │   │   ├── dense_storage.cpp
    │   │   │   ├── determinant.cpp
    │   │   │   ├── diagonal.cpp
    │   │   │   ├── diagonal_matrix_variadic_ctor.cpp
    │   │   │   ├── diagonalmatrices.cpp
    │   │   │   ├── dontalign.cpp
    │   │   │   ├── dynalloc.cpp
    │   │   │   ├── eigen2support.cpp
    │   │   │   ├── eigensolver_complex.cpp
    │   │   │   ├── eigensolver_generalized_real.cpp
    │   │   │   ├── eigensolver_generic.cpp
    │   │   │   ├── eigensolver_selfadjoint.cpp
    │   │   │   ├── evaluator_common.h
    │   │   │   ├── evaluators.cpp
    │   │   │   ├── exceptions.cpp
    │   │   │   ├── fastmath.cpp
    │   │   │   ├── first_aligned.cpp
    │   │   │   ├── geo_alignedbox.cpp
    │   │   │   ├── geo_eulerangles.cpp
    │   │   │   ├── geo_homogeneous.cpp
    │   │   │   ├── geo_hyperplane.cpp
    │   │   │   ├── geo_orthomethods.cpp
    │   │   │   ├── geo_parametrizedline.cpp
    │   │   │   ├── geo_quaternion.cpp
    │   │   │   ├── geo_transformations.cpp
    │   │   │   ├── gpu_basic.cu
    │   │   │   ├── gpu_common.h
    │   │   │   ├── half_float.cpp
    │   │   │   ├── hessenberg.cpp
    │   │   │   ├── householder.cpp
    │   │   │   ├── incomplete_cholesky.cpp
    │   │   │   ├── indexed_view.cpp
    │   │   │   ├── initializer_list_construction.cpp
    │   │   │   ├── inplace_decomposition.cpp
    │   │   │   ├── integer_types.cpp
    │   │   │   ├── inverse.cpp
    │   │   │   ├── io.cpp
    │   │   │   ├── is_same_dense.cpp
    │   │   │   ├── jacobi.cpp
    │   │   │   ├── jacobisvd.cpp
    │   │   │   ├── klu_support.cpp
    │   │   │   ├── linearstructure.cpp
    │   │   │   ├── lscg.cpp
    │   │   │   ├── lu.cpp
    │   │   │   ├── main.h
    │   │   │   ├── mapped_matrix.cpp
    │   │   │   ├── mapstaticmethods.cpp
    │   │   │   ├── mapstride.cpp
    │   │   │   ├── meta.cpp
    │   │   │   ├── metis_support.cpp
    │   │   │   ├── miscmatrices.cpp
    │   │   │   ├── mixingtypes.cpp
    │   │   │   ├── mpl2only.cpp
    │   │   │   ├── nestbyvalue.cpp
    │   │   │   ├── nesting_ops.cpp
    │   │   │   ├── nomalloc.cpp
    │   │   │   ├── nullary.cpp
    │   │   │   ├── num_dimensions.cpp
    │   │   │   ├── numext.cpp
    │   │   │   ├── packetmath.cpp
    │   │   │   ├── packetmath_test_shared.h
    │   │   │   ├── pardiso_support.cpp
    │   │   │   ├── pastix_support.cpp
    │   │   │   ├── permutationmatrices.cpp
    │   │   │   ├── prec_inverse_4x4.cpp
    │   │   │   ├── product.h
    │   │   │   ├── product_extra.cpp
    │   │   │   ├── product_large.cpp
    │   │   │   ├── product_mmtr.cpp
    │   │   │   ├── product_notemporary.cpp
    │   │   │   ├── product_selfadjoint.cpp
    │   │   │   ├── product_small.cpp
    │   │   │   ├── product_symm.cpp
    │   │   │   ├── product_syrk.cpp
    │   │   │   ├── product_trmm.cpp
    │   │   │   ├── product_trmv.cpp
    │   │   │   ├── product_trsolve.cpp
    │   │   │   ├── qr.cpp
    │   │   │   ├── qr_colpivoting.cpp
    │   │   │   ├── qr_fullpivoting.cpp
    │   │   │   ├── qtvector.cpp
    │   │   │   ├── rand.cpp
    │   │   │   ├── random_without_cast_overflow.h
    │   │   │   ├── real_qz.cpp
    │   │   │   ├── redux.cpp
    │   │   │   ├── ref.cpp
    │   │   │   ├── reshape.cpp
    │   │   │   ├── resize.cpp
    │   │   │   ├── rvalue_types.cpp
    │   │   │   ├── schur_complex.cpp
    │   │   │   ├── schur_real.cpp
    │   │   │   ├── selfadjoint.cpp
    │   │   │   ├── simplicial_cholesky.cpp
    │   │   │   ├── sizeof.cpp
    │   │   │   ├── sizeoverflow.cpp
    │   │   │   ├── smallvectors.cpp
    │   │   │   ├── solverbase.h
    │   │   │   ├── sparse.h
    │   │   │   ├── sparseLM.cpp
    │   │   │   ├── sparse_basic.cpp
    │   │   │   ├── sparse_block.cpp
    │   │   │   ├── sparse_permutations.cpp
    │   │   │   ├── sparse_product.cpp
    │   │   │   ├── sparse_ref.cpp
    │   │   │   ├── sparse_solver.h
    │   │   │   ├── sparse_solvers.cpp
    │   │   │   ├── sparse_vector.cpp
    │   │   │   ├── sparselu.cpp
    │   │   │   ├── sparseqr.cpp
    │   │   │   ├── special_numbers.cpp
    │   │   │   ├── split_test_helper.h
    │   │   │   ├── spqr_support.cpp
    │   │   │   ├── stable_norm.cpp
    │   │   │   ├── stddeque.cpp
    │   │   │   ├── stddeque_overload.cpp
    │   │   │   ├── stdlist.cpp
    │   │   │   ├── stdlist_overload.cpp
    │   │   │   ├── stdvector.cpp
    │   │   │   ├── stdvector_overload.cpp
    │   │   │   ├── stl_iterators.cpp
    │   │   │   ├── superlu_support.cpp
    │   │   │   ├── svd_common.h
    │   │   │   ├── svd_fill.h
    │   │   │   ├── swap.cpp
    │   │   │   ├── symbolic_index.cpp
    │   │   │   ├── triangular.cpp
    │   │   │   ├── type_alias.cpp
    │   │   │   ├── umeyama.cpp
    │   │   │   ├── umfpack_support.cpp
    │   │   │   ├── unalignedcount.cpp
    │   │   │   ├── upperbidiagonalization.cpp
    │   │   │   ├── vectorization_logic.cpp
    │   │   │   ├── vectorwiseop.cpp
    │   │   │   ├── visitor.cpp
    │   │   │   └── zerosized.cpp
    │   │   └── unsupported
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── Eigen
    │   │   │       ├── AdolcForward
    │   │   │       ├── AlignedVector3
    │   │   │       ├── ArpackSupport
    │   │   │       ├── AutoDiff
    │   │   │       ├── BVH
    │   │   │       ├── CMakeLists.txt
    │   │   │       ├── CXX11
    │   │   │       │   ├── CMakeLists.txt
    │   │   │       │   ├── Tensor
    │   │   │       │   ├── TensorSymmetry
    │   │   │       │   ├── ThreadPool
    │   │   │       │   └── src
    │   │   │       │   │   ├── Tensor
    │   │   │       │   │       ├── README.md
    │   │   │       │   │       ├── Tensor.h
    │   │   │       │   │       ├── TensorArgMax.h
    │   │   │       │   │       ├── TensorAssign.h
    │   │   │       │   │       ├── TensorBase.h
    │   │   │       │   │       ├── TensorBlock.h
    │   │   │       │   │       ├── TensorBroadcasting.h
    │   │   │       │   │       ├── TensorChipping.h
    │   │   │       │   │       ├── TensorConcatenation.h
    │   │   │       │   │       ├── TensorContraction.h
    │   │   │       │   │       ├── TensorContractionBlocking.h
    │   │   │       │   │       ├── TensorContractionCuda.h
    │   │   │       │   │       ├── TensorContractionGpu.h
    │   │   │       │   │       ├── TensorContractionMapper.h
    │   │   │       │   │       ├── TensorContractionSycl.h
    │   │   │       │   │       ├── TensorContractionThreadPool.h
    │   │   │       │   │       ├── TensorConversion.h
    │   │   │       │   │       ├── TensorConvolution.h
    │   │   │       │   │       ├── TensorConvolutionSycl.h
    │   │   │       │   │       ├── TensorCostModel.h
    │   │   │       │   │       ├── TensorCustomOp.h
    │   │   │       │   │       ├── TensorDevice.h
    │   │   │       │   │       ├── TensorDeviceCuda.h
    │   │   │       │   │       ├── TensorDeviceDefault.h
    │   │   │       │   │       ├── TensorDeviceGpu.h
    │   │   │       │   │       ├── TensorDeviceSycl.h
    │   │   │       │   │       ├── TensorDeviceThreadPool.h
    │   │   │       │   │       ├── TensorDimensionList.h
    │   │   │       │   │       ├── TensorDimensions.h
    │   │   │       │   │       ├── TensorEvalTo.h
    │   │   │       │   │       ├── TensorEvaluator.h
    │   │   │       │   │       ├── TensorExecutor.h
    │   │   │       │   │       ├── TensorExpr.h
    │   │   │       │   │       ├── TensorFFT.h
    │   │   │       │   │       ├── TensorFixedSize.h
    │   │   │       │   │       ├── TensorForcedEval.h
    │   │   │       │   │       ├── TensorForwardDeclarations.h
    │   │   │       │   │       ├── TensorFunctors.h
    │   │   │       │   │       ├── TensorGenerator.h
    │   │   │       │   │       ├── TensorGlobalFunctions.h
    │   │   │       │   │       ├── TensorGpuHipCudaDefines.h
    │   │   │       │   │       ├── TensorGpuHipCudaUndefines.h
    │   │   │       │   │       ├── TensorIO.h
    │   │   │       │   │       ├── TensorImagePatch.h
    │   │   │       │   │       ├── TensorIndexList.h
    │   │   │       │   │       ├── TensorInflation.h
    │   │   │       │   │       ├── TensorInitializer.h
    │   │   │       │   │       ├── TensorIntDiv.h
    │   │   │       │   │       ├── TensorLayoutSwap.h
    │   │   │       │   │       ├── TensorMacros.h
    │   │   │       │   │       ├── TensorMap.h
    │   │   │       │   │       ├── TensorMeta.h
    │   │   │       │   │       ├── TensorMorphing.h
    │   │   │       │   │       ├── TensorPadding.h
    │   │   │       │   │       ├── TensorPatch.h
    │   │   │       │   │       ├── TensorRandom.h
    │   │   │       │   │       ├── TensorReduction.h
    │   │   │       │   │       ├── TensorReductionCuda.h
    │   │   │       │   │       ├── TensorReductionGpu.h
    │   │   │       │   │       ├── TensorReductionSycl.h
    │   │   │       │   │       ├── TensorRef.h
    │   │   │       │   │       ├── TensorReverse.h
    │   │   │       │   │       ├── TensorScan.h
    │   │   │       │   │       ├── TensorScanSycl.h
    │   │   │       │   │       ├── TensorShuffling.h
    │   │   │       │   │       ├── TensorStorage.h
    │   │   │       │   │       ├── TensorStriding.h
    │   │   │       │   │       ├── TensorTrace.h
    │   │   │       │   │       ├── TensorTraits.h
    │   │   │       │   │       ├── TensorUInt128.h
    │   │   │       │   │       └── TensorVolumePatch.h
    │   │   │       │   │   ├── TensorSymmetry
    │   │   │       │   │       ├── DynamicSymmetry.h
    │   │   │       │   │       ├── StaticSymmetry.h
    │   │   │       │   │       ├── Symmetry.h
    │   │   │       │   │       └── util
    │   │   │       │   │       │   └── TemplateGroupTheory.h
    │   │   │       │   │   ├── ThreadPool
    │   │   │       │   │       ├── Barrier.h
    │   │   │       │   │       ├── EventCount.h
    │   │   │       │   │       ├── NonBlockingThreadPool.h
    │   │   │       │   │       ├── RunQueue.h
    │   │   │       │   │       ├── ThreadCancel.h
    │   │   │       │   │       ├── ThreadEnvironment.h
    │   │   │       │   │       ├── ThreadLocal.h
    │   │   │       │   │       ├── ThreadPoolInterface.h
    │   │   │       │   │       └── ThreadYield.h
    │   │   │       │   │   └── util
    │   │   │       │   │       ├── CXX11Meta.h
    │   │   │       │   │       ├── CXX11Workarounds.h
    │   │   │       │   │       ├── EmulateArray.h
    │   │   │       │   │       └── MaxSizeVector.h
    │   │   │       ├── EulerAngles
    │   │   │       ├── FFT
    │   │   │       ├── IterativeSolvers
    │   │   │       ├── KroneckerProduct
    │   │   │       ├── LevenbergMarquardt
    │   │   │       ├── MPRealSupport
    │   │   │       ├── MatrixFunctions
    │   │   │       ├── MoreVectorization
    │   │   │       ├── NonLinearOptimization
    │   │   │       ├── NumericalDiff
    │   │   │       ├── OpenGLSupport
    │   │   │       ├── Polynomials
    │   │   │       ├── Skyline
    │   │   │       ├── SparseExtra
    │   │   │       ├── SpecialFunctions
    │   │   │       ├── Splines
    │   │   │       └── src
    │   │   │       │   ├── AutoDiff
    │   │   │       │       ├── AutoDiffJacobian.h
    │   │   │       │       ├── AutoDiffScalar.h
    │   │   │       │       └── AutoDiffVector.h
    │   │   │       │   ├── BVH
    │   │   │       │       ├── BVAlgorithms.h
    │   │   │       │       └── KdBVH.h
    │   │   │       │   ├── Eigenvalues
    │   │   │       │       └── ArpackSelfAdjointEigenSolver.h
    │   │   │       │   ├── EulerAngles
    │   │   │       │       ├── CMakeLists.txt
    │   │   │       │       ├── EulerAngles.h
    │   │   │       │       └── EulerSystem.h
    │   │   │       │   ├── FFT
    │   │   │       │       ├── ei_fftw_impl.h
    │   │   │       │       └── ei_kissfft_impl.h
    │   │   │       │   ├── IterativeSolvers
    │   │   │       │       ├── ConstrainedConjGrad.h
    │   │   │       │       ├── DGMRES.h
    │   │   │       │       ├── GMRES.h
    │   │   │       │       ├── IDRS.h
    │   │   │       │       ├── IncompleteLU.h
    │   │   │       │       ├── IterationController.h
    │   │   │       │       ├── MINRES.h
    │   │   │       │       └── Scaling.h
    │   │   │       │   ├── KroneckerProduct
    │   │   │       │       └── KroneckerTensorProduct.h
    │   │   │       │   ├── LevenbergMarquardt
    │   │   │       │       ├── CopyrightMINPACK.txt
    │   │   │       │       ├── LMcovar.h
    │   │   │       │       ├── LMonestep.h
    │   │   │       │       ├── LMpar.h
    │   │   │       │       ├── LMqrsolv.h
    │   │   │       │       └── LevenbergMarquardt.h
    │   │   │       │   ├── MatrixFunctions
    │   │   │       │       ├── MatrixExponential.h
    │   │   │       │       ├── MatrixFunction.h
    │   │   │       │       ├── MatrixLogarithm.h
    │   │   │       │       ├── MatrixPower.h
    │   │   │       │       ├── MatrixSquareRoot.h
    │   │   │       │       └── StemFunction.h
    │   │   │       │   ├── MoreVectorization
    │   │   │       │       └── MathFunctions.h
    │   │   │       │   ├── NonLinearOptimization
    │   │   │       │       ├── HybridNonLinearSolver.h
    │   │   │       │       ├── LevenbergMarquardt.h
    │   │   │       │       ├── chkder.h
    │   │   │       │       ├── covar.h
    │   │   │       │       ├── dogleg.h
    │   │   │       │       ├── fdjac1.h
    │   │   │       │       ├── lmpar.h
    │   │   │       │       ├── qrsolv.h
    │   │   │       │       ├── r1mpyq.h
    │   │   │       │       ├── r1updt.h
    │   │   │       │       └── rwupdt.h
    │   │   │       │   ├── NumericalDiff
    │   │   │       │       └── NumericalDiff.h
    │   │   │       │   ├── Polynomials
    │   │   │       │       ├── Companion.h
    │   │   │       │       ├── PolynomialSolver.h
    │   │   │       │       └── PolynomialUtils.h
    │   │   │       │   ├── Skyline
    │   │   │       │       ├── SkylineInplaceLU.h
    │   │   │       │       ├── SkylineMatrix.h
    │   │   │       │       ├── SkylineMatrixBase.h
    │   │   │       │       ├── SkylineProduct.h
    │   │   │       │       ├── SkylineStorage.h
    │   │   │       │       └── SkylineUtil.h
    │   │   │       │   ├── SparseExtra
    │   │   │       │       ├── BlockOfDynamicSparseMatrix.h
    │   │   │       │       ├── BlockSparseMatrix.h
    │   │   │       │       ├── DynamicSparseMatrix.h
    │   │   │       │       ├── MarketIO.h
    │   │   │       │       ├── MatrixMarketIterator.h
    │   │   │       │       └── RandomSetter.h
    │   │   │       │   ├── SpecialFunctions
    │   │   │       │       ├── BesselFunctionsArrayAPI.h
    │   │   │       │       ├── BesselFunctionsBFloat16.h
    │   │   │       │       ├── BesselFunctionsFunctors.h
    │   │   │       │       ├── BesselFunctionsHalf.h
    │   │   │       │       ├── BesselFunctionsImpl.h
    │   │   │       │       ├── BesselFunctionsPacketMath.h
    │   │   │       │       ├── HipVectorCompatibility.h
    │   │   │       │       ├── SpecialFunctionsArrayAPI.h
    │   │   │       │       ├── SpecialFunctionsBFloat16.h
    │   │   │       │       ├── SpecialFunctionsFunctors.h
    │   │   │       │       ├── SpecialFunctionsHalf.h
    │   │   │       │       ├── SpecialFunctionsImpl.h
    │   │   │       │       ├── SpecialFunctionsPacketMath.h
    │   │   │       │       └── arch
    │   │   │       │       │   ├── AVX
    │   │   │       │       │       ├── BesselFunctions.h
    │   │   │       │       │       └── SpecialFunctions.h
    │   │   │       │       │   ├── AVX512
    │   │   │       │       │       ├── BesselFunctions.h
    │   │   │       │       │       └── SpecialFunctions.h
    │   │   │       │       │   ├── GPU
    │   │   │       │       │       └── SpecialFunctions.h
    │   │   │       │       │   └── NEON
    │   │   │       │       │       ├── BesselFunctions.h
    │   │   │       │       │       └── SpecialFunctions.h
    │   │   │       │   └── Splines
    │   │   │       │       ├── Spline.h
    │   │   │       │       ├── SplineFitting.h
    │   │   │       │       └── SplineFwd.h
    │   │   │   ├── README.txt
    │   │   │   ├── bench
    │   │   │       └── bench_svd.cpp
    │   │   │   ├── doc
    │   │   │       ├── CMakeLists.txt
    │   │   │       ├── Overview.dox
    │   │   │       ├── SYCL.dox
    │   │   │       ├── eigendoxy_layout.xml.in
    │   │   │       ├── examples
    │   │   │       │   ├── BVH_Example.cpp
    │   │   │       │   ├── CMakeLists.txt
    │   │   │       │   ├── EulerAngles.cpp
    │   │   │       │   ├── FFT.cpp
    │   │   │       │   ├── MatrixExponential.cpp
    │   │   │       │   ├── MatrixFunction.cpp
    │   │   │       │   ├── MatrixLogarithm.cpp
    │   │   │       │   ├── MatrixPower.cpp
    │   │   │       │   ├── MatrixPower_optimal.cpp
    │   │   │       │   ├── MatrixSine.cpp
    │   │   │       │   ├── MatrixSinh.cpp
    │   │   │       │   ├── MatrixSquareRoot.cpp
    │   │   │       │   ├── PolynomialSolver1.cpp
    │   │   │       │   ├── PolynomialUtils1.cpp
    │   │   │       │   └── SYCL
    │   │   │       │   │   ├── CMakeLists.txt
    │   │   │       │   │   └── CwiseMul.cpp
    │   │   │       └── snippets
    │   │   │       │   └── CMakeLists.txt
    │   │   │   └── test
    │   │   │       ├── BVH.cpp
    │   │   │       ├── CMakeLists.txt
    │   │   │       ├── EulerAngles.cpp
    │   │   │       ├── FFT.cpp
    │   │   │       ├── FFTW.cpp
    │   │   │       ├── NonLinearOptimization.cpp
    │   │   │       ├── NumericalDiff.cpp
    │   │   │       ├── alignedvector3.cpp
    │   │   │       ├── autodiff.cpp
    │   │   │       ├── autodiff_scalar.cpp
    │   │   │       ├── bessel_functions.cpp
    │   │   │       ├── cxx11_eventcount.cpp
    │   │   │       ├── cxx11_maxsizevector.cpp
    │   │   │       ├── cxx11_meta.cpp
    │   │   │       ├── cxx11_non_blocking_thread_pool.cpp
    │   │   │       ├── cxx11_runqueue.cpp
    │   │   │       ├── cxx11_tensor_argmax.cpp
    │   │   │       ├── cxx11_tensor_argmax_gpu.cu
    │   │   │       ├── cxx11_tensor_argmax_sycl.cpp
    │   │   │       ├── cxx11_tensor_assign.cpp
    │   │   │       ├── cxx11_tensor_block_access.cpp
    │   │   │       ├── cxx11_tensor_block_eval.cpp
    │   │   │       ├── cxx11_tensor_block_io.cpp
    │   │   │       ├── cxx11_tensor_broadcast_sycl.cpp
    │   │   │       ├── cxx11_tensor_broadcasting.cpp
    │   │   │       ├── cxx11_tensor_builtins_sycl.cpp
    │   │   │       ├── cxx11_tensor_cast_float16_gpu.cu
    │   │   │       ├── cxx11_tensor_casts.cpp
    │   │   │       ├── cxx11_tensor_chipping.cpp
    │   │   │       ├── cxx11_tensor_chipping_sycl.cpp
    │   │   │       ├── cxx11_tensor_comparisons.cpp
    │   │   │       ├── cxx11_tensor_complex_cwise_ops_gpu.cu
    │   │   │       ├── cxx11_tensor_complex_gpu.cu
    │   │   │       ├── cxx11_tensor_concatenation.cpp
    │   │   │       ├── cxx11_tensor_concatenation_sycl.cpp
    │   │   │       ├── cxx11_tensor_const.cpp
    │   │   │       ├── cxx11_tensor_contract_gpu.cu
    │   │   │       ├── cxx11_tensor_contract_sycl.cpp
    │   │   │       ├── cxx11_tensor_contraction.cpp
    │   │   │       ├── cxx11_tensor_convolution.cpp
    │   │   │       ├── cxx11_tensor_convolution_sycl.cpp
    │   │   │       ├── cxx11_tensor_custom_index.cpp
    │   │   │       ├── cxx11_tensor_custom_op.cpp
    │   │   │       ├── cxx11_tensor_custom_op_sycl.cpp
    │   │   │       ├── cxx11_tensor_device.cu
    │   │   │       ├── cxx11_tensor_device_sycl.cpp
    │   │   │       ├── cxx11_tensor_dimension.cpp
    │   │   │       ├── cxx11_tensor_empty.cpp
    │   │   │       ├── cxx11_tensor_executor.cpp
    │   │   │       ├── cxx11_tensor_expr.cpp
    │   │   │       ├── cxx11_tensor_fft.cpp
    │   │   │       ├── cxx11_tensor_fixed_size.cpp
    │   │   │       ├── cxx11_tensor_forced_eval.cpp
    │   │   │       ├── cxx11_tensor_forced_eval_sycl.cpp
    │   │   │       ├── cxx11_tensor_generator.cpp
    │   │   │       ├── cxx11_tensor_generator_sycl.cpp
    │   │   │       ├── cxx11_tensor_gpu.cu
    │   │   │       ├── cxx11_tensor_ifft.cpp
    │   │   │       ├── cxx11_tensor_image_op_sycl.cpp
    │   │   │       ├── cxx11_tensor_image_patch.cpp
    │   │   │       ├── cxx11_tensor_image_patch_sycl.cpp
    │   │   │       ├── cxx11_tensor_index_list.cpp
    │   │   │       ├── cxx11_tensor_inflation.cpp
    │   │   │       ├── cxx11_tensor_inflation_sycl.cpp
    │   │   │       ├── cxx11_tensor_intdiv.cpp
    │   │   │       ├── cxx11_tensor_io.cpp
    │   │   │       ├── cxx11_tensor_layout_swap.cpp
    │   │   │       ├── cxx11_tensor_layout_swap_sycl.cpp
    │   │   │       ├── cxx11_tensor_lvalue.cpp
    │   │   │       ├── cxx11_tensor_map.cpp
    │   │   │       ├── cxx11_tensor_math.cpp
    │   │   │       ├── cxx11_tensor_math_sycl.cpp
    │   │   │       ├── cxx11_tensor_mixed_indices.cpp
    │   │   │       ├── cxx11_tensor_morphing.cpp
    │   │   │       ├── cxx11_tensor_morphing_sycl.cpp
    │   │   │       ├── cxx11_tensor_move.cpp
    │   │   │       ├── cxx11_tensor_notification.cpp
    │   │   │       ├── cxx11_tensor_of_complex.cpp
    │   │   │       ├── cxx11_tensor_of_const_values.cpp
    │   │   │       ├── cxx11_tensor_of_float16_gpu.cu
    │   │   │       ├── cxx11_tensor_of_strings.cpp
    │   │   │       ├── cxx11_tensor_padding.cpp
    │   │   │       ├── cxx11_tensor_padding_sycl.cpp
    │   │   │       ├── cxx11_tensor_patch.cpp
    │   │   │       ├── cxx11_tensor_patch_sycl.cpp
    │   │   │       ├── cxx11_tensor_random.cpp
    │   │   │       ├── cxx11_tensor_random_gpu.cu
    │   │   │       ├── cxx11_tensor_random_sycl.cpp
    │   │   │       ├── cxx11_tensor_reduction.cpp
    │   │   │       ├── cxx11_tensor_reduction_gpu.cu
    │   │   │       ├── cxx11_tensor_reduction_sycl.cpp
    │   │   │       ├── cxx11_tensor_ref.cpp
    │   │   │       ├── cxx11_tensor_reverse.cpp
    │   │   │       ├── cxx11_tensor_reverse_sycl.cpp
    │   │   │       ├── cxx11_tensor_roundings.cpp
    │   │   │       ├── cxx11_tensor_scan.cpp
    │   │   │       ├── cxx11_tensor_scan_gpu.cu
    │   │   │       ├── cxx11_tensor_scan_sycl.cpp
    │   │   │       ├── cxx11_tensor_shuffling.cpp
    │   │   │       ├── cxx11_tensor_shuffling_sycl.cpp
    │   │   │       ├── cxx11_tensor_simple.cpp
    │   │   │       ├── cxx11_tensor_striding.cpp
    │   │   │       ├── cxx11_tensor_striding_sycl.cpp
    │   │   │       ├── cxx11_tensor_sugar.cpp
    │   │   │       ├── cxx11_tensor_sycl.cpp
    │   │   │       ├── cxx11_tensor_symmetry.cpp
    │   │   │       ├── cxx11_tensor_thread_local.cpp
    │   │   │       ├── cxx11_tensor_thread_pool.cpp
    │   │   │       ├── cxx11_tensor_trace.cpp
    │   │   │       ├── cxx11_tensor_uint128.cpp
    │   │   │       ├── cxx11_tensor_volume_patch.cpp
    │   │   │       ├── cxx11_tensor_volume_patch_sycl.cpp
    │   │   │       ├── dgmres.cpp
    │   │   │       ├── forward_adolc.cpp
    │   │   │       ├── gmres.cpp
    │   │   │       ├── idrs.cpp
    │   │   │       ├── kronecker_product.cpp
    │   │   │       ├── levenberg_marquardt.cpp
    │   │   │       ├── matrix_exponential.cpp
    │   │   │       ├── matrix_function.cpp
    │   │   │       ├── matrix_functions.h
    │   │   │       ├── matrix_power.cpp
    │   │   │       ├── matrix_square_root.cpp
    │   │   │       ├── minres.cpp
    │   │   │       ├── mpreal_support.cpp
    │   │   │       ├── openglsupport.cpp
    │   │   │       ├── polynomialsolver.cpp
    │   │   │       ├── polynomialutils.cpp
    │   │   │       ├── sparse_extra.cpp
    │   │   │       ├── special_functions.cpp
    │   │   │       ├── special_packetmath.cpp
    │   │   │       └── splines.cpp
    │   ├── GeographicLib
    │   │   ├── 00README.txt
    │   │   ├── AUTHORS
    │   │   ├── CMakeLists.txt
    │   │   ├── INSTALL
    │   │   ├── LICENSE.txt
    │   │   ├── Makefile
    │   │   ├── Makefile.am
    │   │   ├── Makefile.in
    │   │   ├── Makefile.mk
    │   │   ├── NEWS
    │   │   ├── README.md
    │   │   ├── aclocal.m4
    │   │   ├── cmake
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── FindGeographicLib.cmake
    │   │   │   ├── Makefile.am
    │   │   │   ├── Makefile.in
    │   │   │   ├── Makefile.mk
    │   │   │   ├── project-config-version.cmake.in
    │   │   │   ├── project-config.cmake.in
    │   │   │   └── project.pc.in
    │   │   ├── compile
    │   │   ├── config.guess
    │   │   ├── config.sub
    │   │   ├── configure
    │   │   ├── configure.ac
    │   │   ├── depcomp
    │   │   ├── doc
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── GeographicLib.dox.in
    │   │   │   ├── Makefile.am
    │   │   │   ├── Makefile.in
    │   │   │   ├── Makefile.mk
    │   │   │   ├── NETGeographicLib.dox
    │   │   │   ├── NETGeographicLib1.png
    │   │   │   ├── NETGeographicLib2.png
    │   │   │   ├── NETGeographicLib3.png
    │   │   │   ├── doxyfile-c.in
    │   │   │   ├── doxyfile-for.in
    │   │   │   ├── doxyfile-net.in
    │   │   │   ├── doxyfile.in
    │   │   │   ├── gauss-krueger-convergence-scale.png
    │   │   │   ├── gauss-krueger-error.png
    │   │   │   ├── gauss-krueger-graticule-a.png
    │   │   │   ├── gauss-krueger-graticule.png
    │   │   │   ├── gauss-schreiber-graticule-a.png
    │   │   │   ├── geodesic-c.dox
    │   │   │   ├── geodesic-for.dox
    │   │   │   ├── geodseries30.html
    │   │   │   ├── index.html.in
    │   │   │   ├── meridian-measures.png
    │   │   │   ├── normal-gravity-potential-1.svg
    │   │   │   ├── thompson-tm-graticule-a.png
    │   │   │   ├── thompson-tm-graticule.png
    │   │   │   ├── tmseries30.html
    │   │   │   ├── utilities.html.in
    │   │   │   └── vptree.gif
    │   │   ├── dotnet
    │   │   │   ├── NETGeographicLib
    │   │   │   │   ├── Accumulator.cpp
    │   │   │   │   ├── Accumulator.h
    │   │   │   │   ├── AlbersEqualArea.cpp
    │   │   │   │   ├── AlbersEqualArea.h
    │   │   │   │   ├── AssemblyInfo.cpp
    │   │   │   │   ├── AzimuthalEquidistant.cpp
    │   │   │   │   ├── AzimuthalEquidistant.h
    │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   ├── CassiniSoldner.cpp
    │   │   │   │   ├── CassiniSoldner.h
    │   │   │   │   ├── CircularEngine.cpp
    │   │   │   │   ├── CircularEngine.h
    │   │   │   │   ├── DMS.cpp
    │   │   │   │   ├── DMS.h
    │   │   │   │   ├── Ellipsoid.cpp
    │   │   │   │   ├── Ellipsoid.h
    │   │   │   │   ├── EllipticFunction.cpp
    │   │   │   │   ├── EllipticFunction.h
    │   │   │   │   ├── GARS.cpp
    │   │   │   │   ├── GARS.h
    │   │   │   │   ├── GeoCoords.cpp
    │   │   │   │   ├── GeoCoords.h
    │   │   │   │   ├── Geocentric.cpp
    │   │   │   │   ├── Geocentric.h
    │   │   │   │   ├── Geodesic.cpp
    │   │   │   │   ├── Geodesic.h
    │   │   │   │   ├── GeodesicExact.cpp
    │   │   │   │   ├── GeodesicExact.h
    │   │   │   │   ├── GeodesicLine.cpp
    │   │   │   │   ├── GeodesicLine.h
    │   │   │   │   ├── GeodesicLineExact.cpp
    │   │   │   │   ├── GeodesicLineExact.h
    │   │   │   │   ├── Geohash.cpp
    │   │   │   │   ├── Geohash.h
    │   │   │   │   ├── Geoid.cpp
    │   │   │   │   ├── Geoid.h
    │   │   │   │   ├── Georef.cpp
    │   │   │   │   ├── Georef.h
    │   │   │   │   ├── Gnomonic.cpp
    │   │   │   │   ├── Gnomonic.h
    │   │   │   │   ├── GravityCircle.cpp
    │   │   │   │   ├── GravityCircle.h
    │   │   │   │   ├── GravityModel.cpp
    │   │   │   │   ├── GravityModel.h
    │   │   │   │   ├── LambertConformalConic.cpp
    │   │   │   │   ├── LambertConformalConic.h
    │   │   │   │   ├── LocalCartesian.cpp
    │   │   │   │   ├── LocalCartesian.h
    │   │   │   │   ├── MGRS.cpp
    │   │   │   │   ├── MGRS.h
    │   │   │   │   ├── MagneticCircle.cpp
    │   │   │   │   ├── MagneticCircle.h
    │   │   │   │   ├── MagneticModel.cpp
    │   │   │   │   ├── MagneticModel.h
    │   │   │   │   ├── NETGeographicLib.cpp
    │   │   │   │   ├── NETGeographicLib.h
    │   │   │   │   ├── NormalGravity.cpp
    │   │   │   │   ├── NormalGravity.h
    │   │   │   │   ├── OSGB.cpp
    │   │   │   │   ├── OSGB.h
    │   │   │   │   ├── PolarStereographic.cpp
    │   │   │   │   ├── PolarStereographic.h
    │   │   │   │   ├── PolygonArea.cpp
    │   │   │   │   ├── PolygonArea.h
    │   │   │   │   ├── ReadMe.txt
    │   │   │   │   ├── Rhumb.cpp
    │   │   │   │   ├── Rhumb.h
    │   │   │   │   ├── SphericalCoefficients.cpp
    │   │   │   │   ├── SphericalCoefficients.h
    │   │   │   │   ├── SphericalHarmonic.cpp
    │   │   │   │   ├── SphericalHarmonic.h
    │   │   │   │   ├── SphericalHarmonic1.cpp
    │   │   │   │   ├── SphericalHarmonic1.h
    │   │   │   │   ├── SphericalHarmonic2.cpp
    │   │   │   │   ├── SphericalHarmonic2.h
    │   │   │   │   ├── TransverseMercator.cpp
    │   │   │   │   ├── TransverseMercator.h
    │   │   │   │   ├── TransverseMercatorExact.cpp
    │   │   │   │   ├── TransverseMercatorExact.h
    │   │   │   │   ├── UTMUPS.cpp
    │   │   │   │   ├── UTMUPS.h
    │   │   │   │   ├── stdafx.cpp
    │   │   │   │   └── stdafx.h
    │   │   │   ├── Projections
    │   │   │   │   ├── AccumPanel.Designer.cs
    │   │   │   │   ├── AccumPanel.cs
    │   │   │   │   ├── AccumPanel.resx
    │   │   │   │   ├── AlbersPanel.Designer.cs
    │   │   │   │   ├── AlbersPanel.cs
    │   │   │   │   ├── AlbersPanel.resx
    │   │   │   │   ├── EllipsoidPanel.Designer.cs
    │   │   │   │   ├── EllipsoidPanel.cs
    │   │   │   │   ├── EllipsoidPanel.resx
    │   │   │   │   ├── EllipticPanel.Designer.cs
    │   │   │   │   ├── EllipticPanel.cs
    │   │   │   │   ├── EllipticPanel.resx
    │   │   │   │   ├── Form1.Designer.cs
    │   │   │   │   ├── Form1.cs
    │   │   │   │   ├── Form1.resx
    │   │   │   │   ├── GeocentricPanel.Designer.cs
    │   │   │   │   ├── GeocentricPanel.cs
    │   │   │   │   ├── GeocentricPanel.resx
    │   │   │   │   ├── GeodesicPanel.Designer.cs
    │   │   │   │   ├── GeodesicPanel.cs
    │   │   │   │   ├── GeodesicPanel.resx
    │   │   │   │   ├── GeoidPanel.Designer.cs
    │   │   │   │   ├── GeoidPanel.cs
    │   │   │   │   ├── GeoidPanel.resx
    │   │   │   │   ├── GravityPanel.Designer.cs
    │   │   │   │   ├── GravityPanel.cs
    │   │   │   │   ├── GravityPanel.resx
    │   │   │   │   ├── LocalCartesianPanel.Designer.cs
    │   │   │   │   ├── LocalCartesianPanel.cs
    │   │   │   │   ├── LocalCartesianPanel.resx
    │   │   │   │   ├── MagneticPanel.Designer.cs
    │   │   │   │   ├── MagneticPanel.cs
    │   │   │   │   ├── MagneticPanel.resx
    │   │   │   │   ├── MiscPanel.Designer.cs
    │   │   │   │   ├── MiscPanel.cs
    │   │   │   │   ├── MiscPanel.resx
    │   │   │   │   ├── PolarStereoPanel.Designer.cs
    │   │   │   │   ├── PolarStereoPanel.cs
    │   │   │   │   ├── PolarStereoPanel.resx
    │   │   │   │   ├── PolyPanel.Designer.cs
    │   │   │   │   ├── PolyPanel.cs
    │   │   │   │   ├── PolyPanel.resx
    │   │   │   │   ├── Program.cs
    │   │   │   │   ├── Projections-vs13.csproj
    │   │   │   │   ├── Projections.csproj
    │   │   │   │   ├── ProjectionsPanel.Designer.cs
    │   │   │   │   ├── ProjectionsPanel.cs
    │   │   │   │   ├── ProjectionsPanel.resx
    │   │   │   │   ├── Properties
    │   │   │   │   │   ├── AssemblyInfo.cs
    │   │   │   │   │   ├── Resources.Designer.cs
    │   │   │   │   │   ├── Resources.resx
    │   │   │   │   │   ├── Settings.Designer.cs
    │   │   │   │   │   └── Settings.settings
    │   │   │   │   ├── RhumbPanel.Designer.cs
    │   │   │   │   ├── RhumbPanel.cs
    │   │   │   │   ├── RhumbPanel.resx
    │   │   │   │   ├── SphericalHarmonicsPanel.Designer.cs
    │   │   │   │   ├── SphericalHarmonicsPanel.cs
    │   │   │   │   ├── SphericalHarmonicsPanel.resx
    │   │   │   │   ├── TypeIIIProjPanel.Designer.cs
    │   │   │   │   ├── TypeIIIProjPanel.cs
    │   │   │   │   └── TypeIIIProjPanel.resx
    │   │   │   └── examples
    │   │   │   │   ├── CS
    │   │   │   │       ├── example-Accumulator.cs
    │   │   │   │       ├── example-AlbersEqualArea.cs
    │   │   │   │       ├── example-AzimuthalEquidistant.cs
    │   │   │   │       ├── example-CassiniSoldner.cs
    │   │   │   │       ├── example-CircularEngine.cs
    │   │   │   │       ├── example-DMS.cs
    │   │   │   │       ├── example-Ellipsoid.cs
    │   │   │   │       ├── example-EllipticFunction.cs
    │   │   │   │       ├── example-GARS.cs
    │   │   │   │       ├── example-GeoCoords.cs
    │   │   │   │       ├── example-Geocentric.cs
    │   │   │   │       ├── example-Geodesic.cs
    │   │   │   │       ├── example-GeodesicExact.cs
    │   │   │   │       ├── example-GeodesicLine.cs
    │   │   │   │       ├── example-GeodesicLineExact.cs
    │   │   │   │       ├── example-Geohash.cs
    │   │   │   │       ├── example-Geoid.cs
    │   │   │   │       ├── example-Georef.cs
    │   │   │   │       ├── example-Gnomonic.cs
    │   │   │   │       ├── example-GravityCircle.cs
    │   │   │   │       ├── example-GravityModel.cs
    │   │   │   │       ├── example-LambertConformalConic.cs
    │   │   │   │       ├── example-LocalCartesian.cs
    │   │   │   │       ├── example-MGRS.cs
    │   │   │   │       ├── example-MagneticCircle.cs
    │   │   │   │       ├── example-MagneticModel.cs
    │   │   │   │       ├── example-NormalGravity.cs
    │   │   │   │       ├── example-OSGB.cs
    │   │   │   │       ├── example-PolarStereographic.cs
    │   │   │   │       ├── example-PolygonArea.cs
    │   │   │   │       ├── example-Rhumb.cs
    │   │   │   │       ├── example-RhumbLine.cs
    │   │   │   │       ├── example-SphericalHarmonic.cs
    │   │   │   │       ├── example-SphericalHarmonic1.cs
    │   │   │   │       ├── example-SphericalHarmonic2.cs
    │   │   │   │       ├── example-TransverseMercator.cs
    │   │   │   │       ├── example-TransverseMercatorExact.cs
    │   │   │   │       └── example-UTMUPS.cs
    │   │   │   │   ├── ManagedCPP
    │   │   │   │       ├── CMakeLists.txt
    │   │   │   │       ├── example-Accumulator.cpp
    │   │   │   │       ├── example-AlbersEqualArea.cpp
    │   │   │   │       ├── example-AzimuthalEquidistant.cpp
    │   │   │   │       ├── example-CassiniSoldner.cpp
    │   │   │   │       ├── example-CircularEngine.cpp
    │   │   │   │       ├── example-DMS.cpp
    │   │   │   │       ├── example-Ellipsoid.cpp
    │   │   │   │       ├── example-EllipticFunction.cpp
    │   │   │   │       ├── example-GARS.cpp
    │   │   │   │       ├── example-GeoCoords.cpp
    │   │   │   │       ├── example-Geocentric.cpp
    │   │   │   │       ├── example-Geodesic-small.cpp
    │   │   │   │       ├── example-Geodesic.cpp
    │   │   │   │       ├── example-GeodesicExact.cpp
    │   │   │   │       ├── example-GeodesicLine.cpp
    │   │   │   │       ├── example-GeodesicLineExact.cpp
    │   │   │   │       ├── example-Geohash.cpp
    │   │   │   │       ├── example-Geoid.cpp
    │   │   │   │       ├── example-Georef.cpp
    │   │   │   │       ├── example-Gnomonic.cpp
    │   │   │   │       ├── example-GravityCircle.cpp
    │   │   │   │       ├── example-GravityModel.cpp
    │   │   │   │       ├── example-LambertConformalConic.cpp
    │   │   │   │       ├── example-LocalCartesian.cpp
    │   │   │   │       ├── example-MGRS.cpp
    │   │   │   │       ├── example-MagneticCircle.cpp
    │   │   │   │       ├── example-MagneticModel.cpp
    │   │   │   │       ├── example-NormalGravity.cpp
    │   │   │   │       ├── example-OSGB.cpp
    │   │   │   │       ├── example-PolarStereographic.cpp
    │   │   │   │       ├── example-PolygonArea.cpp
    │   │   │   │       ├── example-Rhumb.cpp
    │   │   │   │       ├── example-RhumbLine.cpp
    │   │   │   │       ├── example-SphericalHarmonic.cpp
    │   │   │   │       ├── example-SphericalHarmonic1.cpp
    │   │   │   │       ├── example-SphericalHarmonic2.cpp
    │   │   │   │       ├── example-TransverseMercator.cpp
    │   │   │   │       ├── example-TransverseMercatorExact.cpp
    │   │   │   │       └── example-UTMUPS.cpp
    │   │   │   │   └── VB
    │   │   │   │       ├── example-Accumulator.vb
    │   │   │   │       ├── example-AlbersEqualArea.vb
    │   │   │   │       ├── example-AzimuthalEquidistant.vb
    │   │   │   │       ├── example-CassiniSoldner.vb
    │   │   │   │       ├── example-CircularEngine.vb
    │   │   │   │       ├── example-DMS.vb
    │   │   │   │       ├── example-Ellipsoid.vb
    │   │   │   │       ├── example-EllipticFunction.vb
    │   │   │   │       ├── example-GARS.vb
    │   │   │   │       ├── example-GeoCoords.vb
    │   │   │   │       ├── example-Geocentric.vb
    │   │   │   │       ├── example-Geodesic.vb
    │   │   │   │       ├── example-GeodesicExact.vb
    │   │   │   │       ├── example-GeodesicLine.vb
    │   │   │   │       ├── example-GeodesicLineExact.vb
    │   │   │   │       ├── example-Geohash.vb
    │   │   │   │       ├── example-Geoid.vb
    │   │   │   │       ├── example-Georef.vb
    │   │   │   │       ├── example-Gnomonic.vb
    │   │   │   │       ├── example-GravityCircle.vb
    │   │   │   │       ├── example-GravityModel.vb
    │   │   │   │       ├── example-LambertConformalConic.vb
    │   │   │   │       ├── example-LocalCartesian.vb
    │   │   │   │       ├── example-MGRS.vb
    │   │   │   │       ├── example-MagneticCircle.vb
    │   │   │   │       ├── example-MagneticModel.vb
    │   │   │   │       ├── example-NormalGravity.vb
    │   │   │   │       ├── example-OSGB.vb
    │   │   │   │       ├── example-PolarStereographic.vb
    │   │   │   │       ├── example-PolygonArea.vb
    │   │   │   │       ├── example-Rhumb.vb
    │   │   │   │       ├── example-RhumbLine.vb
    │   │   │   │       ├── example-SphericalHarmonic.vb
    │   │   │   │       ├── example-SphericalHarmonic1.vb
    │   │   │   │       ├── example-SphericalHarmonic2.vb
    │   │   │   │       ├── example-TransverseMercator.vb
    │   │   │   │       ├── example-TransverseMercatorExact.vb
    │   │   │   │       └── example-UTMUPS.vb
    │   │   ├── examples
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── GeoidToGTX.cpp
    │   │   │   ├── JacobiConformal.cpp
    │   │   │   ├── JacobiConformal.hpp
    │   │   │   ├── Makefile.am
    │   │   │   ├── Makefile.in
    │   │   │   ├── example-Accumulator.cpp
    │   │   │   ├── example-AlbersEqualArea.cpp
    │   │   │   ├── example-AzimuthalEquidistant.cpp
    │   │   │   ├── example-CassiniSoldner.cpp
    │   │   │   ├── example-CircularEngine.cpp
    │   │   │   ├── example-Constants.cpp
    │   │   │   ├── example-DMS.cpp
    │   │   │   ├── example-Ellipsoid.cpp
    │   │   │   ├── example-EllipticFunction.cpp
    │   │   │   ├── example-GARS.cpp
    │   │   │   ├── example-GeoCoords.cpp
    │   │   │   ├── example-Geocentric.cpp
    │   │   │   ├── example-Geodesic-small.cpp
    │   │   │   ├── example-Geodesic.cpp
    │   │   │   ├── example-GeodesicExact.cpp
    │   │   │   ├── example-GeodesicLine.cpp
    │   │   │   ├── example-GeodesicLineExact.cpp
    │   │   │   ├── example-GeographicErr.cpp
    │   │   │   ├── example-Geohash.cpp
    │   │   │   ├── example-Geoid.cpp
    │   │   │   ├── example-Georef.cpp
    │   │   │   ├── example-Gnomonic.cpp
    │   │   │   ├── example-GravityCircle.cpp
    │   │   │   ├── example-GravityModel.cpp
    │   │   │   ├── example-LambertConformalConic.cpp
    │   │   │   ├── example-LocalCartesian.cpp
    │   │   │   ├── example-MGRS.cpp
    │   │   │   ├── example-MagneticCircle.cpp
    │   │   │   ├── example-MagneticModel.cpp
    │   │   │   ├── example-Math.cpp
    │   │   │   ├── example-NearestNeighbor.cpp
    │   │   │   ├── example-NormalGravity.cpp
    │   │   │   ├── example-OSGB.cpp
    │   │   │   ├── example-PolarStereographic.cpp
    │   │   │   ├── example-PolygonArea.cpp
    │   │   │   ├── example-Rhumb.cpp
    │   │   │   ├── example-RhumbLine.cpp
    │   │   │   ├── example-SphericalEngine.cpp
    │   │   │   ├── example-SphericalHarmonic.cpp
    │   │   │   ├── example-SphericalHarmonic1.cpp
    │   │   │   ├── example-SphericalHarmonic2.cpp
    │   │   │   ├── example-TransverseMercator.cpp
    │   │   │   ├── example-TransverseMercatorExact.cpp
    │   │   │   ├── example-UTMUPS.cpp
    │   │   │   ├── example-Utility.cpp
    │   │   │   └── make-egmcof.cpp
    │   │   ├── include
    │   │   │   ├── GeographicLib
    │   │   │   │   ├── Accumulator.hpp
    │   │   │   │   ├── AlbersEqualArea.hpp
    │   │   │   │   ├── AzimuthalEquidistant.hpp
    │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   ├── CassiniSoldner.hpp
    │   │   │   │   ├── CircularEngine.hpp
    │   │   │   │   ├── Config-ac.h.in
    │   │   │   │   ├── Config.h
    │   │   │   │   ├── Config.h.in
    │   │   │   │   ├── Constants.hpp
    │   │   │   │   ├── DMS.hpp
    │   │   │   │   ├── Ellipsoid.hpp
    │   │   │   │   ├── EllipticFunction.hpp
    │   │   │   │   ├── GARS.hpp
    │   │   │   │   ├── GeoCoords.hpp
    │   │   │   │   ├── Geocentric.hpp
    │   │   │   │   ├── Geodesic.hpp
    │   │   │   │   ├── GeodesicExact.hpp
    │   │   │   │   ├── GeodesicLine.hpp
    │   │   │   │   ├── GeodesicLineExact.hpp
    │   │   │   │   ├── Geohash.hpp
    │   │   │   │   ├── Geoid.hpp
    │   │   │   │   ├── Georef.hpp
    │   │   │   │   ├── Gnomonic.hpp
    │   │   │   │   ├── GravityCircle.hpp
    │   │   │   │   ├── GravityModel.hpp
    │   │   │   │   ├── LambertConformalConic.hpp
    │   │   │   │   ├── LocalCartesian.hpp
    │   │   │   │   ├── MGRS.hpp
    │   │   │   │   ├── MagneticCircle.hpp
    │   │   │   │   ├── MagneticModel.hpp
    │   │   │   │   ├── Math.hpp
    │   │   │   │   ├── NearestNeighbor.hpp
    │   │   │   │   ├── NormalGravity.hpp
    │   │   │   │   ├── OSGB.hpp
    │   │   │   │   ├── PolarStereographic.hpp
    │   │   │   │   ├── PolygonArea.hpp
    │   │   │   │   ├── Rhumb.hpp
    │   │   │   │   ├── SphericalEngine.hpp
    │   │   │   │   ├── SphericalHarmonic.hpp
    │   │   │   │   ├── SphericalHarmonic1.hpp
    │   │   │   │   ├── SphericalHarmonic2.hpp
    │   │   │   │   ├── TransverseMercator.hpp
    │   │   │   │   ├── TransverseMercatorExact.hpp
    │   │   │   │   ├── UTMUPS.hpp
    │   │   │   │   └── Utility.hpp
    │   │   │   ├── Makefile.am
    │   │   │   ├── Makefile.in
    │   │   │   └── Makefile.mk
    │   │   ├── install-sh
    │   │   ├── java
    │   │   │   ├── README.txt
    │   │   │   ├── direct
    │   │   │   │   ├── pom.xml
    │   │   │   │   └── src
    │   │   │   │   │   └── main
    │   │   │   │   │       └── java
    │   │   │   │   │           └── Direct.java
    │   │   │   ├── inverse
    │   │   │   │   ├── pom.xml
    │   │   │   │   └── src
    │   │   │   │   │   └── main
    │   │   │   │   │       └── java
    │   │   │   │   │           └── Inverse.java
    │   │   │   ├── planimeter
    │   │   │   │   ├── pom.xml
    │   │   │   │   └── src
    │   │   │   │   │   └── main
    │   │   │   │   │       └── java
    │   │   │   │   │           └── Planimeter.java
    │   │   │   ├── pom.xml
    │   │   │   └── src
    │   │   │   │   ├── main
    │   │   │   │       └── java
    │   │   │   │       │   └── net
    │   │   │   │       │       └── sf
    │   │   │   │       │           └── geographiclib
    │   │   │   │       │               ├── Accumulator.java
    │   │   │   │       │               ├── Constants.java
    │   │   │   │       │               ├── GeoMath.java
    │   │   │   │       │               ├── Geodesic.java
    │   │   │   │       │               ├── GeodesicData.java
    │   │   │   │       │               ├── GeodesicLine.java
    │   │   │   │       │               ├── GeodesicMask.java
    │   │   │   │       │               ├── GeographicErr.java
    │   │   │   │       │               ├── Gnomonic.java
    │   │   │   │       │               ├── GnomonicData.java
    │   │   │   │       │               ├── Pair.java
    │   │   │   │       │               ├── PolygonArea.java
    │   │   │   │       │               ├── PolygonResult.java
    │   │   │   │       │               └── package-info.java
    │   │   │   │   └── test
    │   │   │   │       └── java
    │   │   │   │           └── net
    │   │   │   │               └── sf
    │   │   │   │                   └── geographiclib
    │   │   │   │                       └── GeodesicTest.java
    │   │   ├── js
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── GeographicLib.md
    │   │   │   ├── HEADER.js
    │   │   │   ├── Makefile.am
    │   │   │   ├── Makefile.in
    │   │   │   ├── Makefile.mk
    │   │   │   ├── README.md
    │   │   │   ├── conf.json
    │   │   │   ├── doc
    │   │   │   │   ├── 1-geodesics.md
    │   │   │   │   ├── 2-interface.md
    │   │   │   │   ├── 3-examples.md
    │   │   │   │   └── tutorials.json
    │   │   │   ├── js-cat.sh
    │   │   │   ├── js-compress.sh
    │   │   │   ├── package.json
    │   │   │   ├── samples
    │   │   │   │   ├── geod-calc.html
    │   │   │   │   ├── geod-google-instructions.html
    │   │   │   │   └── geod-google.html
    │   │   │   ├── src
    │   │   │   │   ├── DMS.js
    │   │   │   │   ├── Geodesic.js
    │   │   │   │   ├── GeodesicLine.js
    │   │   │   │   ├── Math.js
    │   │   │   │   └── PolygonArea.js
    │   │   │   └── test
    │   │   │   │   └── geodesictest.js
    │   │   ├── legacy
    │   │   │   ├── C
    │   │   │   │   ├── 00README.txt
    │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   ├── direct.c
    │   │   │   │   ├── geodesic.c
    │   │   │   │   ├── geodesic.h
    │   │   │   │   ├── geodtest.c
    │   │   │   │   ├── inverse.c
    │   │   │   │   └── planimeter.c
    │   │   │   └── Fortran
    │   │   │   │   ├── 00README.txt
    │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   ├── geoddirect.for
    │   │   │   │   ├── geodesic.for
    │   │   │   │   ├── geodesic.inc
    │   │   │   │   ├── geodinverse.for
    │   │   │   │   ├── geodtest.for
    │   │   │   │   ├── ngscommon.for
    │   │   │   │   ├── ngsforward.for
    │   │   │   │   ├── ngsinverse.for
    │   │   │   │   └── planimeter.for
    │   │   ├── ltmain.sh
    │   │   ├── m4
    │   │   │   ├── libtool.m4
    │   │   │   ├── ltoptions.m4
    │   │   │   ├── ltsugar.m4
    │   │   │   ├── ltversion.m4
    │   │   │   ├── lt~obsolete.m4
    │   │   │   └── pkg.m4
    │   │   ├── man
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── CartConvert.1
    │   │   │   ├── CartConvert.1.html
    │   │   │   ├── CartConvert.pod
    │   │   │   ├── CartConvert.usage
    │   │   │   ├── ConicProj.1
    │   │   │   ├── ConicProj.1.html
    │   │   │   ├── ConicProj.pod
    │   │   │   ├── ConicProj.usage
    │   │   │   ├── GeoConvert.1
    │   │   │   ├── GeoConvert.1.html
    │   │   │   ├── GeoConvert.pod
    │   │   │   ├── GeoConvert.usage
    │   │   │   ├── GeodSolve.1
    │   │   │   ├── GeodSolve.1.html
    │   │   │   ├── GeodSolve.pod
    │   │   │   ├── GeodSolve.usage
    │   │   │   ├── GeodesicProj.1
    │   │   │   ├── GeodesicProj.1.html
    │   │   │   ├── GeodesicProj.pod
    │   │   │   ├── GeodesicProj.usage
    │   │   │   ├── GeoidEval.1
    │   │   │   ├── GeoidEval.1.html
    │   │   │   ├── GeoidEval.pod
    │   │   │   ├── GeoidEval.usage
    │   │   │   ├── Gravity.1
    │   │   │   ├── Gravity.1.html
    │   │   │   ├── Gravity.pod
    │   │   │   ├── Gravity.usage
    │   │   │   ├── MagneticField.1
    │   │   │   ├── MagneticField.1.html
    │   │   │   ├── MagneticField.pod
    │   │   │   ├── MagneticField.usage
    │   │   │   ├── Makefile.am
    │   │   │   ├── Makefile.in
    │   │   │   ├── Makefile.mk
    │   │   │   ├── Planimeter.1
    │   │   │   ├── Planimeter.1.html
    │   │   │   ├── Planimeter.pod
    │   │   │   ├── Planimeter.usage
    │   │   │   ├── RhumbSolve.1
    │   │   │   ├── RhumbSolve.1.html
    │   │   │   ├── RhumbSolve.pod
    │   │   │   ├── RhumbSolve.usage
    │   │   │   ├── TransverseMercatorProj.1
    │   │   │   ├── TransverseMercatorProj.1.html
    │   │   │   ├── TransverseMercatorProj.pod
    │   │   │   ├── TransverseMercatorProj.usage
    │   │   │   ├── dummy.1.html.in
    │   │   │   ├── dummy.1.in
    │   │   │   ├── dummy.usage.in
    │   │   │   ├── makeusage.sh
    │   │   │   └── script.8.in
    │   │   ├── matlab
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── Makefile.am
    │   │   │   ├── Makefile.in
    │   │   │   ├── Makefile.mk
    │   │   │   ├── geographiclib-legacy
    │   │   │   │   ├── Contents.m
    │   │   │   │   ├── geocentricforward.m
    │   │   │   │   ├── geocentricreverse.m
    │   │   │   │   ├── geodesicdirect.m
    │   │   │   │   ├── geodesicinverse.m
    │   │   │   │   ├── geodesicline.m
    │   │   │   │   ├── geoidheight.m
    │   │   │   │   ├── localcartesianforward.m
    │   │   │   │   ├── localcartesianreverse.m
    │   │   │   │   ├── mgrsforward.m
    │   │   │   │   ├── mgrsreverse.m
    │   │   │   │   ├── polygonarea.m
    │   │   │   │   ├── utmupsforward.m
    │   │   │   │   └── utmupsreverse.m
    │   │   │   └── geographiclib
    │   │   │   │   ├── Contents.m
    │   │   │   │   ├── cassini_fwd.m
    │   │   │   │   ├── cassini_inv.m
    │   │   │   │   ├── defaultellipsoid.m
    │   │   │   │   ├── ecc2flat.m
    │   │   │   │   ├── eqdazim_fwd.m
    │   │   │   │   ├── eqdazim_inv.m
    │   │   │   │   ├── flat2ecc.m
    │   │   │   │   ├── gedistance.m
    │   │   │   │   ├── gedoc.m
    │   │   │   │   ├── geocent_fwd.m
    │   │   │   │   ├── geocent_inv.m
    │   │   │   │   ├── geodarea.m
    │   │   │   │   ├── geoddistance.m
    │   │   │   │   ├── geoddoc.m
    │   │   │   │   ├── geodreckon.m
    │   │   │   │   ├── geographiclib_test.m
    │   │   │   │   ├── geoid_height.m
    │   │   │   │   ├── geoid_load.m
    │   │   │   │   ├── gereckon.m
    │   │   │   │   ├── gnomonic_fwd.m
    │   │   │   │   ├── gnomonic_inv.m
    │   │   │   │   ├── loccart_fwd.m
    │   │   │   │   ├── loccart_inv.m
    │   │   │   │   ├── mgrs_fwd.m
    │   │   │   │   ├── mgrs_inv.m
    │   │   │   │   ├── polarst_fwd.m
    │   │   │   │   ├── polarst_inv.m
    │   │   │   │   ├── private
    │   │   │   │       ├── A1m1f.m
    │   │   │   │       ├── A2m1f.m
    │   │   │   │       ├── A3coeff.m
    │   │   │   │       ├── A3f.m
    │   │   │   │       ├── AngDiff.m
    │   │   │   │       ├── AngNormalize.m
    │   │   │   │       ├── AngRound.m
    │   │   │   │       ├── C1f.m
    │   │   │   │       ├── C1pf.m
    │   │   │   │       ├── C2f.m
    │   │   │   │       ├── C3coeff.m
    │   │   │   │       ├── C3f.m
    │   │   │   │       ├── C4coeff.m
    │   │   │   │       ├── C4f.m
    │   │   │   │       ├── G4coeff.m
    │   │   │   │       ├── GeoRotation.m
    │   │   │   │       ├── LatFix.m
    │   │   │   │       ├── SinCosSeries.m
    │   │   │   │       ├── atan2dx.m
    │   │   │   │       ├── cbrtx.m
    │   │   │   │       ├── copysignx.m
    │   │   │   │       ├── cvmgt.m
    │   │   │   │       ├── eatanhe.m
    │   │   │   │       ├── geoid_file.m
    │   │   │   │       ├── geoid_load_file.m
    │   │   │   │       ├── norm2.m
    │   │   │   │       ├── sincosdx.m
    │   │   │   │       ├── sumx.m
    │   │   │   │       ├── swap.m
    │   │   │   │       ├── tauf.m
    │   │   │   │       └── taupf.m
    │   │   │   │   ├── projdoc.m
    │   │   │   │   ├── tranmerc_fwd.m
    │   │   │   │   ├── tranmerc_inv.m
    │   │   │   │   ├── utmups_fwd.m
    │   │   │   │   └── utmups_inv.m
    │   │   ├── maxima
    │   │   │   ├── Makefile.mk
    │   │   │   ├── auxlat.mac
    │   │   │   ├── ellint.mac
    │   │   │   ├── gearea.mac
    │   │   │   ├── geod.mac
    │   │   │   ├── geodesic.mac
    │   │   │   ├── polyprint.mac
    │   │   │   ├── rhumbarea.mac
    │   │   │   ├── tm.mac
    │   │   │   └── tmseries.mac
    │   │   ├── missing
    │   │   ├── python
    │   │   │   ├── MANIFEST.in
    │   │   │   ├── Makefile.am
    │   │   │   ├── Makefile.in
    │   │   │   ├── Makefile.mk
    │   │   │   ├── README.rst
    │   │   │   ├── doc
    │   │   │   │   ├── code.rst
    │   │   │   │   ├── conf.py
    │   │   │   │   ├── examples.rst
    │   │   │   │   ├── geodesics.rst
    │   │   │   │   ├── index.rst
    │   │   │   │   └── interface.rst
    │   │   │   ├── geographiclib
    │   │   │   │   ├── CMakeLists.txt
    │   │   │   │   ├── __init__.py
    │   │   │   │   ├── accumulator.py
    │   │   │   │   ├── constants.py
    │   │   │   │   ├── geodesic.py
    │   │   │   │   ├── geodesiccapability.py
    │   │   │   │   ├── geodesicline.py
    │   │   │   │   ├── geomath.py
    │   │   │   │   ├── polygonarea.py
    │   │   │   │   └── test
    │   │   │   │   │   ├── __init__.py
    │   │   │   │   │   └── test_geodesic.py
    │   │   │   └── setup.py
    │   │   ├── src
    │   │   │   ├── Accumulator.cpp
    │   │   │   ├── AlbersEqualArea.cpp
    │   │   │   ├── AzimuthalEquidistant.cpp
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── CassiniSoldner.cpp
    │   │   │   ├── CircularEngine.cpp
    │   │   │   ├── DMS.cpp
    │   │   │   ├── Ellipsoid.cpp
    │   │   │   ├── EllipticFunction.cpp
    │   │   │   ├── GARS.cpp
    │   │   │   ├── GeoCoords.cpp
    │   │   │   ├── Geocentric.cpp
    │   │   │   ├── Geodesic.cpp
    │   │   │   ├── GeodesicExact.cpp
    │   │   │   ├── GeodesicExactC4.cpp
    │   │   │   ├── GeodesicLine.cpp
    │   │   │   ├── GeodesicLineExact.cpp
    │   │   │   ├── Geohash.cpp
    │   │   │   ├── Geoid.cpp
    │   │   │   ├── Georef.cpp
    │   │   │   ├── Gnomonic.cpp
    │   │   │   ├── GravityCircle.cpp
    │   │   │   ├── GravityModel.cpp
    │   │   │   ├── LambertConformalConic.cpp
    │   │   │   ├── LocalCartesian.cpp
    │   │   │   ├── MGRS.cpp
    │   │   │   ├── MagneticCircle.cpp
    │   │   │   ├── MagneticModel.cpp
    │   │   │   ├── Makefile.am
    │   │   │   ├── Makefile.in
    │   │   │   ├── Makefile.mk
    │   │   │   ├── Math.cpp
    │   │   │   ├── NormalGravity.cpp
    │   │   │   ├── OSGB.cpp
    │   │   │   ├── PolarStereographic.cpp
    │   │   │   ├── PolygonArea.cpp
    │   │   │   ├── Rhumb.cpp
    │   │   │   ├── SphericalEngine.cpp
    │   │   │   ├── TransverseMercator.cpp
    │   │   │   ├── TransverseMercatorExact.cpp
    │   │   │   ├── UTMUPS.cpp
    │   │   │   └── Utility.cpp
    │   │   ├── tools
    │   │   │   ├── CMakeLists.txt
    │   │   │   ├── CartConvert.cpp
    │   │   │   ├── ConicProj.cpp
    │   │   │   ├── GeoConvert.cpp
    │   │   │   ├── GeodSolve.cpp
    │   │   │   ├── GeodesicProj.cpp
    │   │   │   ├── GeoidEval.cpp
    │   │   │   ├── Gravity.cpp
    │   │   │   ├── MagneticField.cpp
    │   │   │   ├── Makefile.am
    │   │   │   ├── Makefile.in
    │   │   │   ├── Makefile.mk
    │   │   │   ├── Planimeter.cpp
    │   │   │   ├── RhumbSolve.cpp
    │   │   │   ├── TransverseMercatorProj.cpp
    │   │   │   ├── geographiclib-get-geoids.sh
    │   │   │   ├── geographiclib-get-gravity.sh
    │   │   │   ├── geographiclib-get-magnetic.sh
    │   │   │   └── tests.cmake
    │   │   ├── windows
    │   │   │   ├── CartConvert-vc10.vcxproj
    │   │   │   ├── CartConvert-vc10x.vcxproj
    │   │   │   ├── CartConvert-vc9.vcproj
    │   │   │   ├── ConicProj-vc10.vcxproj
    │   │   │   ├── ConicProj-vc10x.vcxproj
    │   │   │   ├── ConicProj-vc9.vcproj
    │   │   │   ├── GeoConvert-vc10.vcxproj
    │   │   │   ├── GeoConvert-vc10x.vcxproj
    │   │   │   ├── GeoConvert-vc9.vcproj
    │   │   │   ├── GeodSolve-vc10.vcxproj
    │   │   │   ├── GeodSolve-vc10x.vcxproj
    │   │   │   ├── GeodSolve-vc9.vcproj
    │   │   │   ├── GeodesicProj-vc10.vcxproj
    │   │   │   ├── GeodesicProj-vc10x.vcxproj
    │   │   │   ├── GeodesicProj-vc9.vcproj
    │   │   │   ├── Geographic-vc10.vcxproj
    │   │   │   ├── Geographic-vc10x.vcxproj
    │   │   │   ├── Geographic-vc13n.vcxproj
    │   │   │   ├── Geographic-vc9.vcproj
    │   │   │   ├── GeographicLib-vc10.sln
    │   │   │   ├── GeographicLib-vc10x.sln
    │   │   │   ├── GeographicLib-vc9.sln
    │   │   │   ├── GeoidEval-vc10.vcxproj
    │   │   │   ├── GeoidEval-vc10x.vcxproj
    │   │   │   ├── GeoidEval-vc9.vcproj
    │   │   │   ├── Gravity-vc10.vcxproj
    │   │   │   ├── Gravity-vc10x.vcxproj
    │   │   │   ├── Gravity-vc9.vcproj
    │   │   │   ├── MagneticField-vc10.vcxproj
    │   │   │   ├── MagneticField-vc10x.vcxproj
    │   │   │   ├── MagneticField-vc9.vcproj
    │   │   │   ├── NETGeographic-vc10.sln
    │   │   │   ├── NETGeographic-vc10.vcxproj
    │   │   │   ├── NETGeographic-vc13.sln
    │   │   │   ├── NETGeographic-vc13.vcxproj
    │   │   │   ├── Planimeter-vc10.vcxproj
    │   │   │   ├── Planimeter-vc10x.vcxproj
    │   │   │   ├── Planimeter-vc9.vcproj
    │   │   │   ├── RhumbSolve-vc10.vcxproj
    │   │   │   ├── RhumbSolve-vc10x.vcxproj
    │   │   │   ├── RhumbSolve-vc9.vcproj
    │   │   │   ├── TransverseMercatorProj-vc10.vcxproj
    │   │   │   ├── TransverseMercatorProj-vc10x.vcxproj
    │   │   │   └── TransverseMercatorProj-vc9.vcproj
    │   │   └── wrapper
    │   │   │   ├── 00README.txt
    │   │   │   ├── C
    │   │   │       ├── 00README.txt
    │   │   │       ├── CMakeLists.txt
    │   │   │       ├── cgeoid.cpp
    │   │   │       ├── cgeoid.h
    │   │   │       └── geoidtest.c
    │   │   │   ├── js
    │   │   │       └── 00README.txt
    │   │   │   ├── matlab
    │   │   │       ├── 00README.txt
    │   │   │       ├── geodesicinverse.cpp
    │   │   │       ├── geodesicinverse.m
    │   │   │       └── geographiclibinterface.m
    │   │   │   └── python
    │   │   │       ├── 00README.txt
    │   │   │       ├── CMakeLists.txt
    │   │   │       └── PyGeographicLib.cpp
    │   ├── Spectra
    │   │   ├── DavidsonSymEigsSolver.h
    │   │   ├── GenEigsBase.h
    │   │   ├── GenEigsComplexShiftSolver.h
    │   │   ├── GenEigsRealShiftSolver.h
    │   │   ├── GenEigsSolver.h
    │   │   ├── HermEigsBase.h
    │   │   ├── HermEigsSolver.h
    │   │   ├── JDSymEigsBase.h
    │   │   ├── LinAlg
    │   │   │   ├── Arnoldi.h
    │   │   │   ├── BKLDLT.h
    │   │   │   ├── DoubleShiftQR.h
    │   │   │   ├── Lanczos.h
    │   │   │   ├── Orthogonalization.h
    │   │   │   ├── RitzPairs.h
    │   │   │   ├── SearchSpace.h
    │   │   │   ├── TridiagEigen.h
    │   │   │   ├── UpperHessenbergEigen.h
    │   │   │   ├── UpperHessenbergQR.h
    │   │   │   └── UpperHessenbergSchur.h
    │   │   ├── MatOp
    │   │   │   ├── DenseCholesky.h
    │   │   │   ├── DenseGenComplexShiftSolve.h
    │   │   │   ├── DenseGenMatProd.h
    │   │   │   ├── DenseGenRealShiftSolve.h
    │   │   │   ├── DenseHermMatProd.h
    │   │   │   ├── DenseSymMatProd.h
    │   │   │   ├── DenseSymShiftSolve.h
    │   │   │   ├── SparseCholesky.h
    │   │   │   ├── SparseGenComplexShiftSolve.h
    │   │   │   ├── SparseGenMatProd.h
    │   │   │   ├── SparseGenRealShiftSolve.h
    │   │   │   ├── SparseHermMatProd.h
    │   │   │   ├── SparseRegularInverse.h
    │   │   │   ├── SparseSymMatProd.h
    │   │   │   ├── SparseSymShiftSolve.h
    │   │   │   ├── SymShiftInvert.h
    │   │   │   └── internal
    │   │   │   │   ├── ArnoldiOp.h
    │   │   │   │   ├── SymGEigsBucklingOp.h
    │   │   │   │   ├── SymGEigsCayleyOp.h
    │   │   │   │   ├── SymGEigsCholeskyOp.h
    │   │   │   │   ├── SymGEigsRegInvOp.h
    │   │   │   │   └── SymGEigsShiftInvertOp.h
    │   │   ├── SymEigsShiftSolver.h
    │   │   ├── SymEigsSolver.h
    │   │   ├── SymGEigsShiftSolver.h
    │   │   ├── SymGEigsSolver.h
    │   │   ├── Util
    │   │   │   ├── CompInfo.h
    │   │   │   ├── GEigsMode.h
    │   │   │   ├── SelectionRule.h
    │   │   │   ├── SimpleRandom.h
    │   │   │   ├── TypeTraits.h
    │   │   │   └── Version.h
    │   │   └── contrib
    │   │   │   ├── LOBPCGSolver.h
    │   │   │   └── PartialSVDSolver.h
    │   ├── SuiteSparse_config
    │   │   ├── Makefile
    │   │   ├── README.txt
    │   │   ├── SuiteSparse_config.c
    │   │   ├── SuiteSparse_config.h
    │   │   ├── SuiteSparse_config.mk
    │   │   └── xerbla
    │   │   │   ├── Makefile
    │   │   │   ├── xerbla.c
    │   │   │   ├── xerbla.f
    │   │   │   └── xerbla.h
    │   ├── cephes
    │   │   ├── CMakeLists.txt
    │   │   ├── LICENSE.txt
    │   │   ├── README.md
    │   │   ├── cephes.h
    │   │   ├── cephes
    │   │   │   ├── airy.c
    │   │   │   ├── bdtr.c
    │   │   │   ├── besselpoly.c
    │   │   │   ├── beta.c
    │   │   │   ├── btdtr.c
    │   │   │   ├── cbrt.c
    │   │   │   ├── chbevl.c
    │   │   │   ├── chdtr.c
    │   │   │   ├── const.c
    │   │   │   ├── dawsn.c
    │   │   │   ├── dd_idefs.h
    │   │   │   ├── dd_real.c
    │   │   │   ├── dd_real.h
    │   │   │   ├── dd_real_idefs.h
    │   │   │   ├── ellie.c
    │   │   │   ├── ellik.c
    │   │   │   ├── ellpe.c
    │   │   │   ├── ellpj.c
    │   │   │   ├── ellpk.c
    │   │   │   ├── erfinv.c
    │   │   │   ├── exp10.c
    │   │   │   ├── exp2.c
    │   │   │   ├── expn.c
    │   │   │   ├── expn.h
    │   │   │   ├── fdtr.c
    │   │   │   ├── fresnl.c
    │   │   │   ├── gamma.c
    │   │   │   ├── gammasgn.c
    │   │   │   ├── gdtr.c
    │   │   │   ├── hyp2f1.c
    │   │   │   ├── hyperg.c
    │   │   │   ├── i0.c
    │   │   │   ├── i1.c
    │   │   │   ├── igam.c
    │   │   │   ├── igam.h
    │   │   │   ├── igami.c
    │   │   │   ├── incbet.c
    │   │   │   ├── incbi.c
    │   │   │   ├── j0.c
    │   │   │   ├── j1.c
    │   │   │   ├── jv.c
    │   │   │   ├── k0.c
    │   │   │   ├── k1.c
    │   │   │   ├── kn.c
    │   │   │   ├── kolmogorov.c
    │   │   │   ├── lanczos.c
    │   │   │   ├── lanczos.h
    │   │   │   ├── mconf.h
    │   │   │   ├── nbdtr.c
    │   │   │   ├── ndtr.c
    │   │   │   ├── ndtri.c
    │   │   │   ├── owens_t.c
    │   │   │   ├── pdtr.c
    │   │   │   ├── poch.c
    │   │   │   ├── polevl.h
    │   │   │   ├── psi.c
    │   │   │   ├── rgamma.c
    │   │   │   ├── round.c
    │   │   │   ├── scipy_iv.c
    │   │   │   ├── sf_error.c
    │   │   │   ├── sf_error.h
    │   │   │   ├── shichi.c
    │   │   │   ├── sici.c
    │   │   │   ├── sindg.c
    │   │   │   ├── sinpi.c
    │   │   │   ├── spence.c
    │   │   │   ├── stdtr.c
    │   │   │   ├── struve.c
    │   │   │   ├── tandg.c
    │   │   │   ├── tukey.c
    │   │   │   ├── unity.c
    │   │   │   ├── yn.c
    │   │   │   ├── yv.c
    │   │   │   ├── zeta.c
    │   │   │   └── zetac.c
    │   │   └── dllexport.h
    │   ├── ceres
    │   │   ├── CMakeLists.txt
    │   │   ├── autodiff.h
    │   │   ├── eigen.h
    │   │   ├── example.h
    │   │   ├── fixed_array.h
    │   │   ├── fpclassify.h
    │   │   ├── jet.h
    │   │   ├── macros.h
    │   │   ├── manual_constructor.h
    │   │   ├── rotation.h
    │   │   └── variadic_evaluate.h
    │   └── metis
    │   │   ├── BUILD-Windows.txt
    │   │   ├── BUILD.txt
    │   │   ├── CMakeLists.txt
    │   │   ├── Changelog
    │   │   ├── GKlib
    │   │       ├── BUILD.txt
    │   │       ├── CMakeLists.txt
    │   │       ├── GKlib.h
    │   │       ├── GKlibSystem.cmake
    │   │       ├── Makefile
    │   │       ├── b64.c
    │   │       ├── blas.c
    │   │       ├── conf
    │   │       │   └── check_thread_storage.c
    │   │       ├── csr.c
    │   │       ├── error.c
    │   │       ├── evaluate.c
    │   │       ├── fkvkselect.c
    │   │       ├── fs.c
    │   │       ├── getopt.c
    │   │       ├── gk_arch.h
    │   │       ├── gk_defs.h
    │   │       ├── gk_externs.h
    │   │       ├── gk_getopt.h
    │   │       ├── gk_macros.h
    │   │       ├── gk_mkblas.h
    │   │       ├── gk_mkmemory.h
    │   │       ├── gk_mkpqueue.h
    │   │       ├── gk_mkpqueue2.h
    │   │       ├── gk_mkrandom.h
    │   │       ├── gk_mksort.h
    │   │       ├── gk_mkutils.h
    │   │       ├── gk_proto.h
    │   │       ├── gk_struct.h
    │   │       ├── gk_types.h
    │   │       ├── gkregex.c
    │   │       ├── gkregex.h
    │   │       ├── graph.c
    │   │       ├── htable.c
    │   │       ├── io.c
    │   │       ├── itemsets.c
    │   │       ├── mcore.c
    │   │       ├── memory.c
    │   │       ├── ms_inttypes.h
    │   │       ├── ms_stat.h
    │   │       ├── ms_stdint.h
    │   │       ├── omp.c
    │   │       ├── pdb.c
    │   │       ├── pqueue.c
    │   │       ├── random.c
    │   │       ├── rw.c
    │   │       ├── seq.c
    │   │       ├── sort.c
    │   │       ├── string.c
    │   │       ├── test
    │   │       │   ├── CMakeLists.txt
    │   │       │   ├── Makefile.in.old
    │   │       │   ├── Makefile.old
    │   │       │   ├── fis.c
    │   │       │   ├── gkgraph.c
    │   │       │   ├── gksort.c
    │   │       │   ├── rw.c
    │   │       │   └── strings.c
    │   │       ├── timers.c
    │   │       ├── tokenizer.c
    │   │       └── util.c
    │   │   ├── Install.txt
    │   │   ├── LICENSE.txt
    │   │   ├── Makefile
    │   │   ├── graphs
    │   │       ├── 4elt.graph
    │   │       ├── README
    │   │       ├── copter2.graph
    │   │       ├── mdual.graph
    │   │       ├── metis.mesh
    │   │       └── test.mgraph
    │   │   ├── include
    │   │       ├── CMakeLists.txt
    │   │       └── metis.h
    │   │   ├── libmetis
    │   │       ├── CMakeLists.txt
    │   │       ├── auxapi.c
    │   │       ├── balance.c
    │   │       ├── bucketsort.c
    │   │       ├── checkgraph.c
    │   │       ├── coarsen.c
    │   │       ├── compress.c
    │   │       ├── contig.c
    │   │       ├── debug.c
    │   │       ├── defs.h
    │   │       ├── fm.c
    │   │       ├── fortran.c
    │   │       ├── frename.c
    │   │       ├── gklib.c
    │   │       ├── gklib_defs.h
    │   │       ├── gklib_rename.h
    │   │       ├── graph.c
    │   │       ├── initpart.c
    │   │       ├── kmetis.c
    │   │       ├── kwayfm.c
    │   │       ├── kwayrefine.c
    │   │       ├── macros.h
    │   │       ├── mcutil.c
    │   │       ├── mesh.c
    │   │       ├── meshpart.c
    │   │       ├── metislib.h
    │   │       ├── minconn.c
    │   │       ├── mincover.c
    │   │       ├── mmd.c
    │   │       ├── ometis.c
    │   │       ├── options.c
    │   │       ├── parmetis.c
    │   │       ├── pmetis.c
    │   │       ├── proto.h
    │   │       ├── refine.c
    │   │       ├── rename.h
    │   │       ├── separator.c
    │   │       ├── sfm.c
    │   │       ├── srefine.c
    │   │       ├── stat.c
    │   │       ├── stdheaders.h
    │   │       ├── struct.h
    │   │       ├── timing.c
    │   │       ├── util.c
    │   │       └── wspace.c
    │   │   ├── manual
    │   │       └── manual.pdf
    │   │   ├── metis.h
    │   │   ├── programs
    │   │       ├── CMakeLists.txt
    │   │       ├── cmdline_gpmetis.c
    │   │       ├── cmdline_m2gmetis.c
    │   │       ├── cmdline_mpmetis.c
    │   │       ├── cmdline_ndmetis.c
    │   │       ├── cmpfillin.c
    │   │       ├── defs.h
    │   │       ├── gpmetis.c
    │   │       ├── graphchk.c
    │   │       ├── io.c
    │   │       ├── m2gmetis.c
    │   │       ├── metisbin.h
    │   │       ├── mpmetis.c
    │   │       ├── ndmetis.c
    │   │       ├── proto.h
    │   │       ├── smbfactor.c
    │   │       ├── stat.c
    │   │       └── struct.h
    │   │   └── vsgen.bat
    ├── CMakeLists.txt
    ├── base
    │   ├── CMakeLists.txt
    │   ├── ConcurrentMap.h
    │   ├── DSFMap.h
    │   ├── DSFVector.cpp
    │   ├── DSFVector.h
    │   ├── FastDefaultAllocator.h
    │   ├── FastList.h
    │   ├── FastMap.h
    │   ├── FastSet.h
    │   ├── FastVector.h
    │   ├── GenericValue.h
    │   ├── Group.h
    │   ├── Lie.h
    │   ├── Manifold.h
    │   ├── Matrix.cpp
    │   ├── Matrix.h
    │   ├── MatrixLieGroup.h
    │   ├── MatrixSerialization.h
    │   ├── OptionalJacobian.h
    │   ├── ProductLieGroup.h
    │   ├── SymmetricBlockMatrix.cpp
    │   ├── SymmetricBlockMatrix.h
    │   ├── Testable.h
    │   ├── TestableAssertions.h
    │   ├── ThreadsafeException.h
    │   ├── Value.h
    │   ├── Vector.cpp
    │   ├── Vector.h
    │   ├── VectorSerialization.h
    │   ├── VectorSpace.h
    │   ├── VerticalBlockMatrix.cpp
    │   ├── VerticalBlockMatrix.h
    │   ├── WeightedSampler.h
    │   ├── base.i
    │   ├── chartTesting.h
    │   ├── cholesky.cpp
    │   ├── cholesky.h
    │   ├── concepts.h
    │   ├── debug.cpp
    │   ├── debug.h
    │   ├── kruskal-inl.h
    │   ├── kruskal.h
    │   ├── lieProxies.h
    │   ├── make_shared.h
    │   ├── numericalDerivative.h
    │   ├── serialization.h
    │   ├── serializationTestHelpers.h
    │   ├── std_optional_serialization.h
    │   ├── testLie.h
    │   ├── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testCholesky.cpp
    │   │   ├── testDSFMap.cpp
    │   │   ├── testDSFVector.cpp
    │   │   ├── testDebug.cpp
    │   │   ├── testFastContainers.cpp
    │   │   ├── testGroup.cpp
    │   │   ├── testKruskal.cpp
    │   │   ├── testMatrix.cpp
    │   │   ├── testNumericalDerivative.cpp
    │   │   ├── testOptionalJacobian.cpp
    │   │   ├── testSerializationBase.cpp
    │   │   ├── testStdOptionalSerialization.cpp
    │   │   ├── testSymmetricBlockMatrix.cpp
    │   │   ├── testTreeTraversal.cpp
    │   │   ├── testVector.cpp
    │   │   ├── testVerticalBlockMatrix.cpp
    │   │   └── testWeightedSampler.cpp
    │   ├── timing.cpp
    │   ├── timing.h
    │   ├── treeTraversal-inst.h
    │   ├── treeTraversal
    │   │   ├── parallelTraversalTasks.h
    │   │   └── statistics.h
    │   ├── types.cpp
    │   ├── types.h
    │   ├── utilities.cpp
    │   └── utilities.h
    ├── basis
    │   ├── Basis.cpp
    │   ├── Basis.h
    │   ├── BasisFactors.h
    │   ├── CMakeLists.txt
    │   ├── Chebyshev.cpp
    │   ├── Chebyshev.h
    │   ├── Chebyshev2.cpp
    │   ├── Chebyshev2.h
    │   ├── FitBasis.h
    │   ├── Fourier.h
    │   ├── basis.i
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testBasisFactors.cpp
    │   │   ├── testChebyshev.cpp
    │   │   ├── testChebyshev2.cpp
    │   │   └── testFourier.cpp
    ├── config.h.in
    ├── constrained
    │   ├── AugmentedLagrangianOptimizer.cpp
    │   ├── AugmentedLagrangianOptimizer.h
    │   ├── CMakeLists.txt
    │   ├── ConstrainedOptProblem.cpp
    │   ├── ConstrainedOptProblem.h
    │   ├── ConstrainedOptimizer.h
    │   ├── InequalityPenaltyFunction.cpp
    │   ├── InequalityPenaltyFunction.h
    │   ├── NonlinearConstraint.h
    │   ├── NonlinearEqualityConstraint-inl.h
    │   ├── NonlinearEqualityConstraint.cpp
    │   ├── NonlinearEqualityConstraint.h
    │   ├── NonlinearInequalityConstraint.cpp
    │   ├── NonlinearInequalityConstraint.h
    │   ├── PenaltyOptimizer.cpp
    │   ├── PenaltyOptimizer.h
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── constrainedExample.h
    │   │   ├── testAugmentedLagrangianOptimizer.cpp
    │   │   ├── testInequalityPenaltyFunction.cpp
    │   │   ├── testNonlinearEqualityConstraint.cpp
    │   │   ├── testNonlinearInequalityConstraint.cpp
    │   │   └── testPenaltyOptimizer.cpp
    ├── discrete
    │   ├── AlgebraicDecisionTree.cpp
    │   ├── AlgebraicDecisionTree.h
    │   ├── Assignment.h
    │   ├── CMakeLists.txt
    │   ├── DecisionTree-inl.h
    │   ├── DecisionTree.h
    │   ├── DecisionTreeFactor.cpp
    │   ├── DecisionTreeFactor.h
    │   ├── DiscreteBayesNet.cpp
    │   ├── DiscreteBayesNet.h
    │   ├── DiscreteBayesTree.cpp
    │   ├── DiscreteBayesTree.h
    │   ├── DiscreteConditional.cpp
    │   ├── DiscreteConditional.h
    │   ├── DiscreteDistribution.cpp
    │   ├── DiscreteDistribution.h
    │   ├── DiscreteEliminationTree.cpp
    │   ├── DiscreteEliminationTree.h
    │   ├── DiscreteFactor.cpp
    │   ├── DiscreteFactor.h
    │   ├── DiscreteFactorGraph.cpp
    │   ├── DiscreteFactorGraph.h
    │   ├── DiscreteJunctionTree.cpp
    │   ├── DiscreteJunctionTree.h
    │   ├── DiscreteKey.cpp
    │   ├── DiscreteKey.h
    │   ├── DiscreteLookupDAG.cpp
    │   ├── DiscreteLookupDAG.h
    │   ├── DiscreteMarginals.cpp
    │   ├── DiscreteMarginals.h
    │   ├── DiscreteSearch.cpp
    │   ├── DiscreteSearch.h
    │   ├── DiscreteValues.cpp
    │   ├── DiscreteValues.h
    │   ├── Ring.h
    │   ├── Signature.cpp
    │   ├── Signature.h
    │   ├── SignatureParser.cpp
    │   ├── SignatureParser.h
    │   ├── TableDistribution.cpp
    │   ├── TableDistribution.h
    │   ├── TableFactor.cpp
    │   ├── TableFactor.h
    │   ├── discrete.i
    │   └── tests
    │   │   ├── AsiaExample.h
    │   │   ├── CMakeLists.txt
    │   │   ├── data
    │   │       ├── FG
    │   │       │   └── alarm.fg
    │   │       └── UAI
    │   │       │   ├── sampleMARKOV.uai
    │   │       │   ├── sampleMARKOV.uai.evid
    │   │       │   ├── uai08_test1.uai
    │   │       │   ├── uai08_test1.uai.evid
    │   │       │   ├── uai08_test1.uai.output
    │   │       │   ├── uai08_test2.uai
    │   │       │   ├── uai08_test2.uai.evid
    │   │       │   ├── uai08_test2.uai.output
    │   │       │   ├── uai08_test3.uai
    │   │       │   ├── uai08_test3.uai.evid
    │   │       │   └── uai08_test3.uai.output
    │   │   ├── testAlgebraicDecisionTree.cpp
    │   │   ├── testDecisionTree.cpp
    │   │   ├── testDecisionTreeFactor.cpp
    │   │   ├── testDiscreteBayesNet.cpp
    │   │   ├── testDiscreteBayesTree.cpp
    │   │   ├── testDiscreteBayesTree.pdf
    │   │   ├── testDiscreteConditional.cpp
    │   │   ├── testDiscreteDistribution.cpp
    │   │   ├── testDiscreteFactor.cpp
    │   │   ├── testDiscreteFactorGraph.cpp
    │   │   ├── testDiscreteLookupDAG.cpp
    │   │   ├── testDiscreteMarginals.cpp
    │   │   ├── testDiscreteSearch.cpp
    │   │   ├── testDiscreteValues.cpp
    │   │   ├── testSerializationDiscrete.cpp
    │   │   ├── testSignature.cpp
    │   │   ├── testSignatureParser.cpp
    │   │   └── testTableFactor.cpp
    ├── geometry
    │   ├── BearingRange.h
    │   ├── CMakeLists.txt
    │   ├── Cal3.cpp
    │   ├── Cal3.h
    │   ├── Cal3Bundler.cpp
    │   ├── Cal3Bundler.h
    │   ├── Cal3DS2.cpp
    │   ├── Cal3DS2.h
    │   ├── Cal3DS2_Base.cpp
    │   ├── Cal3DS2_Base.h
    │   ├── Cal3Fisheye.cpp
    │   ├── Cal3Fisheye.h
    │   ├── Cal3Unified.cpp
    │   ├── Cal3Unified.h
    │   ├── Cal3_S2.cpp
    │   ├── Cal3_S2.h
    │   ├── Cal3_S2Stereo.cpp
    │   ├── Cal3_S2Stereo.h
    │   ├── Cal3f.cpp
    │   ├── Cal3f.h
    │   ├── CalibratedCamera.cpp
    │   ├── CalibratedCamera.h
    │   ├── CameraSet.h
    │   ├── Cyclic.cpp
    │   ├── Cyclic.h
    │   ├── EssentialMatrix.cpp
    │   ├── EssentialMatrix.h
    │   ├── Event.cpp
    │   ├── Event.h
    │   ├── FundamentalMatrix.cpp
    │   ├── FundamentalMatrix.h
    │   ├── Gal3.cpp
    │   ├── Gal3.h
    │   ├── Line3.cpp
    │   ├── Line3.h
    │   ├── OrientedPlane3.cpp
    │   ├── OrientedPlane3.h
    │   ├── PinholeCamera.h
    │   ├── PinholePose.h
    │   ├── PinholeSet.h
    │   ├── Point2.cpp
    │   ├── Point2.h
    │   ├── Point3.cpp
    │   ├── Point3.h
    │   ├── Pose2.cpp
    │   ├── Pose2.h
    │   ├── Pose3.cpp
    │   ├── Pose3.h
    │   ├── Quaternion.h
    │   ├── Rot2.cpp
    │   ├── Rot2.h
    │   ├── Rot3.cpp
    │   ├── Rot3.h
    │   ├── Rot3M.cpp
    │   ├── Rot3Q.cpp
    │   ├── SO3.cpp
    │   ├── SO3.h
    │   ├── SO4.cpp
    │   ├── SO4.h
    │   ├── SOn-inl.h
    │   ├── SOn.cpp
    │   ├── SOn.h
    │   ├── Similarity2.cpp
    │   ├── Similarity2.h
    │   ├── Similarity3.cpp
    │   ├── Similarity3.h
    │   ├── SimpleCamera.h
    │   ├── SphericalCamera.cpp
    │   ├── SphericalCamera.h
    │   ├── StereoCamera.cpp
    │   ├── StereoCamera.h
    │   ├── StereoPoint2.cpp
    │   ├── StereoPoint2.h
    │   ├── Unit3.cpp
    │   ├── Unit3.h
    │   ├── concepts.h
    │   ├── doc
    │   │   ├── Cal3_S2.ipynb
    │   │   ├── Pose2.ipynb
    │   │   ├── Pose3.ipynb
    │   │   ├── Rot2.ipynb
    │   │   ├── Rot3.ipynb
    │   │   ├── SO3.ipynb
    │   │   ├── Similarity2.ipynb
    │   │   └── Similarity3.ipynb
    │   ├── geometry.i
    │   ├── geometry.md
    │   ├── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testBearingRange.cpp
    │   │   ├── testCal3Bundler.cpp
    │   │   ├── testCal3DFisheye.cpp
    │   │   ├── testCal3DS2.cpp
    │   │   ├── testCal3Unified.cpp
    │   │   ├── testCal3_S2.cpp
    │   │   ├── testCal3_S2Stereo.cpp
    │   │   ├── testCal3f.cpp
    │   │   ├── testCalibratedCamera.cpp
    │   │   ├── testCameraSet.cpp
    │   │   ├── testCyclic.cpp
    │   │   ├── testEssentialMatrix.cpp
    │   │   ├── testEvent.cpp
    │   │   ├── testFundamentalMatrix.cpp
    │   │   ├── testGal3.cpp
    │   │   ├── testLine3.cpp
    │   │   ├── testOrientedPlane3.cpp
    │   │   ├── testPinholeCamera.cpp
    │   │   ├── testPinholePose.cpp
    │   │   ├── testPinholeSet.cpp
    │   │   ├── testPoint2.cpp
    │   │   ├── testPoint3.cpp
    │   │   ├── testPose2.cpp
    │   │   ├── testPose3.cpp
    │   │   ├── testPoseAdjointMap.h
    │   │   ├── testQuaternion.cpp
    │   │   ├── testRot2.cpp
    │   │   ├── testRot3.cpp
    │   │   ├── testRot3M.cpp
    │   │   ├── testRot3Q.cpp
    │   │   ├── testSO3.cpp
    │   │   ├── testSO4.cpp
    │   │   ├── testSOn.cpp
    │   │   ├── testSerializationGeometry.cpp
    │   │   ├── testSimilarity2.cpp
    │   │   ├── testSimilarity3.cpp
    │   │   ├── testSphericalCamera.cpp
    │   │   ├── testStereoCamera.cpp
    │   │   ├── testStereoPoint2.cpp
    │   │   ├── testTriangulation.cpp
    │   │   └── testUnit3.cpp
    │   ├── triangulation.cpp
    │   └── triangulation.h
    ├── global_includes.h
    ├── groups.dox
    ├── gtsam.i
    ├── hybrid
    │   ├── CMakeLists.txt
    │   ├── DCSAM.cpp
    │   ├── DCSAM.h
    │   ├── DiscreteBoundaryFactor.cpp
    │   ├── DiscreteBoundaryFactor.h
    │   ├── HybridBayesNet.cpp
    │   ├── HybridBayesNet.h
    │   ├── HybridBayesTree.cpp
    │   ├── HybridBayesTree.h
    │   ├── HybridConditional.cpp
    │   ├── HybridConditional.h
    │   ├── HybridEliminationTree.cpp
    │   ├── HybridEliminationTree.h
    │   ├── HybridFactor.cpp
    │   ├── HybridFactor.h
    │   ├── HybridFactorGraph.cpp
    │   ├── HybridFactorGraph.h
    │   ├── HybridGaussianConditional.cpp
    │   ├── HybridGaussianConditional.h
    │   ├── HybridGaussianFactor.cpp
    │   ├── HybridGaussianFactor.h
    │   ├── HybridGaussianFactorGraph.cpp
    │   ├── HybridGaussianFactorGraph.h
    │   ├── HybridGaussianISAM.cpp
    │   ├── HybridGaussianISAM.h
    │   ├── HybridGaussianProductFactor.cpp
    │   ├── HybridGaussianProductFactor.h
    │   ├── HybridJunctionTree.cpp
    │   ├── HybridJunctionTree.h
    │   ├── HybridNonlinearFactor.cpp
    │   ├── HybridNonlinearFactor.h
    │   ├── HybridNonlinearFactorGraph.cpp
    │   ├── HybridNonlinearFactorGraph.h
    │   ├── HybridNonlinearISAM.cpp
    │   ├── HybridNonlinearISAM.h
    │   ├── HybridSmoother.cpp
    │   ├── HybridSmoother.h
    │   ├── HybridValues.cpp
    │   ├── HybridValues.h
    │   ├── doc
    │   │   ├── HybridBayesNet.ipynb
    │   │   ├── HybridConditional.ipynb
    │   │   └── HybridValues.ipynb
    │   ├── hybrid.i
    │   ├── hybrid.md
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── DiscreteFixture.h
    │   │   ├── Switching.h
    │   │   ├── TinyHybridExample.h
    │   │   ├── testDCSAM.cpp
    │   │   ├── testGaussianMixture.cpp
    │   │   ├── testHybridBayesNet.cpp
    │   │   ├── testHybridBayesTree.cpp
    │   │   ├── testHybridConditional.cpp
    │   │   ├── testHybridEstimation.cpp
    │   │   ├── testHybridFactorGraph.cpp
    │   │   ├── testHybridGaussianConditional.cpp
    │   │   ├── testHybridGaussianFactor.cpp
    │   │   ├── testHybridGaussianFactorGraph.cpp
    │   │   ├── testHybridGaussianISAM.cpp
    │   │   ├── testHybridGaussianProductFactor.cpp
    │   │   ├── testHybridMotionModel.cpp
    │   │   ├── testHybridNonlinearFactor.cpp
    │   │   ├── testHybridNonlinearFactorGraph.cpp
    │   │   ├── testHybridNonlinearISAM.cpp
    │   │   ├── testHybridSmoother.cpp
    │   │   ├── testHybridValues.cpp
    │   │   └── testSerializationHybrid.cpp
    ├── inference
    │   ├── BayesNet-inst.h
    │   ├── BayesNet.h
    │   ├── BayesTree-inst.h
    │   ├── BayesTree.cpp
    │   ├── BayesTree.h
    │   ├── BayesTreeCliqueBase-inst.h
    │   ├── BayesTreeCliqueBase.h
    │   ├── CMakeLists.txt
    │   ├── ClusterTree-inst.h
    │   ├── ClusterTree.h
    │   ├── Conditional-inst.h
    │   ├── Conditional.h
    │   ├── DotWriter.cpp
    │   ├── DotWriter.h
    │   ├── EdgeKey.cpp
    │   ├── EdgeKey.h
    │   ├── EliminateableFactorGraph-inst.h
    │   ├── EliminateableFactorGraph.h
    │   ├── EliminationTree-inst.h
    │   ├── EliminationTree.h
    │   ├── Factor.cpp
    │   ├── Factor.h
    │   ├── FactorGraph-inst.h
    │   ├── FactorGraph.h
    │   ├── ISAM-inst.h
    │   ├── ISAM.h
    │   ├── JunctionTree-inst.h
    │   ├── JunctionTree.h
    │   ├── Key.cpp
    │   ├── Key.h
    │   ├── LabeledSymbol.cpp
    │   ├── LabeledSymbol.h
    │   ├── MetisIndex-inl.h
    │   ├── MetisIndex.h
    │   ├── Ordering.cpp
    │   ├── Ordering.h
    │   ├── Symbol.cpp
    │   ├── Symbol.h
    │   ├── VariableIndex-inl.h
    │   ├── VariableIndex.cpp
    │   ├── VariableIndex.h
    │   ├── VariableSlots.cpp
    │   ├── VariableSlots.h
    │   ├── doc
    │   │   ├── BayesNet.ipynb
    │   │   ├── BayesTree.ipynb
    │   │   ├── ClusterTree.ipynb
    │   │   ├── Conditional.ipynb
    │   │   ├── DotWriter.ipynb
    │   │   ├── EdgeKey.ipynb
    │   │   ├── EliminationTree.ipynb
    │   │   ├── Factor.ipynb
    │   │   ├── FactorGraph.ipynb
    │   │   ├── ISAM.ipynb
    │   │   ├── JunctionTree.ipynb
    │   │   ├── Key.ipynb
    │   │   ├── LabeledSymbol.ipynb
    │   │   ├── Ordering.ipynb
    │   │   ├── Shortcuts.ipynb
    │   │   ├── Symbol.ipynb
    │   │   └── VariableIndex.ipynb
    │   ├── graph-inl.h
    │   ├── graph.h
    │   ├── inference-inst.h
    │   ├── inference.i
    │   ├── inference.md
    │   ├── inferenceExceptions.cpp
    │   ├── inferenceExceptions.h
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testEdgeKey.cpp
    │   │   ├── testKey.cpp
    │   │   ├── testLabeledSymbol.cpp
    │   │   ├── testOrdering.cpp
    │   │   ├── testSymbol.cpp
    │   │   └── testVariableSlots.cpp
    ├── linear
    │   ├── AcceleratedPowerMethod.h
    │   ├── BinaryJacobianFactor.h
    │   ├── CMakeLists.txt
    │   ├── ConjugateGradientSolver.cpp
    │   ├── ConjugateGradientSolver.h
    │   ├── Errors.cpp
    │   ├── Errors.h
    │   ├── GaussianBayesNet.cpp
    │   ├── GaussianBayesNet.h
    │   ├── GaussianBayesTree-inl.h
    │   ├── GaussianBayesTree.cpp
    │   ├── GaussianBayesTree.h
    │   ├── GaussianConditional-inl.h
    │   ├── GaussianConditional.cpp
    │   ├── GaussianConditional.h
    │   ├── GaussianDensity.cpp
    │   ├── GaussianDensity.h
    │   ├── GaussianEliminationTree.cpp
    │   ├── GaussianEliminationTree.h
    │   ├── GaussianFactor.cpp
    │   ├── GaussianFactor.h
    │   ├── GaussianFactorGraph.cpp
    │   ├── GaussianFactorGraph.h
    │   ├── GaussianISAM.cpp
    │   ├── GaussianISAM.h
    │   ├── GaussianJunctionTree.cpp
    │   ├── GaussianJunctionTree.h
    │   ├── HessianFactor-inl.h
    │   ├── HessianFactor.cpp
    │   ├── HessianFactor.h
    │   ├── IterativeSolver.cpp
    │   ├── IterativeSolver.h
    │   ├── JacobianFactor-inl.h
    │   ├── JacobianFactor.cpp
    │   ├── JacobianFactor.h
    │   ├── KalmanFilter.cpp
    │   ├── KalmanFilter.h
    │   ├── LossFunctions.cpp
    │   ├── LossFunctions.h
    │   ├── NoiseModel.cpp
    │   ├── NoiseModel.h
    │   ├── PCGSolver.cpp
    │   ├── PCGSolver.h
    │   ├── PowerMethod.h
    │   ├── Preconditioner.cpp
    │   ├── Preconditioner.h
    │   ├── RegularHessianFactor.h
    │   ├── RegularJacobianFactor.h
    │   ├── Sampler.cpp
    │   ├── Sampler.h
    │   ├── Scatter.cpp
    │   ├── Scatter.h
    │   ├── SparseEigen.h
    │   ├── SubgraphBuilder.cpp
    │   ├── SubgraphBuilder.h
    │   ├── SubgraphPreconditioner.cpp
    │   ├── SubgraphPreconditioner.h
    │   ├── SubgraphSolver.cpp
    │   ├── SubgraphSolver.h
    │   ├── VectorValues.cpp
    │   ├── VectorValues.h
    │   ├── iterative-inl.h
    │   ├── iterative.cpp
    │   ├── iterative.h
    │   ├── linear.i
    │   ├── linearAlgorithms-inst.h
    │   ├── linearExceptions.cpp
    │   ├── linearExceptions.h
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── powerMethodExample.h
    │   │   ├── testAcceleratedPowerMethod.cpp
    │   │   ├── testErrors.cpp
    │   │   ├── testGaussianBayesNet.cpp
    │   │   ├── testGaussianBayesTree.cpp
    │   │   ├── testGaussianConditional.cpp
    │   │   ├── testGaussianDensity.cpp
    │   │   ├── testGaussianFactorGraph.cpp
    │   │   ├── testHessianFactor.cpp
    │   │   ├── testJacobianFactor.cpp
    │   │   ├── testKalmanFilter.cpp
    │   │   ├── testNoiseModel.cpp
    │   │   ├── testPowerMethod.cpp
    │   │   ├── testRegularHessianFactor.cpp
    │   │   ├── testRegularJacobianFactor.cpp
    │   │   ├── testSampler.cpp
    │   │   ├── testScatter.cpp
    │   │   ├── testSerializationLinear.cpp
    │   │   ├── testSparseEigen.cpp
    │   │   └── testVectorValues.cpp
    ├── mainpage.dox
    ├── navigation
    │   ├── .gitignore
    │   ├── AHRSFactor.cpp
    │   ├── AHRSFactor.h
    │   ├── AttitudeFactor.cpp
    │   ├── AttitudeFactor.h
    │   ├── AttitudeFactor.md
    │   ├── BarometricFactor.cpp
    │   ├── BarometricFactor.h
    │   ├── CMakeLists.txt
    │   ├── CombinedImuFactor.cpp
    │   ├── CombinedImuFactor.h
    │   ├── ConstantVelocityFactor.h
    │   ├── GPSFactor.cpp
    │   ├── GPSFactor.h
    │   ├── ImuBias.cpp
    │   ├── ImuBias.h
    │   ├── ImuFactor.cpp
    │   ├── ImuFactor.h
    │   ├── InvariantEKF.h
    │   ├── LieGroupEKF.h
    │   ├── MagFactor.h
    │   ├── MagPoseFactor.h
    │   ├── ManifoldEKF.h
    │   ├── ManifoldPreintegration.cpp
    │   ├── ManifoldPreintegration.h
    │   ├── NavState.cpp
    │   ├── NavState.h
    │   ├── PreintegratedRotation.cpp
    │   ├── PreintegratedRotation.h
    │   ├── PreintegrationBase.cpp
    │   ├── PreintegrationBase.h
    │   ├── PreintegrationCombinedParams.h
    │   ├── PreintegrationParams.cpp
    │   ├── PreintegrationParams.h
    │   ├── README.md
    │   ├── Scenario.h
    │   ├── ScenarioRunner.cpp
    │   ├── ScenarioRunner.h
    │   ├── TangentPreintegration.cpp
    │   ├── TangentPreintegration.h
    │   ├── doc
    │   │   ├── AHRSFactor.ipynb
    │   │   ├── AttitudeFactor.ipynb
    │   │   ├── BarometricFactor.ipynb
    │   │   ├── CombinedImuFactor.ipynb
    │   │   ├── ConstantVelocityFactor.ipynb
    │   │   ├── GPSFactor.ipynb
    │   │   ├── ImuFactor.ipynb
    │   │   ├── InvariantEKF.md
    │   │   ├── MagFactor.ipynb
    │   │   ├── MagPoseFactor.ipynb
    │   │   ├── PreintegratedCombinedMeasurements.ipynb
    │   │   ├── PreintegratedImuMeasurements.ipynb
    │   │   ├── PreintegratedRotation.ipynb
    │   │   ├── PreintegrationCombinedParams.ipynb
    │   │   ├── PreintegrationParams.ipynb
    │   │   ├── Scenario.ipynb
    │   │   └── ScenarioRunner.ipynb
    │   ├── expressions.h
    │   ├── navigation.i
    │   ├── navigation.md
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── imuFactorTesting.h
    │   │   ├── testAHRSFactor.cpp
    │   │   ├── testAttitudeFactor.cpp
    │   │   ├── testBarometricFactor.cpp
    │   │   ├── testCombinedImuFactor.cpp
    │   │   ├── testConstantVelocityFactor.cpp
    │   │   ├── testGPSFactor.cpp
    │   │   ├── testGeographicLib.cpp
    │   │   ├── testImuBias.cpp
    │   │   ├── testImuFactor.cpp
    │   │   ├── testInvariantEKF.cpp
    │   │   ├── testLieGroupEKF.cpp
    │   │   ├── testMagFactor.cpp
    │   │   ├── testMagPoseFactor.cpp
    │   │   ├── testManifoldEKF.cpp
    │   │   ├── testManifoldPreintegration.cpp
    │   │   ├── testNavExpressions.cpp
    │   │   ├── testNavState.cpp
    │   │   ├── testPoseVelocityBias.cpp
    │   │   ├── testPreintegratedRotation.cpp
    │   │   ├── testScenario.cpp
    │   │   ├── testScenarioRunner.cpp
    │   │   ├── testSerializationNavigation.cpp
    │   │   └── testTangentPreintegration.cpp
    ├── nonlinear
    │   ├── AdaptAutoDiff.h
    │   ├── BatchFixedLagSmoother.cpp
    │   ├── BatchFixedLagSmoother.h
    │   ├── BayesTreeMarginalizationHelper.h
    │   ├── CMakeLists.txt
    │   ├── CustomFactor.cpp
    │   ├── CustomFactor.h
    │   ├── DoglegOptimizer.cpp
    │   ├── DoglegOptimizer.h
    │   ├── DoglegOptimizerImpl.cpp
    │   ├── DoglegOptimizerImpl.h
    │   ├── Expression-inl.h
    │   ├── Expression.h
    │   ├── ExpressionFactor.h
    │   ├── ExpressionFactorGraph.h
    │   ├── ExtendedKalmanFilter-inl.h
    │   ├── ExtendedKalmanFilter.h
    │   ├── FixedLagSmoother.cpp
    │   ├── FixedLagSmoother.h
    │   ├── FunctorizedFactor.h
    │   ├── GaussNewtonOptimizer.cpp
    │   ├── GaussNewtonOptimizer.h
    │   ├── GncOptimizer.h
    │   ├── GncParams.h
    │   ├── GraphvizFormatting.cpp
    │   ├── GraphvizFormatting.h
    │   ├── ISAM2-impl.cpp
    │   ├── ISAM2-impl.h
    │   ├── ISAM2.cpp
    │   ├── ISAM2.h
    │   ├── ISAM2Clique.cpp
    │   ├── ISAM2Clique.h
    │   ├── ISAM2Params.cpp
    │   ├── ISAM2Params.h
    │   ├── ISAM2Result.h
    │   ├── ISAM2UpdateParams.h
    │   ├── IncrementalFixedLagSmoother.cpp
    │   ├── IncrementalFixedLagSmoother.h
    │   ├── LevenbergMarquardtOptimizer.cpp
    │   ├── LevenbergMarquardtOptimizer.h
    │   ├── LevenbergMarquardtParams.cpp
    │   ├── LevenbergMarquardtParams.h
    │   ├── LinearContainerFactor.cpp
    │   ├── LinearContainerFactor.h
    │   ├── Marginals.cpp
    │   ├── Marginals.h
    │   ├── NonlinearConjugateGradientOptimizer.cpp
    │   ├── NonlinearConjugateGradientOptimizer.h
    │   ├── NonlinearEquality.h
    │   ├── NonlinearFactor.cpp
    │   ├── NonlinearFactor.h
    │   ├── NonlinearFactorGraph.cpp
    │   ├── NonlinearFactorGraph.h
    │   ├── NonlinearISAM.cpp
    │   ├── NonlinearISAM.h
    │   ├── NonlinearOptimizer.cpp
    │   ├── NonlinearOptimizer.h
    │   ├── NonlinearOptimizerParams.cpp
    │   ├── NonlinearOptimizerParams.h
    │   ├── PriorFactor.h
    │   ├── Symbol.h
    │   ├── Values-inl.h
    │   ├── Values.cpp
    │   ├── Values.h
    │   ├── WhiteNoiseFactor.h
    │   ├── custom.i
    │   ├── doc
    │   │   ├── BatchFixedLagSmoother.ipynb
    │   │   ├── CustomFactor.ipynb
    │   │   ├── DoglegOptimizer.ipynb
    │   │   ├── ExpressionFactor.ipynb
    │   │   ├── ExpressionFactorGraph.ipynb
    │   │   ├── ExtendedKalmanFilter.ipynb
    │   │   ├── FixedLagSmoother.ipynb
    │   │   ├── GaussNewtonOptimizer.ipynb
    │   │   ├── GncOptimizer.ipynb
    │   │   ├── ISAM2.ipynb
    │   │   ├── IncrementalFixedLagSmoother.ipynb
    │   │   ├── LevenbergMarquardtOptimizer.ipynb
    │   │   ├── LinearContainerFactor.ipynb
    │   │   ├── NonlinearConjugateGradientOptimizer.ipynb
    │   │   ├── NonlinearEquality.ipynb
    │   │   ├── NonlinearFactor.ipynb
    │   │   ├── NonlinearFactorGraph.ipynb
    │   │   ├── NonlinearISAM.ipynb
    │   │   ├── NonlinearOptimizer.ipynb
    │   │   ├── PriorFactor.ipynb
    │   │   └── WhiteNoiseFactor.ipynb
    │   ├── expressionTesting.h
    │   ├── expressions.h
    │   ├── factorTesting.h
    │   ├── internal
    │   │   ├── CallRecord.h
    │   │   ├── ChiSquaredInverse.h
    │   │   ├── ExecutionTrace.h
    │   │   ├── ExpressionNode.h
    │   │   ├── JacobianMap.h
    │   │   ├── LevenbergMarquardtState.h
    │   │   └── NonlinearOptimizerState.h
    │   ├── nonlinear.i
    │   ├── nonlinear.md
    │   ├── nonlinearExceptions.h
    │   ├── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── priorFactor.xml
    │   │   ├── testAdaptAutoDiff.cpp
    │   │   ├── testBatchFixedLagSmoother.cpp
    │   │   ├── testCallRecord.cpp
    │   │   ├── testExecutionTrace.cpp
    │   │   ├── testExpression.cpp
    │   │   ├── testFactorTesting.cpp
    │   │   ├── testFunctorizedFactor.cpp
    │   │   ├── testIncrementalFixedLagSmoother.cpp
    │   │   ├── testLinearContainerFactor.cpp
    │   │   ├── testNonlinearConjugateGradientOptimizer.cpp
    │   │   ├── testSerializationNonlinear.cpp
    │   │   ├── testUtilities.cpp
    │   │   ├── testValues.cpp
    │   │   └── testWhiteNoiseFactor.cpp
    │   ├── utilities.h
    │   └── values.i
    ├── precompiled_header.cpp
    ├── precompiled_header.h
    ├── sam
    │   ├── BearingFactor.h
    │   ├── BearingRangeFactor.h
    │   ├── CMakeLists.txt
    │   ├── RangeFactor.h
    │   ├── sam.i
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testBearingFactor.cpp
    │   │   ├── testBearingRangeFactor.cpp
    │   │   ├── testRangeFactor.cpp
    │   │   └── testSerializationSam.cpp
    ├── sfm
    │   ├── BinaryMeasurement.h
    │   ├── CMakeLists.txt
    │   ├── DsfTrackGenerator.cpp
    │   ├── DsfTrackGenerator.h
    │   ├── MFAS.cpp
    │   ├── MFAS.h
    │   ├── SfmData.cpp
    │   ├── SfmData.h
    │   ├── SfmTrack.cpp
    │   ├── SfmTrack.h
    │   ├── ShonanAveraging.cpp
    │   ├── ShonanAveraging.h
    │   ├── ShonanFactor.cpp
    │   ├── ShonanFactor.h
    │   ├── ShonanGaugeFactor.h
    │   ├── TransferFactor.h
    │   ├── TranslationFactor.h
    │   ├── TranslationRecovery.cpp
    │   ├── TranslationRecovery.h
    │   ├── sfm.i
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testBinaryMeasurement.cpp
    │   │   ├── testMFAS.cpp
    │   │   ├── testSfmData.cpp
    │   │   ├── testSfmTrack.cpp
    │   │   ├── testShonanAveraging.cpp
    │   │   ├── testShonanFactor.cpp
    │   │   ├── testShonanGaugeFactor.cpp
    │   │   ├── testTransferFactor.cpp
    │   │   └── testTranslationFactor.cpp
    ├── slam
    │   ├── AntiFactor.h
    │   ├── BearingFactor.h
    │   ├── BearingRangeFactor.h
    │   ├── BetweenFactor.h
    │   ├── BoundingConstraint.h
    │   ├── CMakeLists.txt
    │   ├── EssentialMatrixConstraint.cpp
    │   ├── EssentialMatrixConstraint.h
    │   ├── EssentialMatrixFactor.h
    │   ├── FrobeniusFactor.cpp
    │   ├── FrobeniusFactor.h
    │   ├── GeneralSFMFactor.h
    │   ├── InitializePose.h
    │   ├── InitializePose3.cpp
    │   ├── InitializePose3.h
    │   ├── JacobianFactorQ.h
    │   ├── JacobianFactorQR.h
    │   ├── JacobianFactorSVD.h
    │   ├── KarcherMeanFactor-inl.h
    │   ├── KarcherMeanFactor.h
    │   ├── OrientedPlane3Factor.cpp
    │   ├── OrientedPlane3Factor.h
    │   ├── PlanarProjectionFactor.h
    │   ├── PoseRotationPrior.h
    │   ├── PoseTranslationPrior.h
    │   ├── PriorFactor.h
    │   ├── ProjectionFactor.h
    │   ├── README.md
    │   ├── RangeFactor.h
    │   ├── ReferenceFrameFactor.h
    │   ├── RegularImplicitSchurFactor.h
    │   ├── RotateFactor.h
    │   ├── SmartFactorBase.h
    │   ├── SmartFactorParams.h
    │   ├── SmartProjectionFactor.h
    │   ├── SmartProjectionPoseFactor.h
    │   ├── SmartProjectionRigFactor.h
    │   ├── StereoFactor.h
    │   ├── TriangulationFactor.h
    │   ├── dataset.cpp
    │   ├── dataset.h
    │   ├── doc
    │   │   ├── BetweenFactor.ipynb
    │   │   ├── EssentialMatrixConstraint.ipynb
    │   │   ├── EssentialMatrixFactor.ipynb
    │   │   ├── FrobeniusFactor.ipynb
    │   │   ├── GeneralSFMFactor.ipynb
    │   │   ├── InitializePose3.ipynb
    │   │   ├── KarcherMeanFactor.ipynb
    │   │   ├── OrientedPlane3Factor.ipynb
    │   │   ├── PlanarProjectionFactor.ipynb
    │   │   ├── PoseRotationPrior.ipynb
    │   │   ├── PoseTranslationPrior.ipynb
    │   │   ├── ProjectionFactor.ipynb
    │   │   ├── ReferenceFrameFactor.ipynb
    │   │   ├── RotateFactor.ipynb
    │   │   ├── SmartFactors.md
    │   │   ├── SmartProjectionFactor.ipynb
    │   │   ├── SmartProjectionParams.ipynb
    │   │   ├── SmartProjectionPoseFactor.ipynb
    │   │   ├── SmartProjectionRigFactor.ipynb
    │   │   ├── StereoFactor.ipynb
    │   │   ├── TriangulationFactor.ipynb
    │   │   ├── dataset.ipynb
    │   │   └── lago.ipynb
    │   ├── expressions.h
    │   ├── lago.cpp
    │   ├── lago.h
    │   ├── slam.i
    │   ├── slam.md
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── PinholeFactor.h
    │   │   ├── smartFactorScenarios.h
    │   │   ├── testAntiFactor.cpp
    │   │   ├── testBetweenFactor.cpp
    │   │   ├── testDataset.cpp
    │   │   ├── testEssentialMatrixConstraint.cpp
    │   │   ├── testEssentialMatrixFactor.cpp
    │   │   ├── testFrobeniusFactor.cpp
    │   │   ├── testGeneralSFMFactor.cpp
    │   │   ├── testGeneralSFMFactor_Cal3Bundler.cpp
    │   │   ├── testInitializePose.cpp
    │   │   ├── testInitializePose3.cpp
    │   │   ├── testKarcherMeanFactor.cpp
    │   │   ├── testLago.cpp
    │   │   ├── testOrientedPlane3Factor.cpp
    │   │   ├── testPlanarProjectionFactor.cpp
    │   │   ├── testPoseRotationPrior.cpp
    │   │   ├── testPoseTranslationPrior.cpp
    │   │   ├── testPriorFactor.cpp
    │   │   ├── testProjectionFactor.cpp
    │   │   ├── testReferenceFrameFactor.cpp
    │   │   ├── testRegularImplicitSchurFactor.cpp
    │   │   ├── testRotateFactor.cpp
    │   │   ├── testSerializationDataset.cpp
    │   │   ├── testSerializationInSlam.cpp
    │   │   ├── testSlamExpressions.cpp
    │   │   ├── testSmartFactorBase.cpp
    │   │   ├── testSmartProjectionFactor.cpp
    │   │   ├── testSmartProjectionPoseFactor.cpp
    │   │   ├── testSmartProjectionRigFactor.cpp
    │   │   ├── testStereoFactor.cpp
    │   │   └── testTriangulationFactor.cpp
    └── symbolic
    │   ├── CMakeLists.txt
    │   ├── SymbolicBayesNet.cpp
    │   ├── SymbolicBayesNet.h
    │   ├── SymbolicBayesTree.cpp
    │   ├── SymbolicBayesTree.h
    │   ├── SymbolicConditional.cpp
    │   ├── SymbolicConditional.h
    │   ├── SymbolicEliminationTree.cpp
    │   ├── SymbolicEliminationTree.h
    │   ├── SymbolicFactor-inst.h
    │   ├── SymbolicFactor.cpp
    │   ├── SymbolicFactor.h
    │   ├── SymbolicFactorGraph.cpp
    │   ├── SymbolicFactorGraph.h
    │   ├── SymbolicISAM.cpp
    │   ├── SymbolicISAM.h
    │   ├── SymbolicJunctionTree.cpp
    │   ├── SymbolicJunctionTree.h
    │   ├── doc
    │       ├── SymbolicBayesNet.ipynb
    │       ├── SymbolicBayesTree.ipynb
    │       ├── SymbolicBayesTreeClique.ipynb
    │       ├── SymbolicConditional.ipynb
    │       ├── SymbolicEliminationTree.ipynb
    │       ├── SymbolicFactor.ipynb
    │       ├── SymbolicFactorGraph.ipynb
    │       └── SymbolicJunctionTree.ipynb
    │   ├── symbolic.i
    │   ├── symbolic.md
    │   └── tests
    │       ├── CMakeLists.txt
    │       ├── symbolicExampleGraphs.h
    │       ├── testSerializationSymbolic.cpp
    │       ├── testSymbolicBayesNet.cpp
    │       ├── testSymbolicBayesTree.cpp
    │       ├── testSymbolicConditional.cpp
    │       ├── testSymbolicEliminationTree.cpp
    │       ├── testSymbolicFactor.cpp
    │       ├── testSymbolicFactorGraph.cpp
    │       ├── testSymbolicISAM.cpp
    │       ├── testSymbolicJunctionTree.cpp
    │       └── testVariableIndex.cpp
├── gtsam_extra.cmake.in
├── gtsam_unstable
    ├── CMakeLists.txt
    ├── base
    │   ├── BTree.h
    │   ├── CMakeLists.txt
    │   ├── DSF.h
    │   ├── Dummy.cpp
    │   ├── Dummy.h
    │   ├── FixedVector.h
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testBTree.cpp
    │   │   ├── testDSF.cpp
    │   │   └── testFixedVector.cpp
    ├── discrete
    │   ├── AllDiff.cpp
    │   ├── AllDiff.h
    │   ├── BinaryAllDiff.h
    │   ├── CMakeLists.txt
    │   ├── CSP.cpp
    │   ├── CSP.h
    │   ├── Constraint.h
    │   ├── Domain.cpp
    │   ├── Domain.h
    │   ├── Scheduler.cpp
    │   ├── Scheduler.h
    │   ├── SingleValue.cpp
    │   ├── SingleValue.h
    │   ├── examples
    │   │   ├── CMakeLists.txt
    │   │   ├── Doodle.csv
    │   │   ├── Doodle.xls
    │   │   ├── Doodle2012.csv
    │   │   ├── Doodle2012.xls
    │   │   ├── Doodle2013.csv
    │   │   ├── Doodle2013.xls
    │   │   ├── intrusive.xlsx
    │   │   ├── schedulingExample.cpp
    │   │   ├── schedulingQuals12.cpp
    │   │   ├── schedulingQuals13.cpp
    │   │   └── small.csv
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testCSP.cpp
    │   │   ├── testLoopyBelief.cpp
    │   │   ├── testScheduler.cpp
    │   │   └── testSudoku.cpp
    ├── dynamics
    │   ├── CMakeLists.txt
    │   ├── DynamicsPriors.h
    │   ├── FullIMUFactor.h
    │   ├── IMUFactor.h
    │   ├── Pendulum.h
    │   ├── PoseRTV.cpp
    │   ├── PoseRTV.h
    │   ├── SimpleHelicopter.cpp
    │   ├── SimpleHelicopter.h
    │   ├── VelocityConstraint.h
    │   ├── VelocityConstraint3.h
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testIMUSystem.cpp
    │   │   ├── testPendulumFactors.cpp
    │   │   ├── testPoseRTV.cpp
    │   │   ├── testSimpleHelicopter.cpp
    │   │   ├── testVelocityConstraint.cpp
    │   │   └── testVelocityConstraint3.cpp
    ├── examples
    │   ├── CMakeLists.txt
    │   ├── ConcurrentCalibration.cpp
    │   ├── ConcurrentFilteringAndSmoothingExample.cpp
    │   ├── GncPoseAveragingExample.cpp
    │   ├── ISAM2_SmartFactorStereo_IMU.cpp
    │   ├── README.md
    │   ├── SmartProjectionFactorExample.cpp
    │   ├── SmartRangeExample_plaza1.cpp
    │   ├── SmartRangeExample_plaza2.cpp
    │   ├── SmartStereoProjectionFactorExample.cpp
    │   ├── TimeOfArrivalExample.cpp
    │   └── plotRangeResults.p
    ├── geometry
    │   ├── BearingS2.cpp
    │   ├── BearingS2.h
    │   ├── CMakeLists.txt
    │   ├── InvDepthCamera3.h
    │   ├── Pose3Upright.cpp
    │   ├── Pose3Upright.h
    │   ├── SimPolygon2D.cpp
    │   ├── SimPolygon2D.h
    │   ├── SimWall2D.cpp
    │   ├── SimWall2D.h
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testBearingS2.cpp
    │   │   ├── testInvDepthCamera3.cpp
    │   │   ├── testPose3Upright.cpp
    │   │   ├── testSimPolygon2D.cpp
    │   │   └── testSimWall2D.cpp
    ├── gtsam_unstable.i
    ├── linear
    │   ├── ActiveSetSolver-inl.h
    │   ├── ActiveSetSolver.h
    │   ├── CMakeLists.txt
    │   ├── EqualityFactorGraph.h
    │   ├── InequalityFactorGraph.h
    │   ├── InfeasibleInitialValues.h
    │   ├── InfeasibleOrUnboundedProblem.h
    │   ├── LP.h
    │   ├── LPInitSolver.cpp
    │   ├── LPInitSolver.h
    │   ├── LPSolver.cpp
    │   ├── LPSolver.h
    │   ├── LinearCost.h
    │   ├── LinearEquality.h
    │   ├── LinearInequality.h
    │   ├── QP.h
    │   ├── QPInitSolver.h
    │   ├── QPSParser.cpp
    │   ├── QPSParser.h
    │   ├── QPSParserException.h
    │   ├── QPSolver.cpp
    │   ├── QPSolver.h
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testLPSolver.cpp
    │   │   ├── testLinearEquality.cpp
    │   │   └── testQPSolver.cpp
    ├── mainpage.dox
    ├── nonlinear
    │   ├── BatchFixedLagSmoother.h
    │   ├── BayesTreeMarginalizationHelper.h
    │   ├── CMakeLists.txt
    │   ├── ConcurrentBatchFilter.cpp
    │   ├── ConcurrentBatchFilter.h
    │   ├── ConcurrentBatchSmoother.cpp
    │   ├── ConcurrentBatchSmoother.h
    │   ├── ConcurrentFilteringAndSmoothing.cpp
    │   ├── ConcurrentFilteringAndSmoothing.h
    │   ├── ConcurrentIncrementalFilter.cpp
    │   ├── ConcurrentIncrementalFilter.h
    │   ├── ConcurrentIncrementalSmoother.cpp
    │   ├── ConcurrentIncrementalSmoother.h
    │   ├── FixedLagSmoother.h
    │   ├── IncrementalFixedLagSmoother.h
    │   ├── LinearizedFactor.cpp
    │   ├── LinearizedFactor.h
    │   ├── NonlinearClusterTree.h
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testConcurrentBatchFilter.cpp
    │   │   ├── testConcurrentBatchSmoother.cpp
    │   │   ├── testConcurrentIncrementalFilter.cpp
    │   │   ├── testConcurrentIncrementalSmootherDL.cpp
    │   │   ├── testConcurrentIncrementalSmootherGN.cpp
    │   │   ├── testCustomChartExpression.cpp
    │   │   ├── testLinearizedFactor.cpp
    │   │   ├── testNonlinearClusterTree.cpp
    │   │   └── testParticleFactor.cpp
    ├── partition
    │   ├── CMakeLists.txt
    │   ├── FindSeparator-inl.h
    │   ├── FindSeparator.h
    │   ├── GenericGraph.cpp
    │   ├── GenericGraph.h
    │   ├── NestedDissection-inl.h
    │   ├── NestedDissection.h
    │   ├── PartitionWorkSpace.h
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testFindSeparator.cpp
    │   │   ├── testGenericGraph.cpp
    │   │   └── testNestedDissection.cpp
    ├── slam
    │   ├── AHRS.cpp
    │   ├── AHRS.h
    │   ├── BetweenFactorEM.h
    │   ├── BiasedGPSFactor.h
    │   ├── CMakeLists.txt
    │   ├── DummyFactor.cpp
    │   ├── DummyFactor.h
    │   ├── EquivInertialNavFactor_GlobalVel.h
    │   ├── EquivInertialNavFactor_GlobalVel_NoBias.h
    │   ├── GaussMarkov1stOrderFactor.h
    │   ├── InertialNavFactor_GlobalVelocity.h
    │   ├── InvDepthFactor3.h
    │   ├── InvDepthFactorVariant1.h
    │   ├── InvDepthFactorVariant2.h
    │   ├── InvDepthFactorVariant3.h
    │   ├── LocalOrientedPlane3Factor.cpp
    │   ├── LocalOrientedPlane3Factor.h
    │   ├── Mechanization_bRn2.cpp
    │   ├── Mechanization_bRn2.h
    │   ├── MultiProjectionFactor.h
    │   ├── PartialPriorFactor.h
    │   ├── PoseBetweenFactor.h
    │   ├── PosePriorFactor.h
    │   ├── PoseToPointFactor.h
    │   ├── ProjectionFactorPPP.h
    │   ├── ProjectionFactorPPPC.h
    │   ├── ProjectionFactorRollingShutter.cpp
    │   ├── ProjectionFactorRollingShutter.h
    │   ├── README.md
    │   ├── RelativeElevationFactor.cpp
    │   ├── RelativeElevationFactor.h
    │   ├── SmartProjectionPoseFactorRollingShutter.h
    │   ├── SmartRangeFactor.h
    │   ├── SmartStereoProjectionFactor.h
    │   ├── SmartStereoProjectionFactorPP.cpp
    │   ├── SmartStereoProjectionFactorPP.h
    │   ├── SmartStereoProjectionPoseFactor.cpp
    │   ├── SmartStereoProjectionPoseFactor.h
    │   ├── TOAFactor.h
    │   ├── TSAMFactors.h
    │   ├── TransformBtwRobotsUnaryFactor.h
    │   ├── TransformBtwRobotsUnaryFactorEM.h
    │   ├── doc
    │   │   └── ypr.nb
    │   ├── serialization.cpp
    │   ├── serialization.h
    │   └── tests
    │   │   ├── CMakeLists.txt
    │   │   ├── testAHRS.cpp
    │   │   ├── testBetweenFactorEM.cpp
    │   │   ├── testBiasedGPSFactor.cpp
    │   │   ├── testDummyFactor.cpp
    │   │   ├── testEquivInertialNavFactor_GlobalVel.cpp
    │   │   ├── testGaussMarkov1stOrderFactor.cpp
    │   │   ├── testInertialNavFactor_GlobalVelocity.cpp
    │   │   ├── testInvDepthFactor3.cpp
    │   │   ├── testInvDepthFactorVariant1.cpp
    │   │   ├── testInvDepthFactorVariant2.cpp
    │   │   ├── testInvDepthFactorVariant3.cpp
    │   │   ├── testLocalOrientedPlane3Factor.cpp
    │   │   ├── testMultiProjectionFactor.cpp
    │   │   ├── testOccupancyGrid.cpp
    │   │   ├── testPartialPriorFactor.cpp
    │   │   ├── testPoseBetweenFactor.cpp
    │   │   ├── testPosePriorFactor.cpp
    │   │   ├── testPoseToPointFactor.cpp
    │   │   ├── testProjectionFactorPPP.cpp
    │   │   ├── testProjectionFactorPPPC.cpp
    │   │   ├── testProjectionFactorRollingShutter.cpp
    │   │   ├── testRelativeElevationFactor.cpp
    │   │   ├── testSerialization.cpp
    │   │   ├── testSmartProjectionPoseFactorRollingShutter.cpp
    │   │   ├── testSmartRangeFactor.cpp
    │   │   ├── testSmartStereoFactor_iSAM2.cpp
    │   │   ├── testSmartStereoProjectionFactorPP.cpp
    │   │   ├── testSmartStereoProjectionPoseFactor.cpp
    │   │   ├── testTOAFactor.cpp
    │   │   ├── testTSAMFactors.cpp
    │   │   ├── testTransformBtwRobotsUnaryFactor.cpp
    │   │   └── testTransformBtwRobotsUnaryFactorEM.cpp
    ├── testing_tools
    │   ├── base
    │   │   ├── cholChainTest.m
    │   │   ├── cholScalingTest.m
    │   │   └── choleskyNaive.m
    │   └── inference
    │   │   ├── eliminate.m
    │   │   ├── jointMarginalsTestProblems.m
    │   │   └── shortcut.m
    └── timing
    │   ├── CMakeLists.txt
    │   ├── process_shonan_timing_results.py
    │   ├── timeDSFvariants.cpp
    │   ├── timeDSFvariants.xlsx
    │   ├── timeDSFvariants2.xlsx
    │   ├── timeInertialNavFactor_GlobalVelocity.cpp
    │   └── timeShonanAveraging.cpp
├── makestats.sh
├── matlab
    ├── +gtsam
    │   ├── CHECK.m
    │   ├── Contents.m
    │   ├── EQUALITY.m
    │   ├── EXPECT.m
    │   ├── Point2.m
    │   ├── Point3.m
    │   ├── VisualISAMGenerateData.m
    │   ├── VisualISAMInitialize.m
    │   ├── VisualISAMPlot.m
    │   ├── VisualISAMStep.m
    │   ├── circlePose2.m
    │   ├── circlePose3.m
    │   ├── covarianceEllipse.m
    │   ├── covarianceEllipse3D.m
    │   ├── cylinderSampleProjection.m
    │   ├── cylinderSampleProjectionStereo.m
    │   ├── cylinderSampling.m
    │   ├── findExampleDataFile.m
    │   ├── load3D.m
    │   ├── plot2DPoints.m
    │   ├── plot2DTrajectory.m
    │   ├── plot3DPoints.m
    │   ├── plot3DTrajectory.m
    │   ├── plotBayesNet.m
    │   ├── plotBayesTree.m
    │   ├── plotCamera.m
    │   ├── plotCylinderSamples.m
    │   ├── plotFlyingResults.m
    │   ├── plotPoint2.m
    │   ├── plotPoint3.m
    │   ├── plotPose2.m
    │   ├── plotPose3.m
    │   ├── points2DTrackMonocular.m
    │   └── points2DTrackStereo.m
    ├── CMakeLists.txt
    ├── README.md
    ├── gtsam_examples
    │   ├── CameraFlyingExample.m
    │   ├── IMUKittiExampleGPS.m
    │   ├── LocalizationExample.m
    │   ├── MonocularVOExample.m
    │   ├── OdometryExample.m
    │   ├── PlanarSLAMExample.m
    │   ├── PlanarSLAMExample_graph.m
    │   ├── PlanarSLAMExample_sampling.m
    │   ├── Pose2SLAMExample.m
    │   ├── Pose2SLAMExample_advanced.m
    │   ├── Pose2SLAMExample_circle.m
    │   ├── Pose2SLAMExample_graph.m
    │   ├── Pose2SLAMwSPCG.m
    │   ├── Pose3SLAMExample.m
    │   ├── Pose3SLAMExample_graph.m
    │   ├── RangeISAMExample_plaza.m
    │   ├── RangeSLAMExample_plaza.m
    │   ├── SBAExample.m
    │   ├── SFMExample.m
    │   ├── StereoVOExample.m
    │   ├── StereoVOExample_large.m
    │   ├── VisualISAMDemo.m
    │   ├── VisualISAMExample.m
    │   ├── VisualISAM_gui.fig
    │   ├── VisualISAM_gui.m
    │   ├── VisualizeMEstimators.m
    │   ├── deg2utm.m
    │   ├── gtsamExamples.fig
    │   └── gtsamExamples.m
    ├── gtsam_tests
    │   ├── .gitignore
    │   ├── testCal3Unified.m
    │   ├── testEnum.m
    │   ├── testJacobianFactor.m
    │   ├── testKalmanFilter.m
    │   ├── testLocalizationExample.m
    │   ├── testOdometryExample.m
    │   ├── testPlanarSLAMExample.m
    │   ├── testPose2SLAMExample.m
    │   ├── testPose3SLAMExample.m
    │   ├── testPriorFactor.m
    │   ├── testProperties.m
    │   ├── testSFMExample.m
    │   ├── testSerialization.m
    │   ├── testStereoVOExample.m
    │   ├── testThinBayesTree.m
    │   ├── testThinTree.m
    │   ├── testThinTreeBayesNet.m
    │   ├── testTriangulation.m
    │   ├── testUtilities.m
    │   ├── testValues.m
    │   ├── testVisualISAMExample.m
    │   ├── test_gtsam.m
    │   ├── thinBayesTree.m
    │   ├── thinTree.m
    │   └── thinTreeBayesNet.m
    └── unstable_examples
    │   ├── +imuSimulator
    │       ├── +lib
    │       │   ├── antisim.m
    │       │   ├── arrow3d.m
    │       │   ├── getxyz.m
    │       │   ├── plot_trajectory.m
    │       │   ├── ref_frame_plot.m
    │       │   ├── rotatePoints.m
    │       │   └── uth2rot.m
    │       ├── IMUComparison.m
    │       ├── IMUComparison_with_cov.m
    │       ├── LatLonHRad_to_ECEF.m
    │       ├── OdometryExample3D.m
    │       ├── calculateIMUMeas_coriolis.m
    │       ├── calculateIMUMeasurement.m
    │       ├── coriolisExample.m
    │       ├── coriolisTestMonteCarlo.m
    │       ├── covarianceAnalysisBetween.m
    │       ├── covarianceAnalysisCreateFactorGraph.m
    │       ├── covarianceAnalysisCreateTrajectory.m
    │       ├── ct2ENU.m
    │       ├── getPoseFromGtScenario.m
    │       ├── integrateIMUTrajectory.m
    │       ├── integrateIMUTrajectory_bodyFrame.m
    │       ├── integrateIMUTrajectory_navFrame.m
    │       ├── integrateTrajectory.m
    │       ├── runConsistencyTests.m
    │       ├── test1onestep.m
    │       ├── test2constglobal.m
    │       ├── test3constbody.m
    │       └── test4circle.m
    │   ├── .gitignore
    │   ├── ConcurrentFilteringAndSmoothingExample.m
    │   ├── FlightCameraTransformIMU.m
    │   ├── IMUKittiExampleAdvanced.m
    │   ├── IMUKittiExampleVO.m
    │   ├── SmartRangeFactorExample.m
    │   ├── TransformCalProjectionFactorExampleISAM.m
    │   ├── TransformCalProjectionFactorIMUExampleISAM.m
    │   ├── TransformProjectionFactorExample.m
    │   ├── TransformProjectionFactorExampleISAM.m
    │   ├── flight_trajectory.m
    │   ├── ground_landmarks.m
    │   ├── plot_projected_landmarks.m
    │   ├── project_landmarks.m
    │   └── testTSAMFactors.m
├── myst.yml
├── package.xml
├── python
    ├── CMakeLists.txt
    ├── CustomFactors.md
    ├── MANIFEST.in
    ├── README.md
    ├── dev_requirements.txt
    ├── gtsam
    │   ├── __init__.py
    │   ├── examples
    │   │   ├── .gitignore
    │   │   ├── CameraResectioning.ipynb
    │   │   ├── CombinedImuFactorExample.py
    │   │   ├── CustomFactorExample.py
    │   │   ├── DiscreteBayesTree.ipynb
    │   │   ├── DiscreteSwitching.ipynb
    │   │   ├── DogLegOptimizerExample.py
    │   │   ├── EKF_SLAM.ipynb
    │   │   ├── EqF.ipynb
    │   │   ├── EqF.py
    │   │   ├── EssentialViewGraphExample.py
    │   │   ├── FixedLagSmootherExample.py
    │   │   ├── GPSFactorExample.py
    │   │   ├── HybridCity10000.py
    │   │   ├── IMUKittiExampleGPS.py
    │   │   ├── ImuFactorExample.py
    │   │   ├── ImuFactorISAM2Example.py
    │   │   ├── OdometryExample.py
    │   │   ├── PlanarManipulatorExample.py
    │   │   ├── PlanarSLAMExample.ipynb
    │   │   ├── Pose2ISAM2Example.py
    │   │   ├── Pose2SLAMExample.ipynb
    │   │   ├── Pose2SLAMExample_g2o.py
    │   │   ├── Pose2SLAMExample_lago.py
    │   │   ├── Pose3ISAM2Example.py
    │   │   ├── Pose3SLAMExample_g2o.py
    │   │   ├── Pose3SLAMExample_initializePose3Chordal.py
    │   │   ├── PreintegrationExample.py
    │   │   ├── README.md
    │   │   ├── RangeISAMExample_plaza2.ipynb
    │   │   ├── RangeSLAMExample_plaza2.ipynb
    │   │   ├── SFMExample.py
    │   │   ├── SFMExample_bal.py
    │   │   ├── SFMdata.py
    │   │   ├── SelfCalibrationExample.py
    │   │   ├── ShonanAveragingCLI.py
    │   │   ├── SimpleRotation.py
    │   │   ├── StereoVOExample.ipynb
    │   │   ├── TranslationAveragingExample.py
    │   │   ├── ViewGraphComparison.py
    │   │   ├── ViewGraphExample.py
    │   │   ├── VisualISAM2Example.py
    │   │   ├── VisualISAMExample.py
    │   │   ├── __init__.py
    │   │   ├── easyPoint2KalmanFilter.ipynb
    │   │   ├── elaboratePoint2KalmanFilter.ipynb
    │   │   ├── gtsam_plotly.py
    │   │   ├── plot_city10000.py
    │   │   └── simulation.py
    │   ├── gtsam.tpl
    │   ├── gtsfm.py
    │   ├── imuBias.py
    │   ├── noiseModel.py
    │   ├── notebooks
    │   │   └── ellipses.ipynb
    │   ├── preamble
    │   │   ├── base.h
    │   │   ├── basis.h
    │   │   ├── custom.h
    │   │   ├── discrete.h
    │   │   ├── geometry.h
    │   │   ├── gtsam.h
    │   │   ├── hybrid.h
    │   │   ├── inference.h
    │   │   ├── linear.h
    │   │   ├── navigation.h
    │   │   ├── nonlinear.h
    │   │   ├── sam.h
    │   │   ├── sfm.h
    │   │   ├── slam.h
    │   │   ├── symbolic.h
    │   │   └── values.h
    │   ├── specializations
    │   │   ├── base.h
    │   │   ├── basis.h
    │   │   ├── custom.h
    │   │   ├── discrete.h
    │   │   ├── geometry.h
    │   │   ├── gtsam.h
    │   │   ├── hybrid.h
    │   │   ├── inference.h
    │   │   ├── linear.h
    │   │   ├── navigation.h
    │   │   ├── nonlinear.h
    │   │   ├── sam.h
    │   │   ├── sfm.h
    │   │   ├── slam.h
    │   │   ├── symbolic.h
    │   │   └── values.h
    │   ├── symbol_shorthand.py
    │   ├── tests
    │   │   ├── dfg_utils.py
    │   │   ├── testEssentialMatrixConstraint.py
    │   │   ├── testScenarioRunner.py
    │   │   ├── test_Cal3Fisheye.py
    │   │   ├── test_Cal3Unified.py
    │   │   ├── test_Chebyshev2.py
    │   │   ├── test_DSFMap.py
    │   │   ├── test_DecisionTreeFactor.py
    │   │   ├── test_DiscreteBayesNet.py
    │   │   ├── test_DiscreteBayesTree.dot
    │   │   ├── test_DiscreteBayesTree.py
    │   │   ├── test_DiscreteConditional.py
    │   │   ├── test_DiscreteDistribution.py
    │   │   ├── test_DiscreteFactorGraph.py
    │   │   ├── test_DiscreteSearch.py
    │   │   ├── test_DsfTrackGenerator.py
    │   │   ├── test_Factors.py
    │   │   ├── test_FixedLagSmootherExample.py
    │   │   ├── test_FrobeniusFactor.py
    │   │   ├── test_FundamentalMatrix.py
    │   │   ├── test_GaussianBayesNet.py
    │   │   ├── test_GaussianFactorGraph.py
    │   │   ├── test_GraphvizFormatting.py
    │   │   ├── test_HybridBayesNet.py
    │   │   ├── test_HybridFactorGraph.py
    │   │   ├── test_HybridNonlinearFactorGraph.py
    │   │   ├── test_HybridValues.py
    │   │   ├── test_JacobianFactor.py
    │   │   ├── test_KalmanFilter.py
    │   │   ├── test_KarcherMeanFactor.py
    │   │   ├── test_LocalizationExample.py
    │   │   ├── test_NonlinearOptimizer.py
    │   │   ├── test_OdometryExample.py
    │   │   ├── test_PinholeCamera.py
    │   │   ├── test_PlanarSLAMExample.py
    │   │   ├── test_Point2.py
    │   │   ├── test_Point3.py
    │   │   ├── test_Pose2.py
    │   │   ├── test_Pose2SLAMExample.py
    │   │   ├── test_Pose3.py
    │   │   ├── test_Pose3SLAMExample.py
    │   │   ├── test_PriorFactor.py
    │   │   ├── test_Robust.py
    │   │   ├── test_Rot3.py
    │   │   ├── test_SFMExample.py
    │   │   ├── test_SO4.py
    │   │   ├── test_SOn.py
    │   │   ├── test_Scenario.py
    │   │   ├── test_Serialization.py
    │   │   ├── test_SfmData.py
    │   │   ├── test_ShonanAveraging.py
    │   │   ├── test_Sim2.py
    │   │   ├── test_Sim3.py
    │   │   ├── test_SimpleCamera.py
    │   │   ├── test_StereoVOExample.py
    │   │   ├── test_TranslationRecovery.py
    │   │   ├── test_Triangulation.py
    │   │   ├── test_Utilities.py
    │   │   ├── test_Values.py
    │   │   ├── test_VisualISAMExample.py
    │   │   ├── test_backwards_compatibility.py
    │   │   ├── test_basis.py
    │   │   ├── test_custom_factor.py
    │   │   ├── test_dataset.py
    │   │   ├── test_initialize_pose3.py
    │   │   ├── test_lago.py
    │   │   ├── test_logging_optimizer.py
    │   │   ├── test_numerical_derivative.py
    │   │   ├── test_pickle.py
    │   │   └── test_sam.py
    │   └── utils
    │   │   ├── __init__.py
    │   │   ├── circlePose3.py
    │   │   ├── logging_optimizer.py
    │   │   ├── numerical_derivative.py
    │   │   ├── plot.py
    │   │   ├── test_case.py
    │   │   ├── visual_data_generator.py
    │   │   └── visual_isam.py
    ├── gtsam_unstable
    │   ├── __init__.py
    │   ├── examples
    │   │   ├── LocalizationExample.py
    │   │   ├── TimeOfArrivalExample.py
    │   │   └── __init__.py
    │   ├── gtsam_unstable.tpl
    │   ├── preamble.h
    │   ├── specializations
    │   │   └── gtsam_unstable.h
    │   └── tests
    │   │   ├── __init__.py
    │   │   └── test_ProjectionFactorRollingShutter.py
    ├── requirements.txt
    └── setup.py.in
├── tests
    ├── CMakeLists.txt
    ├── ImuMeasurement.h
    ├── Measurement.h
    ├── simulated2D.h
    ├── simulated2DConstraints.h
    ├── simulated2DOriented.h
    ├── simulated3D.h
    ├── smallExample.h
    ├── testBoundingConstraint.cpp
    ├── testDoglegOptimizer.cpp
    ├── testExpressionFactor.cpp
    ├── testExtendedKalmanFilter.cpp
    ├── testGaussianBayesTreeB.cpp
    ├── testGaussianFactorGraphB.cpp
    ├── testGaussianISAM.cpp
    ├── testGaussianISAM2.cpp
    ├── testGaussianJunctionTreeB.cpp
    ├── testGeneralSFMFactorB.cpp
    ├── testGncOptimizer.cpp
    ├── testGraph.cpp
    ├── testImuPreintegration.cpp
    ├── testIterative.cpp
    ├── testLie.cpp
    ├── testManifold.cpp
    ├── testMarginals.cpp
    ├── testNonlinearEquality.cpp
    ├── testNonlinearFactor.cpp
    ├── testNonlinearFactorGraph.cpp
    ├── testNonlinearISAM.cpp
    ├── testNonlinearOptimizer.cpp
    ├── testPCGSolver.cpp
    ├── testPreconditioner.cpp
    ├── testRobust.cpp
    ├── testRot3Optimization.cpp
    ├── testSerializationSlam.cpp
    ├── testSimulated2D.cpp
    ├── testSimulated2DOriented.cpp
    ├── testSimulated3D.cpp
    ├── testSubgraphPreconditioner.cpp
    ├── testSubgraphSolver.cpp
    ├── testTranslationRecovery.cpp
    └── testVisualISAM2.cpp
├── timing
    ├── CMakeLists.txt
    ├── DummyFactor.h
    ├── timeAdaptAutoDiff.cpp
    ├── timeBatch.cpp
    ├── timeCalibratedCamera.cpp
    ├── timeCameraExpression.cpp
    ├── timeCholesky.cpp
    ├── timeFactorOverhead.cpp
    ├── timeFrobeniusFactor.cpp
    ├── timeGaussianFactor.cpp
    ├── timeGaussianFactorGraph.cpp
    ├── timeIncremental.cpp
    ├── timeLago.cpp
    ├── timeLinearize.h
    ├── timeMatrix.cpp
    ├── timeMatrixOps.cpp
    ├── timeOneCameraExpression.cpp
    ├── timePinholeCamera.cpp
    ├── timePose2.cpp
    ├── timePose3.cpp
    ├── timeRot2.cpp
    ├── timeRot3.cpp
    ├── timeSFMBAL.cpp
    ├── timeSFMBAL.h
    ├── timeSFMBALautodiff.cpp
    ├── timeSFMBALcamTnav.cpp
    ├── timeSFMBALnavTcam.cpp
    ├── timeSFMBALsmart.cpp
    ├── timeSFMExpressions.cpp
    ├── timeSchurFactors.cpp
    ├── timeShonanFactor.cpp
    ├── timeStereoCamera.cpp
    ├── timeTest.cpp
    ├── timeVirtual.cpp
    ├── timeVirtual2.cpp
    └── timeiSAM2Chain.cpp
├── update_wrap.sh
└── wrap
    ├── .github
        └── workflows
        │   ├── linux-ci.yml
        │   └── macos-ci.yml
    ├── .gitignore
    ├── CMakeLists.txt
    ├── DOCS.md
    ├── LICENSE
    ├── README.md
    ├── cmake
        ├── GtwrapUtils.cmake
        ├── MatlabWrap.cmake
        ├── PybindWrap.cmake
        └── gtwrapConfig.cmake.in
    ├── docs
        ├── doc_template.py
        ├── docs.py
        └── parser
        │   ├── doxygen.conf
        │   ├── parse_doxygen_xml.py
        │   └── parse_xml.py
    ├── gtwrap
        ├── __init__.py
        ├── interface_parser
        │   ├── __init__.py
        │   ├── classes.py
        │   ├── declaration.py
        │   ├── enum.py
        │   ├── function.py
        │   ├── module.py
        │   ├── namespace.py
        │   ├── template.py
        │   ├── tokens.py
        │   ├── type.py
        │   ├── utils.py
        │   └── variable.py
        ├── matlab_wrapper
        │   ├── __init__.py
        │   ├── mixins.py
        │   ├── templates.py
        │   └── wrapper.py
        ├── pybind_wrapper.py
        ├── template_instantiator
        │   ├── __init__.py
        │   ├── classes.py
        │   ├── constructor.py
        │   ├── declaration.py
        │   ├── function.py
        │   ├── helpers.py
        │   ├── method.py
        │   └── namespace.py
        └── xml_parser
        │   ├── __init__.py
        │   └── xml_parser.py
    ├── matlab.h
    ├── pybind11
        ├── .appveyor.yml
        ├── .clang-format
        ├── .clang-tidy
        ├── .cmake-format.yaml
        ├── .codespell-ignore-lines
        ├── .gitattributes
        ├── .github
        │   ├── CODEOWNERS
        │   ├── CONTRIBUTING.md
        │   ├── ISSUE_TEMPLATE
        │   │   ├── bug-report.yml
        │   │   └── config.yml
        │   ├── dependabot.yml
        │   ├── labeler.yml
        │   ├── labeler_merged.yml
        │   ├── matchers
        │   │   └── pylint.json
        │   ├── pull_request_template.md
        │   └── workflows
        │   │   ├── ci.yml
        │   │   ├── configure.yml
        │   │   ├── emscripten.yaml
        │   │   ├── format.yml
        │   │   ├── labeler.yml
        │   │   ├── pip.yml
        │   │   └── upstream.yml
        ├── .gitignore
        ├── .pre-commit-config.yaml
        ├── .readthedocs.yml
        ├── CMakeLists.txt
        ├── LICENSE
        ├── MANIFEST.in
        ├── README.rst
        ├── SECURITY.md
        ├── docs
        │   ├── Doxyfile
        │   ├── Makefile
        │   ├── _static
        │   │   └── css
        │   │   │   └── custom.css
        │   ├── advanced
        │   │   ├── cast
        │   │   │   ├── chrono.rst
        │   │   │   ├── custom.rst
        │   │   │   ├── eigen.rst
        │   │   │   ├── functional.rst
        │   │   │   ├── index.rst
        │   │   │   ├── overview.rst
        │   │   │   ├── stl.rst
        │   │   │   └── strings.rst
        │   │   ├── classes.rst
        │   │   ├── embedding.rst
        │   │   ├── exceptions.rst
        │   │   ├── functions.rst
        │   │   ├── misc.rst
        │   │   ├── pycpp
        │   │   │   ├── index.rst
        │   │   │   ├── numpy.rst
        │   │   │   ├── object.rst
        │   │   │   └── utilities.rst
        │   │   └── smart_ptrs.rst
        │   ├── basics.rst
        │   ├── benchmark.py
        │   ├── benchmark.rst
        │   ├── changelog.rst
        │   ├── classes.rst
        │   ├── cmake
        │   │   └── index.rst
        │   ├── compiling.rst
        │   ├── conf.py
        │   ├── faq.rst
        │   ├── index.rst
        │   ├── installing.rst
        │   ├── limitations.rst
        │   ├── pybind11-logo.png
        │   ├── pybind11_vs_boost_python1.png
        │   ├── pybind11_vs_boost_python1.svg
        │   ├── pybind11_vs_boost_python2.png
        │   ├── pybind11_vs_boost_python2.svg
        │   ├── reference.rst
        │   ├── release.rst
        │   ├── requirements.in
        │   ├── requirements.txt
        │   └── upgrade.rst
        ├── include
        │   └── pybind11
        │   │   ├── attr.h
        │   │   ├── buffer_info.h
        │   │   ├── cast.h
        │   │   ├── chrono.h
        │   │   ├── common.h
        │   │   ├── complex.h
        │   │   ├── detail
        │   │       ├── class.h
        │   │       ├── common.h
        │   │       ├── cpp_conduit.h
        │   │       ├── descr.h
        │   │       ├── exception_translation.h
        │   │       ├── init.h
        │   │       ├── internals.h
        │   │       ├── type_caster_base.h
        │   │       ├── typeid.h
        │   │       └── value_and_holder.h
        │   │   ├── eigen.h
        │   │   ├── eigen
        │   │       ├── common.h
        │   │       ├── matrix.h
        │   │       └── tensor.h
        │   │   ├── embed.h
        │   │   ├── eval.h
        │   │   ├── functional.h
        │   │   ├── gil.h
        │   │   ├── gil_safe_call_once.h
        │   │   ├── iostream.h
        │   │   ├── numpy.h
        │   │   ├── operators.h
        │   │   ├── options.h
        │   │   ├── pybind11.h
        │   │   ├── pytypes.h
        │   │   ├── stl.h
        │   │   ├── stl
        │   │       └── filesystem.h
        │   │   ├── stl_bind.h
        │   │   ├── type_caster_pyobject_ptr.h
        │   │   └── typing.h
        ├── noxfile.py
        ├── pybind11
        │   ├── __init__.py
        │   ├── __main__.py
        │   ├── _version.py
        │   ├── commands.py
        │   ├── py.typed
        │   └── setup_helpers.py
        ├── pyproject.toml
        ├── setup.cfg
        ├── setup.py
        ├── tests
        │   ├── CMakeLists.txt
        │   ├── conftest.py
        │   ├── constructor_stats.h
        │   ├── cross_module_gil_utils.cpp
        │   ├── cross_module_interleaved_error_already_set.cpp
        │   ├── eigen_tensor_avoid_stl_array.cpp
        │   ├── env.py
        │   ├── exo_planet_c_api.cpp
        │   ├── exo_planet_pybind11.cpp
        │   ├── extra_python_package
        │   │   ├── pytest.ini
        │   │   └── test_files.py
        │   ├── extra_setuptools
        │   │   ├── pytest.ini
        │   │   └── test_setuphelper.py
        │   ├── home_planet_very_lonely_traveler.cpp
        │   ├── local_bindings.h
        │   ├── object.h
        │   ├── pybind11_cross_module_tests.cpp
        │   ├── pybind11_tests.cpp
        │   ├── pybind11_tests.h
        │   ├── pyproject.toml
        │   ├── pytest.ini
        │   ├── requirements.txt
        │   ├── test_async.cpp
        │   ├── test_async.py
        │   ├── test_buffers.cpp
        │   ├── test_buffers.py
        │   ├── test_builtin_casters.cpp
        │   ├── test_builtin_casters.py
        │   ├── test_call_policies.cpp
        │   ├── test_call_policies.py
        │   ├── test_callbacks.cpp
        │   ├── test_callbacks.py
        │   ├── test_chrono.cpp
        │   ├── test_chrono.py
        │   ├── test_class.cpp
        │   ├── test_class.py
        │   ├── test_cmake_build
        │   │   ├── CMakeLists.txt
        │   │   ├── embed.cpp
        │   │   ├── installed_embed
        │   │   │   └── CMakeLists.txt
        │   │   ├── installed_function
        │   │   │   └── CMakeLists.txt
        │   │   ├── installed_target
        │   │   │   └── CMakeLists.txt
        │   │   ├── main.cpp
        │   │   ├── subdirectory_embed
        │   │   │   └── CMakeLists.txt
        │   │   ├── subdirectory_function
        │   │   │   └── CMakeLists.txt
        │   │   ├── subdirectory_target
        │   │   │   └── CMakeLists.txt
        │   │   └── test.py
        │   ├── test_const_name.cpp
        │   ├── test_const_name.py
        │   ├── test_constants_and_functions.cpp
        │   ├── test_constants_and_functions.py
        │   ├── test_copy_move.cpp
        │   ├── test_copy_move.py
        │   ├── test_cpp_conduit.cpp
        │   ├── test_cpp_conduit.py
        │   ├── test_cpp_conduit_traveler_bindings.h
        │   ├── test_cpp_conduit_traveler_types.h
        │   ├── test_custom_type_casters.cpp
        │   ├── test_custom_type_casters.py
        │   ├── test_custom_type_setup.cpp
        │   ├── test_custom_type_setup.py
        │   ├── test_docstring_options.cpp
        │   ├── test_docstring_options.py
        │   ├── test_eigen_matrix.cpp
        │   ├── test_eigen_matrix.py
        │   ├── test_eigen_tensor.cpp
        │   ├── test_eigen_tensor.inl
        │   ├── test_eigen_tensor.py
        │   ├── test_embed
        │   │   ├── CMakeLists.txt
        │   │   ├── catch.cpp
        │   │   ├── external_module.cpp
        │   │   ├── test_interpreter.cpp
        │   │   ├── test_interpreter.py
        │   │   └── test_trampoline.py
        │   ├── test_enum.cpp
        │   ├── test_enum.py
        │   ├── test_eval.cpp
        │   ├── test_eval.py
        │   ├── test_eval_call.py
        │   ├── test_exceptions.cpp
        │   ├── test_exceptions.h
        │   ├── test_exceptions.py
        │   ├── test_factory_constructors.cpp
        │   ├── test_factory_constructors.py
        │   ├── test_gil_scoped.cpp
        │   ├── test_gil_scoped.py
        │   ├── test_iostream.cpp
        │   ├── test_iostream.py
        │   ├── test_kwargs_and_defaults.cpp
        │   ├── test_kwargs_and_defaults.py
        │   ├── test_local_bindings.cpp
        │   ├── test_local_bindings.py
        │   ├── test_methods_and_attributes.cpp
        │   ├── test_methods_and_attributes.py
        │   ├── test_modules.cpp
        │   ├── test_modules.py
        │   ├── test_multiple_inheritance.cpp
        │   ├── test_multiple_inheritance.py
        │   ├── test_numpy_array.cpp
        │   ├── test_numpy_array.py
        │   ├── test_numpy_dtypes.cpp
        │   ├── test_numpy_dtypes.py
        │   ├── test_numpy_vectorize.cpp
        │   ├── test_numpy_vectorize.py
        │   ├── test_opaque_types.cpp
        │   ├── test_opaque_types.py
        │   ├── test_operator_overloading.cpp
        │   ├── test_operator_overloading.py
        │   ├── test_pickling.cpp
        │   ├── test_pickling.py
        │   ├── test_python_multiple_inheritance.cpp
        │   ├── test_python_multiple_inheritance.py
        │   ├── test_pytypes.cpp
        │   ├── test_pytypes.py
        │   ├── test_sequences_and_iterators.cpp
        │   ├── test_sequences_and_iterators.py
        │   ├── test_smart_ptr.cpp
        │   ├── test_smart_ptr.py
        │   ├── test_stl.cpp
        │   ├── test_stl.py
        │   ├── test_stl_binders.cpp
        │   ├── test_stl_binders.py
        │   ├── test_tagbased_polymorphic.cpp
        │   ├── test_tagbased_polymorphic.py
        │   ├── test_thread.cpp
        │   ├── test_thread.py
        │   ├── test_type_caster_pyobject_ptr.cpp
        │   ├── test_type_caster_pyobject_ptr.py
        │   ├── test_type_caster_std_function_specializations.cpp
        │   ├── test_type_caster_std_function_specializations.py
        │   ├── test_union.cpp
        │   ├── test_union.py
        │   ├── test_unnamed_namespace_a.cpp
        │   ├── test_unnamed_namespace_a.py
        │   ├── test_unnamed_namespace_b.cpp
        │   ├── test_unnamed_namespace_b.py
        │   ├── test_vector_unique_ptr_member.cpp
        │   ├── test_vector_unique_ptr_member.py
        │   ├── test_virtual_functions.cpp
        │   ├── test_virtual_functions.py
        │   ├── valgrind-numpy-scipy.supp
        │   └── valgrind-python.supp
        └── tools
        │   ├── FindCatch.cmake
        │   ├── FindEigen3.cmake
        │   ├── FindPythonLibsNew.cmake
        │   ├── JoinPaths.cmake
        │   ├── check-style.sh
        │   ├── cmake_uninstall.cmake.in
        │   ├── codespell_ignore_lines_from_errors.py
        │   ├── libsize.py
        │   ├── make_changelog.py
        │   ├── pybind11.pc.in
        │   ├── pybind11Common.cmake
        │   ├── pybind11Config.cmake.in
        │   ├── pybind11GuessPythonExtSuffix.cmake
        │   ├── pybind11NewTools.cmake
        │   ├── pybind11Tools.cmake
        │   ├── pyproject.toml
        │   ├── setup_global.py.in
        │   ├── setup_main.py.in
        │   └── test-pybind11GuessPythonExtSuffix.cmake
    ├── requirements.txt
    ├── scripts
        ├── matlab_wrap.py
        └── pybind_wrap.py
    ├── setup.py
    ├── sphinx
        ├── Makefile
        ├── conf.py
        ├── index.rst
        ├── make.bat
        └── wrap.rst
    ├── templates
        ├── matlab_wrapper.tpl.in
        └── pybind_wrapper.tpl.example
    ├── tests
        ├── .gitignore
        ├── CMakeLists.txt
        ├── actual
        │   └── .gitignore
        ├── expected
        │   ├── matlab
        │   │   ├── +Pet
        │   │   │   └── Kind.m
        │   │   ├── +gtsam
        │   │   │   ├── +MCU
        │   │   │   │   ├── Avengers.m
        │   │   │   │   └── GotG.m
        │   │   │   ├── +OptimizerGaussNewtonParams
        │   │   │   │   └── Verbosity.m
        │   │   │   ├── Class1.m
        │   │   │   ├── Class2.m
        │   │   │   ├── ClassA.m
        │   │   │   ├── GeneralSFMFactorCal3Bundler.m
        │   │   │   ├── NonlinearFactorGraph.m
        │   │   │   ├── PinholeCameraCal3Bundler.m
        │   │   │   ├── Point2.m
        │   │   │   ├── Point3.m
        │   │   │   ├── SfmTrack.m
        │   │   │   ├── Values.m
        │   │   │   └── VerbosityLM.m
        │   │   ├── +ns1
        │   │   │   ├── ClassA.m
        │   │   │   ├── ClassB.m
        │   │   │   └── aGlobalFunction.m
        │   │   ├── +ns2
        │   │   │   ├── +ns3
        │   │   │   │   └── ClassB.m
        │   │   │   ├── ClassA.m
        │   │   │   ├── ClassC.m
        │   │   │   ├── aGlobalFunction.m
        │   │   │   └── overloadedGlobalFunction.m
        │   │   ├── ClassD.m
        │   │   ├── Color.m
        │   │   ├── DefaultFuncInt.m
        │   │   ├── DefaultFuncObj.m
        │   │   ├── DefaultFuncString.m
        │   │   ├── DefaultFuncVector.m
        │   │   ├── DefaultFuncZero.m
        │   │   ├── FastSet.m
        │   │   ├── ForwardKinematics.m
        │   │   ├── ForwardKinematicsFactor.m
        │   │   ├── FunDouble.m
        │   │   ├── FunRange.m
        │   │   ├── MultiTemplatedFunctionDoubleSize_tDouble.m
        │   │   ├── MultiTemplatedFunctionStringSize_tDouble.m
        │   │   ├── MultipleTemplatesIntDouble.m
        │   │   ├── MultipleTemplatesIntFloat.m
        │   │   ├── MyBase.m
        │   │   ├── MyFactorPosePoint2.m
        │   │   ├── MyTemplateMatrix.m
        │   │   ├── MyTemplatePoint2.m
        │   │   ├── MyVector12.m
        │   │   ├── MyVector3.m
        │   │   ├── PrimitiveRefDouble.m
        │   │   ├── ScopedTemplateResult.m
        │   │   ├── TemplatedConstructor.m
        │   │   ├── TemplatedFunctionRot3.m
        │   │   ├── Test.m
        │   │   ├── aGlobalFunction.m
        │   │   ├── class_wrapper.cpp
        │   │   ├── enum_wrapper.cpp
        │   │   ├── functions_wrapper.cpp
        │   │   ├── geometry_wrapper.cpp
        │   │   ├── inheritance_wrapper.cpp
        │   │   ├── load2D.m
        │   │   ├── multiple_files_wrapper.cpp
        │   │   ├── namespaces_wrapper.cpp
        │   │   ├── overloadedGlobalFunction.m
        │   │   ├── setPose.m
        │   │   ├── special_cases_wrapper.cpp
        │   │   └── template_wrapper.cpp
        │   ├── python
        │   │   ├── class_pybind.cpp
        │   │   ├── enum_pybind.cpp
        │   │   ├── functions_pybind.cpp
        │   │   ├── geometry_pybind.cpp
        │   │   ├── inheritance_pybind.cpp
        │   │   ├── namespaces_pybind.cpp
        │   │   ├── operator_pybind.cpp
        │   │   ├── special_cases_pybind.cpp
        │   │   └── templates_pybind.cpp
        │   └── xml
        │   │   ├── JacobianFactorQ_8h.xml
        │   │   ├── NonlinearFactor_8h.xml
        │   │   ├── classgtsam_1_1JacobianFactorQ.xml
        │   │   ├── classgtsam_1_1NoiseModelFactor.xml
        │   │   ├── classgtsam_1_1NoiseModelFactor1.xml
        │   │   ├── classgtsam_1_1NoiseModelFactor2.xml
        │   │   ├── classgtsam_1_1NoiseModelFactor3.xml
        │   │   ├── classgtsam_1_1NoiseModelFactor4.xml
        │   │   ├── classgtsam_1_1NoiseModelFactor5.xml
        │   │   ├── classgtsam_1_1NoiseModelFactor6.xml
        │   │   ├── classgtsam_1_1NonlinearFactor.xml
        │   │   ├── combine.xslt
        │   │   ├── compound.xsd
        │   │   ├── deprecated.xml
        │   │   ├── dir_59425e443f801f1f2fd8bbe4959a3ccf.xml
        │   │   ├── dir_e4787312bc569bb879bb1171628269de.xml
        │   │   ├── index.xml
        │   │   ├── index.xsd
        │   │   ├── namespacegtsam.xml
        │   │   ├── structgtsam_1_1traits_3_01JacobianFactorQ_3_01D_00_01ZDim_01_4_01_4.xml
        │   │   └── structgtsam_1_1traits_3_01NonlinearFactor_01_4.xml
        ├── fixtures
        │   ├── class.i
        │   ├── enum.i
        │   ├── functions.i
        │   ├── geometry.i
        │   ├── inheritance.i
        │   ├── namespaces.i
        │   ├── operator.i
        │   ├── part1.i
        │   ├── part2.i
        │   ├── special_cases.i
        │   └── templates.i
        ├── pybind_wrapper.tpl
        ├── pybind_wrapper_test.cc
        ├── pybind_wrapper_test.gth
        ├── pybind_wrapper_test.h
        ├── pybind_wrapper_test_script.py
        ├── testDependencies.h
        ├── testMemory.m
        ├── test_docs.py
        ├── test_interface_parser.py
        ├── test_matlab_wrapper.py
        ├── test_pybind_wrapper.py
        └── test_template_instantiator.py
    └── utilities
        └── update.sh


/.clang-format:
--------------------------------------------------------------------------------
1 | BasedOnStyle: Google
2 | 


--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/questions-help-support.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: "Questions/Help/Support"
3 | ---
4 | 
5 | Please post questions and support requests in the [GTSAM Google group](https://groups.google.com/forum/#!forum/gtsam-users) and not on Github.
6 | 


--------------------------------------------------------------------------------
/.settings/.gitignore:
--------------------------------------------------------------------------------
1 | /org.eclipse.cdt.codan.core.prefs
2 | 


--------------------------------------------------------------------------------
/cmake/GTSAMCMakeToolsConfig.cmake:
--------------------------------------------------------------------------------
1 | # This config file modifies CMAKE_MODULE_PATH so that the GTSAM-CMakeTools files may be included
2 | 
3 | set(GTSAM_CMAKE_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}")
4 | list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
5 | 


--------------------------------------------------------------------------------
/cmake/HandlePerfTools.cmake:
--------------------------------------------------------------------------------
1 | 
2 | ###############################################################################
3 | # Find Google perftools
4 | find_package(GooglePerfTools)


--------------------------------------------------------------------------------
/containers/gtsam-vnc/compose.yaml:
--------------------------------------------------------------------------------
 1 | services:
 2 |   gtsam_vnc:
 3 |     build:
 4 |       args:
 5 |         GTSAM_TAG: ${GTSAM_TAG}
 6 |       context: .
 7 |       dockerfile: Containerfile
 8 |     env_file:
 9 |       - .env
10 |     image: gtsam-vnc:${GTSAM_TAG}
11 | 


--------------------------------------------------------------------------------
/doc/.gitignore:
--------------------------------------------------------------------------------
1 | /html/
2 | *.lyx~
3 | *.bib~
4 | 


--------------------------------------------------------------------------------
/doc/Code/LocalizationExample2.cpp:
--------------------------------------------------------------------------------
1 | // add unary measurement factors, like GPS, on all three poses
2 | auto unaryNoise =
3 |  noiseModel::Diagonal::Sigmas(Vector2(0.1, 0.1)); // 10cm std on x,y
4 | graph.emplace_shared<UnaryFactor>(1, 0.0, 0.0, unaryNoise);
5 | graph.emplace_shared<UnaryFactor>(2, 2.0, 0.0, unaryNoise);
6 | graph.emplace_shared<UnaryFactor>(3, 4.0, 0.0, unaryNoise);
7 | 
8 | 


--------------------------------------------------------------------------------
/doc/Code/OdometryMarginals.cpp:
--------------------------------------------------------------------------------
1 | // Query the marginals
2 | cout.precision(2);
3 | Marginals marginals(graph, result);
4 | cout << "x1 covariance:\n" << marginals.marginalCovariance(1) << endl;
5 | cout << "x2 covariance:\n" << marginals.marginalCovariance(2) << endl;
6 | cout << "x3 covariance:\n" << marginals.marginalCovariance(3) << endl;
7 | 


--------------------------------------------------------------------------------
/doc/Code/OdometryOptimize.cpp:
--------------------------------------------------------------------------------
 1 | // create (deliberatly inaccurate) initial estimate
 2 | Values initial;
 3 | initial.insert(1, Pose2(0.5, 0.0, 0.2));
 4 | initial.insert(2, Pose2(2.3, 0.1, -0.2));
 5 | initial.insert(3, Pose2(4.1, 0.1, 0.1));
 6 | 
 7 | // optimize using Levenberg-Marquardt optimization
 8 | Values result = LevenbergMarquardtOptimizer(graph, initial).optimize();
 9 | 
10 | 


--------------------------------------------------------------------------------
/doc/Code/OdometryOutput1.txt:
--------------------------------------------------------------------------------
 1 | Factor Graph:
 2 | size: 3
 3 | 
 4 | Factor 0: PriorFactor on 1
 5 |   prior mean:  (0, 0, 0)
 6 |   noise model: diagonal sigmas [0.3; 0.3; 0.1];
 7 | 
 8 | Factor 1: BetweenFactor(1,2)
 9 |   measured:  (2, 0, 0)
10 |   noise model: diagonal sigmas [0.2; 0.2; 0.1];
11 | 
12 | Factor 2: BetweenFactor(2,3)
13 |   measured:  (2, 0, 0)
14 |   noise model: diagonal sigmas [0.2; 0.2; 0.1];


--------------------------------------------------------------------------------
/doc/Code/OdometryOutput3.txt:
--------------------------------------------------------------------------------
 1 | x1 covariance:
 2 |    0.09 1.7e-33 2.8e-33
 3 | 1.7e-33    0.09 2.6e-17
 4 | 2.8e-33 2.6e-17    0.01
 5 | x2 covariance:
 6 |    0.13 1.2e-18 6.1e-19
 7 | 1.2e-18    0.17    0.02
 8 | 6.1e-19    0.02    0.02
 9 | x3 covariance:
10 |    0.17 8.6e-18 2.7e-18
11 | 8.6e-18    0.37    0.06
12 | 2.7e-18    0.06    0.03


--------------------------------------------------------------------------------
/doc/Code/PlanarSLAMExample.txt:
--------------------------------------------------------------------------------
1 | >> result
2 | Values with 5 values:
3 |   l1: (2, 2)
4 |   l2: (4, 2)
5 |   x1: (-1.8e-16, 5.1e-17, -1.5e-17)
6 |   x2: (2, -5.8e-16, -4.6e-16)
7 |   x3: (4, -3.1e-15, -4.6e-16)
8 | 


--------------------------------------------------------------------------------
/doc/Code/SFMExample.m:
--------------------------------------------------------------------------------
 1 | %% Add factors for all measurements
 2 | noise = noiseModel.Isotropic.Sigma(2, measurementNoiseSigma);
 3 | for i = 1:length(Z), 
 4 |     for k = 1:length(Z{i})
 5 |         j = J{i}{k};
 6 |         G.add(GenericProjectionFactorCal3_S2(
 7 |               Z{i}{k}, noise, symbol('x', i), symbol('p', j), K));
 8 |     end
 9 | end
10 | 


--------------------------------------------------------------------------------
/doc/Code/calls.txt:
--------------------------------------------------------------------------------
1 | >> graph.error(initialEstimate)
2 | ans =
3 |    20.1086
4 | 
5 | >> graph.error(result)
6 | ans =
7 |    8.2631e-18
8 | 


--------------------------------------------------------------------------------
/doc/CodingGuidelines.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/CodingGuidelines.docx


--------------------------------------------------------------------------------
/doc/Hybrid.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/Hybrid.pdf


--------------------------------------------------------------------------------
/doc/ImuFactor.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/ImuFactor.pdf


--------------------------------------------------------------------------------
/doc/LieGroups.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/LieGroups.pdf


--------------------------------------------------------------------------------
/doc/PreintegratedIMUJacobians.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/PreintegratedIMUJacobians.pdf


--------------------------------------------------------------------------------
/doc/examples.md:
--------------------------------------------------------------------------------
1 | # Examples
2 | 
3 | This section contains python examples in interactive Python notebooks (`*.ipynb`). Python notebooks with an <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/> button near the top can be opened in your browser, where you can run the files yourself and make edits to play with and understand GTSAM.


--------------------------------------------------------------------------------
/doc/gtsam-coordinate-frames.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/gtsam-coordinate-frames.pdf


--------------------------------------------------------------------------------
/doc/gtsam.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/gtsam.pdf


--------------------------------------------------------------------------------
/doc/images/Beijing.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/Beijing.pdf


--------------------------------------------------------------------------------
/doc/images/FactorGraph.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/FactorGraph.pdf


--------------------------------------------------------------------------------
/doc/images/FactorGraph2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/FactorGraph2.pdf


--------------------------------------------------------------------------------
/doc/images/FactorGraph3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/FactorGraph3.pdf


--------------------------------------------------------------------------------
/doc/images/FactorGraph4.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/FactorGraph4.pdf


--------------------------------------------------------------------------------
/doc/images/Localization.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/Localization.pdf


--------------------------------------------------------------------------------
/doc/images/Odometry.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/Odometry.pdf


--------------------------------------------------------------------------------
/doc/images/Victoria.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/Victoria.pdf


--------------------------------------------------------------------------------
/doc/images/circular.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/circular.pdf


--------------------------------------------------------------------------------
/doc/images/circular.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/circular.png


--------------------------------------------------------------------------------
/doc/images/cube.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/cube.pdf


--------------------------------------------------------------------------------
/doc/images/example1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/example1.pdf


--------------------------------------------------------------------------------
/doc/images/example2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/example2.pdf


--------------------------------------------------------------------------------
/doc/images/gtsam-structure.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/gtsam-structure.pdf


--------------------------------------------------------------------------------
/doc/images/hmm-FG.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/hmm-FG.pdf


--------------------------------------------------------------------------------
/doc/images/hmm.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/hmm.pdf


--------------------------------------------------------------------------------
/doc/images/littleRobot.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/littleRobot.pdf


--------------------------------------------------------------------------------
/doc/images/n-steps.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/n-steps.pdf


--------------------------------------------------------------------------------
/doc/images/n-steps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/n-steps.png


--------------------------------------------------------------------------------
/doc/images/sphere2500-result.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/sphere2500-result.pdf


--------------------------------------------------------------------------------
/doc/images/w100-result.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/images/w100-result.pdf


--------------------------------------------------------------------------------
/doc/math.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/math.pdf


--------------------------------------------------------------------------------
/doc/robust.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/robust.pdf


--------------------------------------------------------------------------------
/doc/trustregion.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/doc/trustregion.pdf


--------------------------------------------------------------------------------
/examples/Data/.gitignore:
--------------------------------------------------------------------------------
1 | *.txt
2 | 


--------------------------------------------------------------------------------
/examples/Data/Balbianello/BalbianelloMedium-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/examples/Data/Balbianello/BalbianelloMedium-1.jpg


--------------------------------------------------------------------------------
/examples/Data/Balbianello/BalbianelloMedium-1.key.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/examples/Data/Balbianello/BalbianelloMedium-1.key.gz


--------------------------------------------------------------------------------
/examples/Data/Balbianello/BalbianelloMedium-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/examples/Data/Balbianello/BalbianelloMedium-2.jpg


--------------------------------------------------------------------------------
/examples/Data/Balbianello/BalbianelloMedium-2.key.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/examples/Data/Balbianello/BalbianelloMedium-2.key.gz


--------------------------------------------------------------------------------
/examples/Data/Balbianello/BalbianelloMedium-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/examples/Data/Balbianello/BalbianelloMedium-3.jpg


--------------------------------------------------------------------------------
/examples/Data/Balbianello/BalbianelloMedium-3.key.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/examples/Data/Balbianello/BalbianelloMedium-3.key.gz


--------------------------------------------------------------------------------
/examples/Data/Balbianello/BalbianelloMedium-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/examples/Data/Balbianello/BalbianelloMedium-4.jpg


--------------------------------------------------------------------------------
/examples/Data/Balbianello/BalbianelloMedium-4.key.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/examples/Data/Balbianello/BalbianelloMedium-4.key.gz


--------------------------------------------------------------------------------
/examples/Data/Balbianello/BalbianelloMedium-5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/examples/Data/Balbianello/BalbianelloMedium-5.jpg


--------------------------------------------------------------------------------
/examples/Data/Balbianello/BalbianelloMedium-5.key.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/examples/Data/Balbianello/BalbianelloMedium-5.key.gz


--------------------------------------------------------------------------------
/examples/Data/KittiEquivBiasedImu_metadata.txt:
--------------------------------------------------------------------------------
1 | BodyPtx BodyPty BodyPtz BodyPrx BodyPry BodyPrz AccelerometerSigma GyroscopeSigma IntegrationSigma AccelerometerBiasSigma GyroscopeBiasSigma AverageDeltaT
2 | 0 0 0 0 0 0 0.01 0.000175 0 0.000167 2.91e-006 0.0100395199348279
3 | 


--------------------------------------------------------------------------------
/examples/Data/Plaza1_.mat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/examples/Data/Plaza1_.mat


--------------------------------------------------------------------------------
/examples/Data/Plaza2_.mat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/examples/Data/Plaza2_.mat


--------------------------------------------------------------------------------
/examples/Data/VO_calibration.txt:
--------------------------------------------------------------------------------
1 | 721.5377 721.5377 0.0 609.5593 172.854 0.537150588


--------------------------------------------------------------------------------
/examples/Data/VO_calibration00.txt:
--------------------------------------------------------------------------------
1 | 718.856 718.856 0.0 607.1928 185.2157 0.5371657189


--------------------------------------------------------------------------------
/examples/Data/VO_calibration00s.txt:
--------------------------------------------------------------------------------
1 | 718.856 718.856 0.0 607.1928 185.2157 0.5371657189


--------------------------------------------------------------------------------
/examples/Data/pose3example-offdiagonal-rewritten.txt:
--------------------------------------------------------------------------------
1 | VERTEX_SE3:QUAT 0 0 0 0 0 0 0 1
2 | VERTEX_SE3:QUAT 1 1.00137 0.01539 0.004948 0.190253 0.283162 -0.392318 0.85423
3 | EDGE_SE3:QUAT 0 1 1.00137 0.01539 0.004948 0.190253 0.283162 -0.392318 0.85423 10000 1 1 1 1 1 10000 2 2 2 2 10000 3 3 3 10000 4 4 10000 5 10000
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/.gitlab/issue_templates/Feature Request.md:
--------------------------------------------------------------------------------
1 | ### Describe the feature you would like to be implemented.
2 | 
3 | ### Would such a feature be useful for other users? Why?
4 | 
5 | ### Any hints on how to implement the requested feature?
6 | 
7 | ### Additional resources
8 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/.hgeol:
--------------------------------------------------------------------------------
 1 | [patterns]
 2 | *.sh = LF
 3 | *.MINPACK = CRLF
 4 | scripts/*.in = LF
 5 | debug/msvc/*.dat = CRLF
 6 | debug/msvc/*.natvis = CRLF
 7 | unsupported/test/mpreal/*.* = CRLF
 8 | ** = native
 9 | 
10 | [repository]
11 | native = LF
12 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/CTestCustom.cmake.in:
--------------------------------------------------------------------------------
1 | 
2 | set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS "2000")
3 | set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS   "2000")
4 | list(APPEND CTEST_CUSTOM_ERROR_EXCEPTION    @EIGEN_CTEST_ERROR_EXCEPTION@)
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/Eigen/Eigen:
--------------------------------------------------------------------------------
1 | #include "Dense"
2 | #include "Sparse"
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/Eigen/src/Core/util/NonMPL2.h:
--------------------------------------------------------------------------------
1 | #ifdef EIGEN_MPL2_ONLY
2 | #error Including non-MPL2 code in EIGEN_MPL2_ONLY mode
3 | #endif
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/README.md:
--------------------------------------------------------------------------------
1 | **Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.**
2 | 
3 | For more information go to http://eigen.tuxfamily.org/.
4 | 
5 | For ***pull request***, ***bug reports***, and ***feature requests***, go to https://gitlab.com/libeigen/eigen.
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/btl/generic_bench/static/intel_bench_fixed_size.hh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/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/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/Eigen/bench/btl/generic_bench/static/static_size_generator.hh


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/btl/generic_bench/timers/STL_perf_analyzer.hh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/Eigen/bench/btl/generic_bench/timers/STL_perf_analyzer.hh


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/btl/generic_bench/timers/STL_timer.hh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/Eigen/bench/btl/generic_bench/timers/STL_timer.hh


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/btl/generic_bench/timers/mixed_perf_analyzer.hh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/Eigen/bench/btl/generic_bench/timers/mixed_perf_analyzer.hh


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/btl/generic_bench/utils/size_lin_log.hh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/Eigen/bench/btl/generic_bench/utils/size_lin_log.hh


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/btl/libs/STL/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | 
2 | btl_add_bench(btl_STL main.cpp OFF)
3 | 


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


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


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/perf_monitoring/gemm.cpp:
--------------------------------------------------------------------------------
 1 | #include "gemm_common.h"
 2 | 
 3 | EIGEN_DONT_INLINE
 4 | void gemm(const Mat &A, const Mat &B, Mat &C)
 5 | {
 6 |   C.noalias() += A * B;
 7 | }
 8 | 
 9 | int main(int argc, char **argv)
10 | {
11 |   return main_gemm(argc, argv, gemm);
12 | }
13 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/perf_monitoring/gemm_settings.txt:
--------------------------------------------------------------------------------
 1 | 8 8 8
 2 | 9 9 9
 3 | 24 24 24
 4 | 239 239 239
 5 | 240 240 240
 6 | 2400 24 24
 7 | 24 2400 24
 8 | 24 24 2400
 9 | 24 2400 2400
10 | 2400 24 2400
11 | 2400 2400 24
12 | 2400 2400 64
13 | 4800 23 160
14 | 23 4800 160
15 | 2400 2400 2400
16 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/perf_monitoring/gemm_square_settings.txt:
--------------------------------------------------------------------------------
 1 | 8 8 8
 2 | 9 9 9
 3 | 12 12 12
 4 | 15 15 15
 5 | 16 16 16
 6 | 24 24 24
 7 | 102 102 102
 8 | 239 239 239
 9 | 240 240 240
10 | 2400 2400 2400
11 | 2463 2463 2463
12 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/perf_monitoring/gemv.cpp:
--------------------------------------------------------------------------------
 1 | #include "gemv_common.h"
 2 | 
 3 | EIGEN_DONT_INLINE
 4 | void gemv(const Mat &A, const Vec &B, Vec &C)
 5 | {
 6 |   C.noalias() += A * B;
 7 | }
 8 | 
 9 | int main(int argc, char **argv)
10 | {
11 |   return main_gemv(argc, argv, gemv);
12 | }
13 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/perf_monitoring/gemv_settings.txt:
--------------------------------------------------------------------------------
 1 | 8 8
 2 | 9 9
 3 | 24 24
 4 | 239 239
 5 | 240 240
 6 | 2400 24
 7 | 24 2400
 8 | 24 240
 9 | 2400 2400
10 | 4800 23
11 | 23 4800
12 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/perf_monitoring/gemv_square_settings.txt:
--------------------------------------------------------------------------------
 1 | 8 8
 2 | 9 9
 3 | 12 12
 4 | 15 15
 5 | 16 16
 6 | 24 24
 7 | 53 53
 8 | 74 74
 9 | 102 102
10 | 239 239
11 | 240 240
12 | 2400 2400
13 | 2463 2463
14 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/perf_monitoring/gemvt.cpp:
--------------------------------------------------------------------------------
 1 | #include "gemv_common.h"
 2 | 
 3 | EIGEN_DONT_INLINE
 4 | void gemv(const Mat &A, Vec &B, const Vec &C)
 5 | {
 6 |   B.noalias() += A.transpose() * C;
 7 | }
 8 | 
 9 | int main(int argc, char **argv)
10 | {
11 |   return main_gemv(argc, argv, gemv);
12 | }
13 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/perf_monitoring/lazy_gemm_settings.txt:
--------------------------------------------------------------------------------
 1 | 1 1 1 0
 2 | 2 2 2 0
 3 | 3 3 3 0
 4 | 4 4 4 0
 5 | 4 4 4 1
 6 | 5 5 5 0
 7 | 6 6 6 0
 8 | 7 7 7 0
 9 | 7 7 7 1
10 | 8 8 8 0
11 | 9 9 9 0
12 | 10 10 10 0
13 | 11 11 11 0
14 | 12 12 12 0
15 | 12 12 12 1
16 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/perf_monitoring/resources/footer.html:
--------------------------------------------------------------------------------
1 | </table>
2 | </body>
3 | </html>
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/perf_monitoring/trmv_lo.cpp:
--------------------------------------------------------------------------------
 1 | #include "gemv_common.h"
 2 | 
 3 | EIGEN_DONT_INLINE
 4 | void trmv(const Mat &A, const Vec &B, Vec &C)
 5 | {
 6 |   C.noalias() += A.triangularView<Lower>() * B;
 7 | }
 8 | 
 9 | int main(int argc, char **argv)
10 | {
11 |   return main_gemv(argc, argv, trmv);
12 | }
13 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/perf_monitoring/trmv_lot.cpp:
--------------------------------------------------------------------------------
 1 | #include "gemv_common.h"
 2 | 
 3 | EIGEN_DONT_INLINE
 4 | void trmv(const Mat &A, Vec &B, const Vec &C)
 5 | {
 6 |   B.noalias() += A.transpose().triangularView<Lower>() * C;
 7 | }
 8 | 
 9 | int main(int argc, char **argv)
10 | {
11 |   return main_gemv(argc, argv, trmv);
12 | }
13 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/perf_monitoring/trmv_up.cpp:
--------------------------------------------------------------------------------
 1 | #include "gemv_common.h"
 2 | 
 3 | EIGEN_DONT_INLINE
 4 | void trmv(const Mat &A, const Vec &B, Vec &C)
 5 | {
 6 |   C.noalias() += A.triangularView<Upper>() * B;
 7 | }
 8 | 
 9 | int main(int argc, char **argv)
10 | {
11 |   return main_gemv(argc, argv, trmv);
12 | }
13 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/bench/perf_monitoring/trmv_upt.cpp:
--------------------------------------------------------------------------------
 1 | #include "gemv_common.h"
 2 | 
 3 | EIGEN_DONT_INLINE
 4 | void trmv(const Mat &A, Vec &B, const Vec &C)
 5 | {
 6 |   B.noalias() += A.transpose().triangularView<Upper>() * C;
 7 | }
 8 | 
 9 | int main(int argc, char **argv)
10 | {
11 |   return main_gemv(argc, argv, trmv);
12 | }
13 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/blas/README.txt:
--------------------------------------------------------------------------------
1 | 
2 | This directory contains a BLAS library built on top of Eigen.
3 | 
4 | This module is not built by default. In order to compile it, you need to
5 | type 'make blas' from within your build dir.
6 | 
7 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/blas/f2c/d_cnjg.c:
--------------------------------------------------------------------------------
1 | #include "datatypes.h"    
2 | 
3 | void d_cnjg(doublecomplex *r, doublecomplex *z) {
4 |     r->r = z->r;
5 |     r->i = -(z->i);
6 | }
7 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/blas/f2c/r_cnjg.c:
--------------------------------------------------------------------------------
1 | #include "datatypes.h"    
2 | 
3 | void r_cnjg(complex *r, complex *z) {
4 |     r->r = z->r;
5 |     r->i = -(z->i);
6 | }
7 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/cmake/UseEigen3.cmake:
--------------------------------------------------------------------------------
1 | #                                               -*- cmake -*-
2 | #
3 | #  UseEigen3.cmake
4 | 
5 | add_definitions     ( ${EIGEN3_DEFINITIONS} )
6 | include_directories ( ${EIGEN3_INCLUDE_DIRS} )
7 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/debug/gdb/__init__.py:
--------------------------------------------------------------------------------
1 | # Intentionally empty
2 | 


--------------------------------------------------------------------------------
/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()
11 |     message(STATUS "Qt4 not found, so disabling the mandelbrot and opengl demos")
12 |   endif()
13 | endif()
14 | 


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


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/Eigen_Silly_Professor_64x64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/Eigen/doc/Eigen_Silly_Professor_64x64.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/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/TopicResizing.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/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/TopicVectorization.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/TutorialSparse_example_details.dox:
--------------------------------------------------------------------------------
1 | /**
2 | \page TutorialSparse_example_details
3 | \include Tutorial_sparse_example_details.cpp
4 | */
5 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/examples/.krazy:
--------------------------------------------------------------------------------
1 | EXCLUDE copyright
2 | EXCLUDE license
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/examples/Cwise_erf.cpp:
--------------------------------------------------------------------------------
 1 | #include <Eigen/Core>
 2 | #include <unsupported/Eigen/SpecialFunctions>
 3 | #include <iostream>
 4 | using namespace Eigen;
 5 | int main()
 6 | {
 7 |   Array4d v(-0.5,2,0,-7);
 8 |   std::cout << v.erf() << std::endl;
 9 | }
10 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/examples/Cwise_erfc.cpp:
--------------------------------------------------------------------------------
 1 | #include <Eigen/Core>
 2 | #include <unsupported/Eigen/SpecialFunctions>
 3 | #include <iostream>
 4 | using namespace Eigen;
 5 | int main()
 6 | {
 7 |   Array4d v(-0.5,2,0,-7);
 8 |   std::cout << v.erfc() << std::endl;
 9 | }
10 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/examples/Cwise_lgamma.cpp:
--------------------------------------------------------------------------------
 1 | #include <Eigen/Core>
 2 | #include <unsupported/Eigen/SpecialFunctions>
 3 | #include <iostream>
 4 | using namespace Eigen;
 5 | int main()
 6 | {
 7 |   Array4d v(0.5,10,0,-1);
 8 |   std::cout << v.lgamma() << std::endl;
 9 | }
10 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/examples/QuickStart_example.cpp:
--------------------------------------------------------------------------------
 1 | #include <iostream>
 2 | #include <Eigen/Dense>
 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/examples/Tutorial_ArrayClass_mult.cpp:
--------------------------------------------------------------------------------
 1 | #include <Eigen/Dense>
 2 | #include <iostream>
 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/examples/Tutorial_ReductionsVisitorsBroadcasting_colwise.cpp:
--------------------------------------------------------------------------------
 1 | #include <iostream>
 2 | #include <Eigen/Dense>
 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 <iostream>
 2 | #include <Eigen/Dense>
 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/examples/make_circulant.cpp.entry:
--------------------------------------------------------------------------------
1 | template <class ArgType>
2 | Circulant<ArgType> makeCirculant(const Eigen::MatrixBase<ArgType>& arg)
3 | {
4 |   return Circulant<ArgType>(arg.derived());
5 | }
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/examples/make_circulant.cpp.main:
--------------------------------------------------------------------------------
1 | int main()
2 | {
3 |   Eigen::VectorXd vec(4);
4 |   vec << 1, 2, 4, 8;
5 |   Eigen::MatrixXd mat;
6 |   mat = makeCirculant(vec);
7 |   std::cout << mat << std::endl;
8 | }
9 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/examples/make_circulant.cpp.preamble:
--------------------------------------------------------------------------------
1 | #include <Eigen/Core>
2 | #include <iostream>
3 | 
4 | template <class ArgType> class Circulant;
5 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/examples/tut_matrix_resize_fixed_size.cpp:
--------------------------------------------------------------------------------
 1 | #include <iostream>
 2 | #include <Eigen/Dense>
 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/ftv2node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/Eigen/doc/ftv2node.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/ftv2pnode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/Eigen/doc/ftv2pnode.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/.krazy:
--------------------------------------------------------------------------------
1 | EXCLUDE copyright
2 | EXCLUDE license
3 | 


--------------------------------------------------------------------------------
/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/Array_initializer_list_23_cxx11.cpp:
--------------------------------------------------------------------------------
1 | ArrayXXi a {
2 |   {1, 2, 3},
3 |   {3, 4, 5}
4 | };
5 | cout << a << endl;
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Array_initializer_list_vector_cxx11.cpp:
--------------------------------------------------------------------------------
1 | Array<int, Dynamic, 1> v {{1, 2, 3, 4, 5}};
2 | cout << v << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Array_variadic_ctor_cxx11.cpp:
--------------------------------------------------------------------------------
1 | Array<int, 1, 6> a(1, 2, 3, 4, 5, 6);
2 | Array<int, 3, 1> b {1, 2, 3};
3 | cout << a << "\n\n" << b << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/ComplexEigenSolver_eigenvalues.cpp:
--------------------------------------------------------------------------------
1 | MatrixXcf ones = MatrixXcf::Ones(3,3);
2 | ComplexEigenSolver<MatrixXcf> 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/ComplexEigenSolver_eigenvectors.cpp:
--------------------------------------------------------------------------------
1 | MatrixXcf ones = MatrixXcf::Ones(3,3);
2 | ComplexEigenSolver<MatrixXcf> ces(ones);
3 | cout << "The first eigenvector of the 3x3 matrix of ones is:" 
4 |      << endl << ces.eigenvectors().col(0) << endl;
5 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/ComplexSchur_compute.cpp:
--------------------------------------------------------------------------------
1 | MatrixXcf A = MatrixXcf::Random(4,4);
2 | ComplexSchur<MatrixXcf> 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/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<MatrixXcf> 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/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<MatrixXcf> schurOfA(A);
4 | cout << "The unitary matrix U is:" << endl << schurOfA.matrixU() << endl;
5 | 


--------------------------------------------------------------------------------
/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_acos.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(0, sqrt(2.)/2, 1);
2 | cout << v.acos() << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_arg.cpp:
--------------------------------------------------------------------------------
1 | ArrayXcf v = ArrayXcf::Random(3);
2 | cout << v << endl << endl;
3 | cout << arg(v) << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_array_power_array.cpp:
--------------------------------------------------------------------------------
1 | Array<double,1,3> x(8,25,3),
2 |                   e(1./3.,0.5,2.);
3 | cout << "[" << x << "]^[" << e << "] = " << x.pow(e) << endl; // using ArrayBase::pow
4 | cout << "[" << x << "]^[" << e << "] = " << pow(x,e) << endl; // using Eigen::pow
5 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_asin.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(0, sqrt(2.)/2, 1);
2 | cout << v.asin() << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_atan.cpp:
--------------------------------------------------------------------------------
1 | ArrayXd v = ArrayXd::LinSpaced(5,0,1);
2 | cout << v.atan() << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_boolean_and.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(-1,2,1), w(-3,2,3);
2 | cout << ((v<w) && (v<0)) << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_boolean_not.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,2,3);
2 | v(1) *= 0.0/0.0;
3 | v(2) /= 0.0;
4 | cout << v << endl << endl;
5 | cout << !isfinite(v) << endl;
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_boolean_or.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(-1,2,1), w(-3,2,3);
2 | cout << ((v<w) || (v<0)) << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_boolean_xor.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(-1,2,1), w(-3,2,3);
2 | cout << ((v<w) ^ (v<0)) << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_ceil.cpp:
--------------------------------------------------------------------------------
1 | ArrayXd v = ArrayXd::LinSpaced(7,-2,2);
2 | cout << v << endl << endl;
3 | cout << ceil(v) << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_cos.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(M_PI, M_PI/2, M_PI/3);
2 | cout << v.cos() << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_cosh.cpp:
--------------------------------------------------------------------------------
1 | ArrayXd v = ArrayXd::LinSpaced(5,0,1);
2 | cout << cosh(v) << 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_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_exp.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,2,3);
2 | cout << v.exp() << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_floor.cpp:
--------------------------------------------------------------------------------
1 | ArrayXd v = ArrayXd::LinSpaced(7,-2,2);
2 | cout << v << endl << endl;
3 | cout << floor(v) << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_greater.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_inverse.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(2,3,4);
2 | cout << v.inverse() << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_isFinite.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,2,3);
2 | v(1) *= 0.0/0.0;
3 | v(2) /= 0.0;
4 | cout << v << endl << endl;
5 | cout << isfinite(v) << endl;
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_isInf.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,2,3);
2 | v(1) *= 0.0/0.0;
3 | v(2) /= 0.0;
4 | cout << v << endl << endl;
5 | cout << isinf(v) << endl;
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_isNaN.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,2,3);
2 | v(1) *= 0.0/0.0;
3 | v(2) /= 0.0;
4 | cout << v << endl << endl;
5 | cout << isnan(v) << endl;
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_less.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/Cwise_log.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,2,3);
2 | cout << v.log() << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_log10.cpp:
--------------------------------------------------------------------------------
1 | Array4d v(-1,0,1,2);
2 | cout << log10(v) << 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.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,2,3);
2 | cout << v-5 << 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.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,2,3);
2 | cout << v+5 << 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_pow.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(8,27,64);
2 | cout << v.pow(0.333333) << endl;
3 | 


--------------------------------------------------------------------------------
/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/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_rint.cpp:
--------------------------------------------------------------------------------
1 | ArrayXd v = ArrayXd::LinSpaced(7,-2,2);
2 | cout << v << endl << endl;
3 | cout << rint(v) << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_round.cpp:
--------------------------------------------------------------------------------
1 | ArrayXd v = ArrayXd::LinSpaced(7,-2,2);
2 | cout << v << endl << endl;
3 | cout << round(v) << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_scalar_power_array.cpp:
--------------------------------------------------------------------------------
1 | Array<double,1,3> e(2,-3,1./3.);
2 | cout << "10^[" << e << "] = " << pow(10,e) << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_sign.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(-3,5,0);
2 | cout << v.sign() << 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_sinh.cpp:
--------------------------------------------------------------------------------
1 | ArrayXd v = ArrayXd::LinSpaced(5,0,1);
2 | cout << sinh(v) << endl;
3 | 


--------------------------------------------------------------------------------
/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_sqrt.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,2,4);
2 | cout << v.sqrt() << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Cwise_square.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(2,3,4);
2 | cout << v.square() << 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/Cwise_tanh.cpp:
--------------------------------------------------------------------------------
1 | ArrayXd v = ArrayXd::LinSpaced(5,0,1);
2 | cout << tanh(v) << endl;
3 | 


--------------------------------------------------------------------------------
/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/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/doc/snippets/DenseBase_LinSpaced_seq_deprecated.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/DenseBase_setLinSpaced.cpp:
--------------------------------------------------------------------------------
1 | VectorXf v;
2 | v.setLinSpaced(5,0.5f,1.5f);
3 | cout << v << endl;
4 | 


--------------------------------------------------------------------------------
/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_eigenvalues.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd ones = MatrixXd::Ones(3,3);
2 | EigenSolver<MatrixXd> 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/EigenSolver_eigenvectors.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd ones = MatrixXd::Ones(3,3);
2 | EigenSolver<MatrixXd> es(ones);
3 | cout << "The first eigenvector of the 3x3 matrix of ones is:"
4 |      << endl << es.eigenvectors().col(0) << endl;
5 | 


--------------------------------------------------------------------------------
/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/doc/snippets/HouseholderQR_householderQ.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf A(MatrixXf::Random(5,3)), thinQ(MatrixXf::Identity(5,3)), Q;
2 | A.setRandom();
3 | HouseholderQR<MatrixXf> qr(A);
4 | Q = qr.householderQ();
5 | thinQ = qr.householderQ() * thinQ;
6 | std::cout << "The complete unitary matrix Q is:\n" << Q << "\n\n";
7 | std::cout << "The thin matrix Q is:\n" << thinQ << "\n\n";
8 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Jacobi_makeGivens.cpp:
--------------------------------------------------------------------------------
1 | Vector2f v = Vector2f::Random();
2 | JacobiRotation<float> 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;
7 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Jacobi_makeJacobi.cpp:
--------------------------------------------------------------------------------
1 | Matrix2f m = Matrix2f::Random();
2 | m = (m + m.adjoint()).eval();
3 | JacobiRotation<float> 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;
9 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/LeastSquaresNormalEquations.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf A = MatrixXf::Random(3, 2);
2 | VectorXf b = VectorXf::Random(3);
3 | cout << "The solution using normal equations is:\n"
4 |      << (A.transpose() * A).ldlt().solve(A.transpose() * b) << endl;
5 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/LeastSquaresQR.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf A = MatrixXf::Random(3, 2);
2 | VectorXf b = VectorXf::Random(3);
3 | cout << "The solution using the QR decomposition is:\n"
4 |      << A.colPivHouseholderQr().solve(b) << endl;
5 | 


--------------------------------------------------------------------------------
/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<MatrixXi, 0, Stride<Dynamic,2> >
4 |          (array, 3, 3, Stride<Dynamic,2>(8, 2))
5 |      << endl;
6 | 


--------------------------------------------------------------------------------
/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<VectorXi, 0, InnerStride<2> >
4 |          (array, 6) // the inner stride has already been passed as template parameter
5 |      << endl;
6 | 


--------------------------------------------------------------------------------
/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<MatrixXi, 0, OuterStride<> >(array, 3, 3, OuterStride<>(4)) << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Map_placement_new.cpp:
--------------------------------------------------------------------------------
1 | int data[] = {1,2,3,4,5,6,7,8,9};
2 | Map<RowVectorXi> v(data,4);
3 | cout << "The mapped vector v is: " << v << "\n";
4 | new (&v) Map<RowVectorXi>(data+4,5);
5 | cout << "Now v is: " << v << "\n";
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Map_simple.cpp:
--------------------------------------------------------------------------------
1 | int array[9];
2 | for(int i = 0; i < 9; ++i) array[i] = i;
3 | cout << Map<Matrix3i>(array) << endl;
4 | 


--------------------------------------------------------------------------------
/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_applyOnTheLeft.cpp:
--------------------------------------------------------------------------------
1 | Matrix3f A = Matrix3f::Random(3,3), B;
2 | B << 0,1,0,  
3 |      0,0,1,  
4 |      1,0,0;
5 | cout << "At start, A = " << endl << A << endl;
6 | A.applyOnTheLeft(B); 
7 | cout << "After applyOnTheLeft, A = " << endl << A << endl;
8 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_applyOnTheRight.cpp:
--------------------------------------------------------------------------------
 1 | Matrix3f A = Matrix3f::Random(3,3), B;
 2 | B << 0,1,0,  
 3 |      0,0,1,  
 4 |      1,0,0;
 5 | cout << "At start, A = " << endl << A << endl;
 6 | A *= B;
 7 | cout << "After A *= B, A = " << endl << A << endl;
 8 | A.applyOnTheRight(B);  // equivalent to A *= B
 9 | cout << "After applyOnTheRight, A = " << endl << A << endl;
10 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_array.cpp:
--------------------------------------------------------------------------------
1 | Vector3d v(1,2,3);
2 | v.array() += 3;
3 | v.array() -= 2;
4 | cout << v << endl;
5 | 


--------------------------------------------------------------------------------
/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_asDiagonal.cpp:
--------------------------------------------------------------------------------
1 | cout << Matrix3i(Vector3i(2,5,6).asDiagonal()) << endl;
2 | 


--------------------------------------------------------------------------------
/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_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_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_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_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_cast.cpp:
--------------------------------------------------------------------------------
1 | Matrix2d md = Matrix2d::Identity() * 0.45;
2 | Matrix2f mf = Matrix2f::Identity();
3 | cout << md + mf.cast<double>() << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_col.cpp:
--------------------------------------------------------------------------------
1 | Matrix3d m = Matrix3d::Identity();
2 | m.col(1) = Vector3d(4,5,6);
3 | cout << m << endl;
4 | 


--------------------------------------------------------------------------------
/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_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/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_cwiseArg.cpp:
--------------------------------------------------------------------------------
1 | MatrixXcf v = MatrixXcf::Random(2, 3);
2 | cout << v << endl << endl;
3 | cout << v.cwiseArg() << endl;


--------------------------------------------------------------------------------
/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 | Index 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_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/doc/snippets/MatrixBase_cwiseMax.cpp:
--------------------------------------------------------------------------------
1 | Vector3d v(2,3,4), w(4,2,3);
2 | cout << v.cwiseMax(w) << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_cwiseMin.cpp:
--------------------------------------------------------------------------------
1 | Vector3d v(2,3,4), w(4,2,3);
2 | cout << v.cwiseMin(w) << endl;
3 | 


--------------------------------------------------------------------------------
/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 | Index 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_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_cwiseQuotient.cpp:
--------------------------------------------------------------------------------
1 | Vector3d v(2,3,4), w(4,2,3);
2 | cout << v.cwiseQuotient(w) << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_cwiseSign.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd m(2,3);
2 | m <<  2, -4, 6,
3 |      -5,  1, 0;
4 | cout << m.cwiseSign() << endl;
5 | 


--------------------------------------------------------------------------------
/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/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/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/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_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/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/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_identity.cpp:
--------------------------------------------------------------------------------
1 | cout << Matrix<double, 3, 4>::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/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/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_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_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_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/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/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/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_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_ones.cpp:
--------------------------------------------------------------------------------
1 | cout << Matrix2d::Ones() << endl;
2 | cout << 6 * RowVector4i::Ones() << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_ones_int.cpp:
--------------------------------------------------------------------------------
1 | cout << 6 * RowVectorXi::Ones(4) << endl;
2 | cout << VectorXf::Ones(2) << 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_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/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/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_random_int_int.cpp:
--------------------------------------------------------------------------------
1 | cout << MatrixXi::Random(2,3) << endl;
2 | 


--------------------------------------------------------------------------------
/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/MatrixBase_reshaped_auto.cpp:
--------------------------------------------------------------------------------
1 | Matrix4i m = Matrix4i::Random();
2 | cout << "Here is the matrix m:" << endl << m << endl;
3 | cout << "Here is m.reshaped(2, AutoSize):" << endl << m.reshaped(2, AutoSize) << endl;
4 | cout << "Here is m.reshaped<RowMajor>(AutoSize, fix<8>):" << endl << m.reshaped<RowMajor>(AutoSize, fix<8>) << endl;
5 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_reshaped_fixed.cpp:
--------------------------------------------------------------------------------
1 | Matrix4i m = Matrix4i::Random();
2 | cout << "Here is the matrix m:" << endl << m << endl;
3 | cout << "Here is m.reshaped(fix<2>,fix<8>):" << endl << m.reshaped(fix<2>,fix<8>) << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_reshaped_int_int.cpp:
--------------------------------------------------------------------------------
1 | Matrix4i m = Matrix4i::Random();
2 | cout << "Here is the matrix m:" << endl << m << endl;
3 | cout << "Here is m.reshaped(2, 8):" << endl << m.reshaped(2, 8) << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_reshaped_to_vector.cpp:
--------------------------------------------------------------------------------
1 | Matrix4i m = Matrix4i::Random();
2 | cout << "Here is the matrix m:" << endl << m << endl;
3 | cout << "Here is m.reshaped().transpose():" << endl << m.reshaped().transpose() << endl;
4 | cout << "Here is m.reshaped<RowMajor>().transpose():  " << endl << m.reshaped<RowMajor>().transpose() << endl;
5 | 


--------------------------------------------------------------------------------
/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_row.cpp:
--------------------------------------------------------------------------------
1 | Matrix3d m = Matrix3d::Identity();
2 | m.row(1) = Vector3d(4,5,6);
3 | cout << m << endl;
4 | 


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


--------------------------------------------------------------------------------
/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/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/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/MatrixBase_setOnes.cpp:
--------------------------------------------------------------------------------
1 | Matrix4i m = Matrix4i::Random();
2 | m.row(1).setOnes();
3 | cout << m << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_setRandom.cpp:
--------------------------------------------------------------------------------
1 | Matrix4i m = Matrix4i::Zero();
2 | m.col(1).setRandom();
3 | cout << m << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_setZero.cpp:
--------------------------------------------------------------------------------
1 | Matrix4i m = Matrix4i::Random();
2 | m.row(1).setZero();
3 | cout << m << endl;
4 | 


--------------------------------------------------------------------------------
/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/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/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_int_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 the block:" << endl << m.block<2, Dynamic>(1, 1, 2, 3) << endl;
4 | m.block<2, Dynamic>(1, 1, 2, 3).setZero();
5 | cout << "Now the matrix m is:" << endl << m << endl;
6 | 


--------------------------------------------------------------------------------
/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/MatrixBase_template_int_int_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,Dynamic>(2,2):" << endl;
4 | cout << m.bottomLeftCorner<2,Dynamic>(2,2) << endl;
5 | m.bottomLeftCorner<2,Dynamic>(2,2).setZero();
6 | cout << "Now the matrix m is:" << endl << m << endl;
7 | 


--------------------------------------------------------------------------------
/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/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/MatrixBase_template_int_int_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,Dynamic>(2,2):" << endl;
4 | cout << m.topLeftCorner<2,Dynamic>(2,2) << endl;
5 | m.topLeftCorner<2,Dynamic>(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/doc/snippets/MatrixBase_template_int_int_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,Dynamic>(2,2):" << endl;
4 | cout << m.topRightCorner<2,Dynamic>(2,2) << endl;
5 | m.topRightCorner<2,Dynamic>(2,2).setZero();
6 | cout << "Now the matrix m is:" << endl << m << endl;
7 | 


--------------------------------------------------------------------------------
/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/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_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_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_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/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/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/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/MatrixBase_zero.cpp:
--------------------------------------------------------------------------------
1 | cout << Matrix2d::Zero() << endl;
2 | cout << RowVector4i::Zero() << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_zero_int.cpp:
--------------------------------------------------------------------------------
1 | cout << RowVectorXi::Zero(4) << endl;
2 | cout << VectorXf::Zero(2) << endl;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/MatrixBase_zero_int_int.cpp:
--------------------------------------------------------------------------------
1 | cout << MatrixXi::Zero(2,3) << endl;
2 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Matrix_Map_stride.cpp:
--------------------------------------------------------------------------------
1 | Matrix4i A;
2 | A << 1,  2,  3,  4,
3 |      5,  6,  7,  8,
4 |      9, 10, 11, 12,
5 |     13, 14, 15, 16;
6 | 
7 | std::cout << Matrix2i::Map(&A(1,1),Stride<8,2>()) << std::endl;
8 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Matrix_initializer_list_23_cxx11.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd m {
2 |   {1, 2, 3},
3 |   {4, 5, 6}
4 | };
5 | cout << m << endl;
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Matrix_initializer_list_vector_cxx11.cpp:
--------------------------------------------------------------------------------
1 | VectorXi v {{1, 2}};
2 | cout << v << endl;
3 | 


--------------------------------------------------------------------------------
/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.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/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/snippets/Matrix_setConstant_int.cpp:
--------------------------------------------------------------------------------
1 | VectorXf v;
2 | v.setConstant(3, 5);
3 | cout << v << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Matrix_setConstant_int_int.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf m;
2 | m.setConstant(3, 3, 5);
3 | cout << m << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Matrix_setIdentity_int_int.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf m;
2 | m.setIdentity(3, 3);
3 | cout << m << endl;
4 | 


--------------------------------------------------------------------------------
/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_setOnes_int_int.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf m;
2 | m.setOnes(3, 3);
3 | cout << m << endl;
4 | 


--------------------------------------------------------------------------------
/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/Matrix_setRandom_int_int.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf m;
2 | m.setRandom(3, 3);
3 | cout << m << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Matrix_setZero_int.cpp:
--------------------------------------------------------------------------------
1 | VectorXf v;
2 | v.setZero(3);
3 | cout << v << 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/Eigen/doc/snippets/Matrix_variadic_ctor_cxx11.cpp:
--------------------------------------------------------------------------------
1 | Matrix<int, 1, 6> a(1, 2, 3, 4, 5, 6);
2 | Matrix<int, 3, 1> b {1, 2, 3};
3 | cout << a << "\n\n" << b << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/PartialRedux_count.cpp:
--------------------------------------------------------------------------------
1 | Matrix3d m = Matrix3d::Random();
2 | cout << "Here is the matrix m:" << endl << m << endl;
3 | Matrix<ptrdiff_t, 3, 1> res = (m.array() >= 0.5).rowwise().count();
4 | cout << "Here is the count of elements larger or equal than 0.5 of each row:" << endl;
5 | cout << res << endl;
6 | 


--------------------------------------------------------------------------------
/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/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/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/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/doc/snippets/SelfAdjointEigenSolver_eigenvalues.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd ones = MatrixXd::Ones(3,3);
2 | SelfAdjointEigenSolver<MatrixXd> es(ones);
3 | cout << "The eigenvalues of the 3x3 matrix of ones are:" 
4 |      << endl << es.eigenvalues() << endl;
5 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/SelfAdjointEigenSolver_eigenvectors.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd ones = MatrixXd::Ones(3,3);
2 | SelfAdjointEigenSolver<MatrixXd> es(ones);
3 | cout << "The first eigenvector of the 3x3 matrix of ones is:" 
4 |      << endl << es.eigenvectors().col(0) << endl;
5 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/SelfAdjointView_eigenvalues.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd ones = MatrixXd::Ones(3,3);
2 | VectorXd eivals = ones.selfadjointView<Lower>().eigenvalues();
3 | cout << "The eigenvalues of the 3x3 matrix of ones are:" << endl << eivals << 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<Lower>().operatorNorm() << endl;
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Slicing_arrayexpr.cpp:
--------------------------------------------------------------------------------
1 | ArrayXi ind(5); ind<<4,2,5,5,3;
2 | MatrixXi A = MatrixXi::Random(4,6);
3 | cout << "Initial matrix A:\n" << A << "\n\n";
4 | cout << "A(all,ind-1):\n" << A(all,ind-1) << "\n\n";
5 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Slicing_rawarray_cxx11.cpp:
--------------------------------------------------------------------------------
1 | #if EIGEN_HAS_STATIC_ARRAY_TEMPLATE
2 | MatrixXi A = MatrixXi::Random(4,6);
3 | cout << "Initial matrix A:\n" << A << "\n\n";
4 | cout << "A(all,{4,2,5,5,3}):\n" << A(all,{4,2,5,5,3}) << "\n\n";
5 | #endif
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Slicing_stdvector_cxx11.cpp:
--------------------------------------------------------------------------------
1 | std::vector<int> ind{4,2,5,5,3};
2 | MatrixXi A = MatrixXi::Random(4,6);
3 | cout << "Initial matrix A:\n" << A << "\n\n";
4 | cout << "A(all,ind):\n" << A(all,ind) << "\n\n";
5 | 


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


--------------------------------------------------------------------------------
/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/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/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/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/doc/snippets/TopicAliasing_mult4.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf A(2,2), B(3,2);
2 | B << 2, 0,  0, 3, 1, 1;
3 | A << 2, 0, 0, -2;
4 | A = (B * A).cwiseAbs();
5 | cout << A;
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/TopicAliasing_mult5.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf A(2,2), B(3,2);
2 | B << 2, 0,  0, 3, 1, 1;
3 | A << 2, 0, 0, -2;
4 | A = (B * A).eval().cwiseAbs();
5 | cout << A;
6 | 


--------------------------------------------------------------------------------
/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<Matrix4d> triOfA(A);
5 | Vector3d hc = triOfA.householderCoefficients();
6 | cout << "The vector of Householder coefficients is:" << endl << hc << endl;
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/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/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/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 | 


--------------------------------------------------------------------------------
/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<Matrix<int,2,4> >(array) << endl;
4 | cout << "Row-major:\n" << Map<Matrix<int,2,4,RowMajor> >(array) << endl;
5 | cout << "Row-major using stride:\n" <<
6 |   Map<Matrix<int,2,4>, Unaligned, Stride<1,4> >(array) << endl;
7 | 
8 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Tutorial_ReshapeMat2Mat.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf M1(2,6);    // Column-major storage
2 | M1 << 1, 2, 3,  4,  5,  6,
3 |       7, 8, 9, 10, 11, 12;
4 | 
5 | Map<MatrixXf> M2(M1.data(), 6,2);
6 | cout << "M2:" << endl << M2 << endl;
7 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Tutorial_ReshapeMat2Vec.cpp:
--------------------------------------------------------------------------------
 1 | MatrixXf M1(3,3);    // Column-major storage
 2 | M1 << 1, 2, 3,
 3 |       4, 5, 6,
 4 |       7, 8, 9;
 5 | 
 6 | Map<RowVectorXf> v1(M1.data(), M1.size());
 7 | cout << "v1:" << endl << v1 << endl;
 8 | 
 9 | Matrix<float,Dynamic,Dynamic,RowMajor> M2(M1);
10 | Map<RowVectorXf> v2(M2.data(), M2.size());
11 | cout << "v2:" << endl << v2 << endl;
12 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Tutorial_SlicingVec.cpp:
--------------------------------------------------------------------------------
1 | RowVectorXf v = RowVectorXf::LinSpaced(20,0,19);
2 | cout << "Input:" << endl << v << endl;
3 | Map<RowVectorXf,0,InnerStride<2> > v2(v.data(), v.size()/2);
4 | cout << "Even:" << v2 << endl;
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 | 


--------------------------------------------------------------------------------
/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/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/doc/snippets/Tutorial_range_for_loop_1d_cxx11.cpp:
--------------------------------------------------------------------------------
1 | VectorXi v = VectorXi::Random(4);
2 | cout << "Here is the vector v:\n";
3 | for(auto x : v) cout << x << " ";
4 | cout << "\n";
5 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Tutorial_range_for_loop_2d_cxx11.cpp:
--------------------------------------------------------------------------------
1 | Matrix2i A = Matrix2i::Random();
2 | cout << "Here are the coeffs of the 2x2 matrix A:\n";
3 | for(auto x : A.reshaped())
4 |   cout << x << " ";
5 | cout << "\n";
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Tutorial_reshaped_vs_resize_1.cpp:
--------------------------------------------------------------------------------
1 | MatrixXi m = Matrix4i::Random();
2 | cout << "Here is the matrix m:" << endl << m << endl;
3 | cout << "Here is m.reshaped(2, 8):" << endl << m.reshaped(2, 8) << endl;
4 | m.resize(2,8);
5 | cout << "Here is the matrix m after m.resize(2,8):" << endl << m << endl;
6 | 


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


--------------------------------------------------------------------------------
/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<Upper>().solve(b);
8 | cout << "The solution is:" << endl << x << endl;
9 | 


--------------------------------------------------------------------------------
/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<Upper>().solveInPlace(b);
6 | cout << "The solution is:" << endl << b << endl;
7 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Tutorial_std_sort.cpp:
--------------------------------------------------------------------------------
1 | Array4i v = Array4i::Random().abs();
2 | cout << "Here is the initial vector v:\n" << v.transpose() << "\n";
3 | std::sort(v.begin(), v.end());
4 | cout << "Here is the sorted vector v:\n" << v.transpose() << "\n";
5 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/doc/snippets/Tutorial_std_sort_rows_cxx11.cpp:
--------------------------------------------------------------------------------
1 | ArrayXXi A = ArrayXXi::Random(4,4).abs();
2 | cout << "Here is the initial matrix A:\n" << A << "\n";
3 | for(auto row : A.rowwise())
4 |   std::sort(row.begin(), row.end());
5 | cout << "Here is the sorted matrix A:\n" << A << "\n";
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;
6 | 


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


--------------------------------------------------------------------------------
/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/eigen3.pc.in:
--------------------------------------------------------------------------------
 1 | prefix=@CMAKE_INSTALL_PREFIX@
 2 | exec_prefix=${prefix}
 3 | 
 4 | Name: Eigen3
 5 | Description: A C++ template library for linear algebra: vectors, matrices, and related algorithms
 6 | Requires:
 7 | Version: @EIGEN_VERSION_NUMBER@
 8 | Libs:
 9 | Cflags: -I${prefix}/@INCLUDE_INSTALL_DIR@
10 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/bdcsvd_int.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/SVD"
 2 | 
 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 4 | #define SCALAR int
 5 | #else
 6 | #define SCALAR float
 7 | #endif
 8 | 
 9 | using namespace Eigen;
10 | 
11 | int main()
12 | {
13 |   BDCSVD<Matrix<SCALAR,Dynamic,Dynamic> > qr(Matrix<SCALAR,Dynamic,Dynamic>::Random(10,10));
14 | }
15 | 


--------------------------------------------------------------------------------
/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<Matrix3d,3,3> 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<Matrix3d> b(m,0,0,3,3);
13 | }
14 | 
15 | int main() {}
16 | 


--------------------------------------------------------------------------------
/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<Matrix3d,3,1> 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<CV_QUALIFIER Matrix3f>(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<CV_QUALIFIER MatrixXf, 3, 3>(m, 0, 0).coeffRef(0, 0) = 1.0f;
14 | }
15 | 
16 | int main() {}
17 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/colpivqr_int.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/QR"
 2 | 
 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 4 | #define SCALAR int
 5 | #else
 6 | #define SCALAR float
 7 | #endif
 8 | 
 9 | using namespace Eigen;
10 | 
11 | int main()
12 | {
13 |   ColPivHouseholderQR<Matrix<SCALAR,Dynamic,Dynamic> > qr(Matrix<SCALAR,Dynamic,Dynamic>::Random(10,10));
14 | }
15 | 


--------------------------------------------------------------------------------
/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<Matrix3d,3,3> b(m.block<3,3>(0,0));
13 | }
14 | 
15 | int main() {}
16 | 


--------------------------------------------------------------------------------
/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<Matrix3d> 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<Matrix3d> b(m.diagonal());
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<Matrix3d> b(m.transpose());
13 | }
14 | 
15 | int main() {}
16 | 


--------------------------------------------------------------------------------
/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<Matrix3d> d(m);
13 | }
14 | 
15 | int main() {}
16 | 


--------------------------------------------------------------------------------
/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<CV_QUALIFIER MatrixXf>(m).coeffRef(0) = 1.0f;
14 | }
15 | 
16 | int main() {}
17 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/eigensolver_cplx.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Eigenvalues"
 2 | 
 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 4 | #define SCALAR std::complex<double>
 5 | #else
 6 | #define SCALAR float
 7 | #endif
 8 | 
 9 | using namespace Eigen;
10 | 
11 | int main()
12 | {
13 |   EigenSolver<Matrix<SCALAR,Dynamic,Dynamic> > eig(Matrix<SCALAR,Dynamic,Dynamic>::Random(10,10));
14 | }
15 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/eigensolver_int.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Eigenvalues"
 2 | 
 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 4 | #define SCALAR int
 5 | #else
 6 | #define SCALAR float
 7 | #endif
 8 | 
 9 | using namespace Eigen;
10 | 
11 | int main()
12 | {
13 |   EigenSolver<Matrix<SCALAR,Dynamic,Dynamic> > eig(Matrix<SCALAR,Dynamic,Dynamic>::Random(10,10));
14 | }
15 | 


--------------------------------------------------------------------------------
/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/failtest/fullpivlu_int.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/LU"
 2 | 
 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 4 | #define SCALAR int
 5 | #else
 6 | #define SCALAR float
 7 | #endif
 8 | 
 9 | using namespace Eigen;
10 | 
11 | int main()
12 | {
13 |   FullPivLU<Matrix<SCALAR,Dynamic,Dynamic> > lu(Matrix<SCALAR,Dynamic,Dynamic>::Random(10,10));
14 | }
15 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/fullpivqr_int.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/QR"
 2 | 
 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 4 | #define SCALAR int
 5 | #else
 6 | #define SCALAR float
 7 | #endif
 8 | 
 9 | using namespace Eigen;
10 | 
11 | int main()
12 | {
13 |   FullPivHouseholderQR<Matrix<SCALAR,Dynamic,Dynamic> > qr(Matrix<SCALAR,Dynamic,Dynamic>::Random(10,10));
14 | }
15 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/initializer_list_1.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Core"
 2 | 
 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 4 | #define ROWS Dynamic
 5 | #else
 6 | #define ROWS 3
 7 | #endif
 8 | 
 9 | using namespace Eigen;
10 | 
11 | int main()
12 | {
13 |   Matrix<int, ROWS, 1> {1, 2, 3};
14 | }
15 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/initializer_list_2.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Core"
 2 | 
 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 4 | #define ROWS Dynamic
 5 | #define COLS Dynamic
 6 | #else
 7 | #define ROWS 3
 8 | #define COLS 1
 9 | #endif
10 | 
11 | using namespace Eigen;
12 | 
13 | int main()
14 | {
15 |   Matrix<int, ROWS, COLS> {1, 2, 3};
16 | }
17 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/jacobisvd_int.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/SVD"
 2 | 
 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 4 | #define SCALAR int
 5 | #else
 6 | #define SCALAR float
 7 | #endif
 8 | 
 9 | using namespace Eigen;
10 | 
11 | int main()
12 | {
13 |   JacobiSVD<Matrix<SCALAR,Dynamic,Dynamic> > qr(Matrix<SCALAR,Dynamic,Dynamic>::Random(10,10));
14 | }
15 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/ldlt_int.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Cholesky"
 2 | 
 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 4 | #define SCALAR int
 5 | #else
 6 | #define SCALAR float
 7 | #endif
 8 | 
 9 | using namespace Eigen;
10 | 
11 | int main()
12 | {
13 |   LDLT<Matrix<SCALAR,Dynamic,Dynamic> > ldlt(Matrix<SCALAR,Dynamic,Dynamic>::Random(10,10));
14 | }
15 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/llt_int.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Cholesky"
 2 | 
 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 4 | #define SCALAR int
 5 | #else
 6 | #define SCALAR float
 7 | #endif
 8 | 
 9 | using namespace Eigen;
10 | 
11 | int main()
12 | {
13 |   LLT<Matrix<SCALAR,Dynamic,Dynamic> > llt(Matrix<SCALAR,Dynamic,Dynamic>::Random(10,10));
14 | }
15 | 


--------------------------------------------------------------------------------
/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<Matrix3f> m(ptr);
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<ArrayXf> m(ptr, size);
13 | }
14 | 
15 | int main() {}
16 | 


--------------------------------------------------------------------------------
/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<MatrixXf> m(ptr, rows, cols);
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<CV_QUALIFIER MatrixXf>(ptr, 1, 1).coeffRef(0,0) = 1.0f;
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<CV_QUALIFIER Vector3f>(ptr).coeffRef(0) = 1.0f;
13 | }
14 | 
15 | int main() {}
16 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/partialpivlu_int.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/LU"
 2 | 
 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 4 | #define SCALAR int
 5 | #else
 6 | #define SCALAR float
 7 | #endif
 8 | 
 9 | using namespace Eigen;
10 | 
11 | int main()
12 | {
13 |   PartialPivLU<Matrix<SCALAR,Dynamic,Dynamic> > lu(Matrix<SCALAR,Dynamic,Dynamic>::Random(10,10));
14 | }
15 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/qr_int.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/QR"
 2 | 
 3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 4 | #define SCALAR int
 5 | #else
 6 | #define SCALAR float
 7 | #endif
 8 | 
 9 | using namespace Eigen;
10 | 
11 | int main()
12 | {
13 |   HouseholderQR<Matrix<SCALAR,Dynamic,Dynamic> > qr(Matrix<SCALAR,Dynamic,Dynamic>::Random(10,10));
14 | }
15 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/ref_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 call_ref(Ref<VectorXf> a) { }
12 | 
13 | int main()
14 | {
15 |   VectorXf a(10);
16 |   CV_QUALIFIER VectorXf& ac(a);
17 |   call_ref(ac);
18 | }
19 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/ref_2.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Core"
 2 | 
 3 | using namespace Eigen;
 4 | 
 5 | void call_ref(Ref<VectorXf> a) { }
 6 | 
 7 | int main()
 8 | {
 9 |   MatrixXf A(10,10);
10 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
11 |   call_ref(A.row(3));
12 | #else
13 |   call_ref(A.col(3));
14 | #endif
15 | }
16 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/ref_3.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Core"
 2 | 
 3 | using namespace Eigen;
 4 | 
 5 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 6 | void call_ref(Ref<VectorXf> a) { }
 7 | #else
 8 | void call_ref(const Ref<const VectorXf> &a) { }
 9 | #endif
10 | 
11 | int main()
12 | {
13 |   VectorXf a(10);
14 |   call_ref(a+a);
15 | }
16 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/ref_4.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Core"
 2 | 
 3 | using namespace Eigen;
 4 | 
 5 | void call_ref(Ref<MatrixXf,0,OuterStride<> > a) {}
 6 | 
 7 | int main()
 8 | {
 9 |   MatrixXf A(10,10);
10 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
11 |   call_ref(A.transpose());
12 | #else
13 |   call_ref(A);
14 | #endif
15 | }
16 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/ref_5.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Core"
 2 | 
 3 | using namespace Eigen;
 4 | 
 5 | void call_ref(Ref<VectorXf> a) { }
 6 | 
 7 | int main()
 8 | {
 9 |   VectorXf a(10);
10 |   DenseBase<VectorXf> &ac(a);
11 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
12 |   call_ref(ac);
13 | #else
14 |   call_ref(ac.derived());
15 | #endif
16 | }
17 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/selfadjointview_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 |     SelfAdjointView<Matrix3d,Upper> t(m);
13 | }
14 | 
15 | int main() {}
16 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/sparse_ref_2.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Sparse"
 2 | 
 3 | using namespace Eigen;
 4 | 
 5 | void call_ref(Ref<SparseMatrix<float> > a) { }
 6 | 
 7 | int main()
 8 | {
 9 |   SparseMatrix<float> A(10,10);
10 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
11 |   call_ref(A.row(3));
12 | #else
13 |   call_ref(A.col(3));
14 | #endif
15 | }
16 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/sparse_ref_3.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Sparse"
 2 | 
 3 | using namespace Eigen;
 4 | 
 5 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 6 | void call_ref(Ref<SparseMatrix<float> > a) { }
 7 | #else
 8 | void call_ref(const Ref<const SparseMatrix<float> > &a) { }
 9 | #endif
10 | 
11 | int main()
12 | {
13 |   SparseMatrix<float> a(10,10);
14 |   call_ref(a+a);
15 | }
16 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/sparse_ref_4.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Sparse"
 2 | 
 3 | using namespace Eigen;
 4 | 
 5 | void call_ref(Ref<SparseMatrix<float> > a) {}
 6 | 
 7 | int main()
 8 | {
 9 |   SparseMatrix<float> A(10,10);
10 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
11 |   call_ref(A.transpose());
12 | #else
13 |   call_ref(A);
14 | #endif
15 | }
16 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/sparse_ref_5.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Sparse"
 2 | 
 3 | using namespace Eigen;
 4 | 
 5 | void call_ref(Ref<SparseMatrix<float> > a) { }
 6 | 
 7 | int main()
 8 | {
 9 |   SparseMatrix<float> a(10,10);
10 |   SparseMatrixBase<SparseMatrix<float> > &ac(a);
11 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
12 |   call_ref(ac);
13 | #else
14 |   call_ref(ac.derived());
15 | #endif
16 | }
17 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/swap_1.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Core"
 2 | 
 3 | using namespace Eigen;
 4 | 
 5 | int main()
 6 | {
 7 |   VectorXf a(10), b(10);
 8 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 9 |   const DenseBase<VectorXf> &ac(a);
10 | #else
11 |   DenseBase<VectorXf> &ac(a);
12 | #endif
13 |   b.swap(ac);
14 | }
15 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/swap_2.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Core"
 2 | 
 3 | using namespace Eigen;
 4 | 
 5 | int main()
 6 | {
 7 |   VectorXf a(10), b(10);
 8 |   VectorXf const &ac(a);
 9 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
10 |   b.swap(ac);
11 | #else
12 |   b.swap(ac.const_cast_derived());
13 | #endif
14 | }
15 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/ternary_1.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Core"
 2 | 
 3 | using namespace Eigen;
 4 | 
 5 | int main(int argc,char **)
 6 | {
 7 |   VectorXf a(10), b(10);
 8 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 9 |   b = argc>1 ? 2*a : -a;
10 | #else
11 |   b = argc>1 ? 2*a : VectorXf(-a);
12 | #endif
13 | }
14 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/ternary_2.cpp:
--------------------------------------------------------------------------------
 1 | #include "../Eigen/Core"
 2 | 
 3 | using namespace Eigen;
 4 | 
 5 | int main(int argc,char **)
 6 | {
 7 |   VectorXf a(10), b(10);
 8 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
 9 |   b = argc>1 ? 2*a : a+a;
10 | #else
11 |   b = argc>1 ? VectorXf(2*a) : VectorXf(a+a);
12 | #endif
13 | }
14 | 


--------------------------------------------------------------------------------
/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<Matrix3d> t(m);
13 | }
14 | 
15 | int main() {}
16 | 


--------------------------------------------------------------------------------
/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<CV_QUALIFIER MatrixXf>(m).coeffRef(0, 0) = 1.0f;
14 | }
15 | 
16 | int main() {}
17 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/failtest/triangularview_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 |   TriangularView<Matrix3d,Upper> t(m);
13 | }
14 | 
15 | int main() {}
16 | 


--------------------------------------------------------------------------------
/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/scripts/debug.in:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | 
3 | cmake -DCMAKE_BUILD_TYPE=Debug .
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/scripts/release.in:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | 
3 | cmake -DCMAKE_BUILD_TYPE=Release .
4 | 


--------------------------------------------------------------------------------
/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/test/bug1213.cpp:
--------------------------------------------------------------------------------
 1 | 
 2 | // This anonymous enum is essential to trigger the linking issue
 3 | enum {
 4 |   Foo
 5 | };
 6 | 
 7 | #include "bug1213.h"
 8 | 
 9 | bool bug1213_1(const Eigen::Vector3f& x)
10 | {
11 |   return bug1213_2(x);
12 | }
13 | 
14 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/test/bug1213.h:
--------------------------------------------------------------------------------
1 | 
2 | #include <Eigen/Core>
3 | 
4 | template<typename T, int dim>
5 | bool bug1213_2(const Eigen::Matrix<T,dim,1>& x);
6 | 
7 | bool bug1213_1(const Eigen::Vector3f& x);
8 | 
9 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/test/bug1213_main.cpp:
--------------------------------------------------------------------------------
 1 | 
 2 | // This is a regression unit regarding a weird linking issue with gcc.
 3 | 
 4 | #include "bug1213.h"
 5 | 
 6 | int main()
 7 | {
 8 |   return 0;
 9 | }
10 | 
11 | 
12 | template<typename T, int dim>
13 | bool bug1213_2(const Eigen::Matrix<T,dim,1>& )
14 | {
15 |   return true;
16 | }
17 | 
18 | template bool bug1213_2<float,3>(const Eigen::Vector3f&);
19 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/test/evaluator_common.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/Eigen/test/evaluator_common.h


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/unsupported/CMakeLists.txt:
--------------------------------------------------------------------------------
 1 | add_subdirectory(Eigen)
 2 | if(EIGEN_BUILD_DOC)
 3 |   add_subdirectory(doc EXCLUDE_FROM_ALL)
 4 | endif()
 5 | if(BUILD_TESTING)
 6 |   if(EIGEN_LEAVE_TEST_IN_ALL_TARGET)
 7 |     add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest
 8 |   else()
 9 |     add_subdirectory(test EXCLUDE_FROM_ALL)
10 |   endif()
11 | endif()
12 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/unsupported/Eigen/CXX11/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(Eigen_CXX11_HEADERS Tensor TensorSymmetry ThreadPool)
2 | 
3 | install(FILES
4 |   ${Eigen_CXX11_HEADERS}
5 |   DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/CXX11 COMPONENT Devel
6 |   )
7 | 
8 | install(DIRECTORY src DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/CXX11 COMPONENT Devel FILES_MATCHING PATTERN "*.h")
9 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h:
--------------------------------------------------------------------------------
1 | 
2 | #if defined(__clang__) || defined(__GNUC__)
3 | #warning "Deprecated header file, please either include the main Eigen/CXX11/Tensor header or the respective TensorContractionGpu.h file"
4 | #endif
5 | 
6 | #include "TensorContractionGpu.h"
7 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h:
--------------------------------------------------------------------------------
1 | 
2 | #if defined(__clang__) || defined(__GNUC__)
3 | #warning "Deprecated header file, please either include the main Eigen/CXX11/Tensor header or the respective TensorDeviceGpu.h file"
4 | #endif
5 | 
6 | #include "TensorDeviceGpu.h"
7 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h:
--------------------------------------------------------------------------------
1 | 
2 | #if defined(__clang__) || defined(__GNUC__)
3 | #warning "Deprecated header file, please either include the main Eigen/CXX11/Tensor header or the respective TensorReductionGpu.h file"
4 | #endif
5 | 
6 | #include "TensorReductionGpu.h"
7 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/Eigen/unsupported/Eigen/src/EulerAngles/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | file(GLOB Eigen_EulerAngles_SRCS "*.h")
2 | 
3 | install(FILES
4 |   ${Eigen_EulerAngles_SRCS}
5 |   DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/src/EulerAngles COMPONENT Devel
6 |   )
7 | 


--------------------------------------------------------------------------------
/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/unsupported/test/FFT.cpp:
--------------------------------------------------------------------------------
1 | #define test_FFTW test_FFT
2 | #include "FFTW.cpp"
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/INSTALL:
--------------------------------------------------------------------------------
1 | For installation instructions, open
2 | 
3 |   https://geographiclib.sourceforge.io/html/install.html
4 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/Makefile:
--------------------------------------------------------------------------------
1 | include Makefile.mk
2 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/README.md:
--------------------------------------------------------------------------------
 1 | GeographicLib
 2 | =============
 3 | 
 4 | A C++ library for geographic projections.  The web site for the package
 5 | is
 6 | 
 7 | > https://geographiclib.sourceforge.io
 8 | 
 9 | The API for the library is documented at
10 | 
11 | > https://geographiclib.sourceforge.io/html
12 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/cmake/Makefile.mk:
--------------------------------------------------------------------------------
 1 | DEST = $(PREFIX)/share/cmake/GeographicLib
 2 | 
 3 | INSTALL=install -b
 4 | 
 5 | all:
 6 | 	@:
 7 | install:
 8 | 	test -d $(DEST) || mkdir -p $(DEST)
 9 | 	$(INSTALL) -m 644 FindGeographicLib.cmake $(DEST)
10 | clean:
11 | 	@:
12 | 
13 | .PHONY: all install clean
14 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/doc/NETGeographicLib1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/GeographicLib/doc/NETGeographicLib1.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/doc/NETGeographicLib2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/GeographicLib/doc/NETGeographicLib2.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/doc/NETGeographicLib3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/GeographicLib/doc/NETGeographicLib3.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/doc/gauss-krueger-convergence-scale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/GeographicLib/doc/gauss-krueger-convergence-scale.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/doc/gauss-krueger-error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/GeographicLib/doc/gauss-krueger-error.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/doc/gauss-krueger-graticule-a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/GeographicLib/doc/gauss-krueger-graticule-a.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/doc/gauss-krueger-graticule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/GeographicLib/doc/gauss-krueger-graticule.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/doc/gauss-schreiber-graticule-a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/GeographicLib/doc/gauss-schreiber-graticule-a.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/doc/meridian-measures.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/GeographicLib/doc/meridian-measures.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/doc/thompson-tm-graticule-a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/GeographicLib/doc/thompson-tm-graticule-a.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/doc/thompson-tm-graticule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/GeographicLib/doc/thompson-tm-graticule.png


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/doc/vptree.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/GeographicLib/doc/vptree.gif


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/dotnet/NETGeographicLib/stdafx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // NETGeographic.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 | 
5 | #include "stdafx.h"
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/dotnet/NETGeographicLib/stdafx.h:
--------------------------------------------------------------------------------
1 | // stdafx.h : include file for standard system include files,
2 | // or project specific include files that are used frequently,
3 | // but are changed infrequently
4 | 
5 | #pragma once
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/dotnet/Projections/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 | <?xml version='1.0' encoding='utf-8'?>
2 | <SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
3 |   <Profiles>
4 |     <Profile Name="(Default)" />
5 |   </Profiles>
6 |   <Settings />
7 | </SettingsFile>
8 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/include/GeographicLib/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install the header files including the generated Config.h (which is in
2 | # the build tree).
3 | file (GLOB HEADERS [A-Za-z]*.hpp)
4 | install (FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GeographicLib)
5 | install (FILES ${CMAKE_CURRENT_BINARY_DIR}/Config.h
6 |   DESTINATION include/GeographicLib)
7 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/js/doc/tutorials.json:
--------------------------------------------------------------------------------
 1 |  {
 2 |      "1-geodesics": {
 3 |          "title": "General information on geodesics"
 4 |      },
 5 |      "2-interface": {
 6 |          "title": "The library interface"
 7 |      },
 8 |      "3-examples": {
 9 |          "title": "Examples of use"
10 |      }
11 |  }
12 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/man/dummy.1.in:
--------------------------------------------------------------------------------
 1 | .TH @TOOL@ 1 "" "GeographicLib Utilities" "GeographicLib Utilities"
 2 | .SH NAME
 3 | @TOOL@ \-\- a GeographicLib utility
 4 | .SH DESCRIPTION
 5 | .B @TOOL@
 6 | is part of GeographicLib, <https://geographiclib.sourceforge.io>.  For
 7 | documentation, see
 8 | .PP
 9 |     https://geographiclib.sourceforge.io/@PROJECT_VERSION@/@TOOL@.1.html
10 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/man/dummy.usage.in:
--------------------------------------------------------------------------------
1 | // Dummy usage file to be used when the man page isn't available
2 | 
3 | int usage(int retval, bool /* brief */) {
4 |   ( retval ? std::cerr : std::cout )
5 |     << "For full documentation on @TOOL@, see\n"
6 |     << "    https://geographiclib.sourceforge.io/@PROJECT_VERSION@/@TOOL@.1.html\n";
7 |   return retval;
8 | }
9 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/matlab/geographiclib/ecc2flat.m:
--------------------------------------------------------------------------------
 1 | function f = ecc2flat(e)
 2 | %ECC2FLAT   Convert eccentricity to flattening
 3 | %
 4 | %   f = ECC2FLAT(e)
 5 | %
 6 | %   returns the flattening of an ellipsoid given the eccentricity.
 7 | %
 8 | %   See also FLAT2ECC.
 9 | 
10 |   e2 = real(e.^2);
11 |   f = e2 ./ (1 + sqrt(1 - e2));
12 | end
13 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/matlab/geographiclib/flat2ecc.m:
--------------------------------------------------------------------------------
 1 | function e = flat2ecc(f)
 2 | %FLAT2ECC   Convert flattening to eccentricity
 3 | %
 4 | %   e = FLAT2ECC(f)
 5 | %
 6 | %   returns the eccentricity of an ellipsoid given the flattening.
 7 | %
 8 | %   See also ECC2FLAT.
 9 | 
10 |   e = sqrt(f .* (2 - f));
11 | end
12 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/matlab/geographiclib/private/A3f.m:
--------------------------------------------------------------------------------
1 | function A3 = A3f(epsi, A3x)
2 | %A3F  Evaluate A_3
3 | %
4 | %   A3 = A3F(epsi, A3x) evaluates A_3 using Eq. (24) and the coefficient
5 | %   vector A3x.  epsi and A3 are K x 1 arrays.  A3x is a 1 x 6 array.
6 | 
7 |   A3 = polyval(A3x, epsi);
8 | end
9 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/matlab/geographiclib/private/AngNormalize.m:
--------------------------------------------------------------------------------
 1 | function x = AngNormalize(x)
 2 | %ANGNORMALIZE  Reduce angle to range (-180, 180]
 3 | %
 4 | %   x = ANGNORMALIZE(x) reduces angles to the range (-180, 180].  x can be
 5 | %   any shape.
 6 | 
 7 |   x = rem(x, 360);
 8 |   x(x >   180) = x(x >   180) - 360;
 9 |   x(x <= -180) = x(x <= -180) + 360;
10 | end
11 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/matlab/geographiclib/private/LatFix.m:
--------------------------------------------------------------------------------
 1 | function y = LatFix(x)
 2 | %LATFIX  Check that latitiude is in [-90, 90]
 3 | %
 4 | %   y = LATFIX(x) returns x is it is in the range [-90, 90]; otherwise it
 5 | %   returns NaN.  x can be any shape.
 6 | 
 7 |   y = x;
 8 |   y(abs(x) > 90) = nan;
 9 | end
10 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/matlab/geographiclib/private/eatanhe.m:
--------------------------------------------------------------------------------
 1 | function y = eatanhe(x, e2)
 2 | %EATANHE   e*atanh(e*x)
 3 | %
 4 | %   EATANHE(x, e2) returns e*atanh(e*x) where e = sqrt(e2)
 5 | %   e2 is a scalar; x can be any shape.
 6 | 
 7 |   e = sqrt(abs(e2));
 8 |   if (e2 >= 0)
 9 |     y = e * atanh(e * x);
10 |   else
11 |     y = -e * atan(e * x);
12 |   end
13 | end
14 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/matlab/geographiclib/private/norm2.m:
--------------------------------------------------------------------------------
 1 | function [x, y] = norm2(x, y)
 2 | %NORM2  Normalize x and y
 3 | %
 4 | %   [x, y] = NORM2(x, y) normalize x and y so that x^2 + y^2 = 1.  x and y
 5 | %   can be any shape.
 6 | 
 7 |   r = hypot(x, y);
 8 |   x = x ./ r;
 9 |   y = y ./ r;
10 | end
11 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/matlab/geographiclib/private/swap.m:
--------------------------------------------------------------------------------
1 | function [y, x] = swap(x, y)
2 | %SWAP  Swap two variables.
3 | %
4 | %   [a, b] = SWAP(x, y) sets A to Y and B to X.
5 | end
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/maxima/Makefile.mk:
--------------------------------------------------------------------------------
 1 | MAXIMA = tm ellint tmseries geod geodesic auxlat
 2 | MAXIMASOURCES = $(addsuffix .mac,$(MAXIMA))
 3 | 
 4 | all:
 5 | 	@:
 6 | install:
 7 | 	@:
 8 | clean:
 9 | 	@:
10 | 
11 | .PHONY: all install clean
12 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/python/MANIFEST.in:
--------------------------------------------------------------------------------
1 | include README.rst
2 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/python/README.rst:
--------------------------------------------------------------------------------
1 | This implements
2 | `algorithms for geodesics <https://doi.org/10.1007/s00190-012-0578-z>`_
3 | (Karney, 2013) for solving the direct and inverse problems for an
4 | ellipsoid of revolution.
5 | 
6 | Documentation is available at
7 | `<https://geographiclib.sourceforge.io/1.49/python/>`_.
8 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/python/geographiclib/__init__.py:
--------------------------------------------------------------------------------
1 | """geographiclib: geodesic routines from GeographicLib"""
2 | 
3 | __version_info__ = (1, 49, 0)
4 | """GeographicLib version as a tuple"""
5 | 
6 | __version__ = "1.49"
7 | """GeographicLib version as a string"""
8 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/python/geographiclib/test/__init__.py:
--------------------------------------------------------------------------------
 1 | """
 2 | 
 3 | test_geodesic: test the geodesic routines from GeographicLib
 4 | 
 5 | Run these tests with one of
 6 | 
 7 |     python2 -m unittest -v geographiclib.test.test_geodesic
 8 |     python3 -m unittest -v geographiclib.test.test_geodesic
 9 | 
10 | executed in this directory's parent directory.
11 | 
12 | """
13 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/wrapper/C/cgeoid.h:
--------------------------------------------------------------------------------
 1 | #if !defined(CGEOID_H)
 2 | #define CGEOID_H 1
 3 | 
 4 | #if defined(__cplusplus)
 5 | extern "C"
 6 | #endif
 7 | double HeightAboveEllipsoid(double lat, double lon, double h);
 8 | 
 9 | #endif  /* CGEOID_H */
10 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/GeographicLib/wrapper/C/geoidtest.c:
--------------------------------------------------------------------------------
 1 | #include <stdio.h>
 2 | #include "cgeoid.h"
 3 | 
 4 | #if defined(_MSC_VER)
 5 | /* Squelch warnings about scanf */
 6 | #  pragma warning (disable: 4996)
 7 | #endif
 8 | 
 9 | int main() {
10 |   double lat, lon, h;
11 |   while(scanf("%lf %lf %lf", &lat, &lon, &h) == 3)
12 |     printf("%.3f\n", HeightAboveEllipsoid(lat, lon, h));
13 | }
14 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/SuiteSparse_config/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/SuiteSparse_config/xerbla/xerbla.h:
--------------------------------------------------------------------------------
1 | void xerbla_ (char *srname, int *info) ;
2 | void xerbla  (char *srname, int *info) ;
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/ceres/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | file(GLOB ceres_headers "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
2 | install(FILES ${ceres_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/3rdparty/ceres)
3 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/metis/GKlib/conf/check_thread_storage.c:
--------------------------------------------------------------------------------
1 | extern __thread int x;
2 | 
3 | int main(int argc, char **argv) {
4 |   return 0;
5 | }
6 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/metis/include/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | install(FILES metis.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/3rdparty/metis)
2 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/metis/manual/manual.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/3rdparty/metis/manual/manual.pdf


--------------------------------------------------------------------------------
/gtsam/3rdparty/metis/metis.h:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * metis.h
 3 |  *  Dummy header, not installed!
 4 |  *  Created on: Nov 24, 2014
 5 |  *      Author: cbeall3
 6 |  */
 7 | 
 8 | #ifndef GTSAM_3RDPARTY_METIS_METIS_H_
 9 | #define GTSAM_3RDPARTY_METIS_METIS_H_
10 | 
11 | #include <gtsam/3rdparty/metis/include/metis.h>
12 | 
13 | #endif /* GTSAM_3RDPARTY_METIS_METIS_H_ */
14 | 


--------------------------------------------------------------------------------
/gtsam/3rdparty/metis/vsgen.bat:
--------------------------------------------------------------------------------
1 | MKDIR build\windows
2 | CD build\windows
3 | cmake -DCMAKE_CONFIGURATION_TYPES="Release" ..\.. %*
4 | ECHO VS files have been generated in build\windows
5 | CD ..\..\
6 | 


--------------------------------------------------------------------------------
/gtsam/base/CMakeLists.txt:
--------------------------------------------------------------------------------
 1 | # Install headers
 2 | file(GLOB base_headers "*.h")
 3 | install(FILES ${base_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/base)
 4 | 
 5 | file(GLOB base_headers_tree "treeTraversal/*.h")
 6 | install(FILES ${base_headers_tree} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/base/treeTraversal)
 7 | 
 8 | # Build tests
 9 | add_subdirectory(tests)
10 | 


--------------------------------------------------------------------------------
/gtsam/base/utilities.cpp:
--------------------------------------------------------------------------------
 1 | #include <gtsam/base/utilities.h>
 2 | 
 3 | namespace gtsam {
 4 | 
 5 | std::string RedirectCout::str() const {
 6 |   return ssBuffer_.str();
 7 | }
 8 | 
 9 | RedirectCout::~RedirectCout() {
10 |   std::cout.rdbuf(coutBuffer_);
11 | }
12 | 
13 | }
14 | 


--------------------------------------------------------------------------------
/gtsam/basis/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB basis_headers "*.h")
3 | install(FILES ${basis_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/basis)
4 | 
5 | # Build tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam/basis/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | gtsamAddTestsGlob(basis "test*.cpp" "" "gtsam")
2 | 


--------------------------------------------------------------------------------
/gtsam/constrained/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB constraint_headers "*.h")
3 | install(FILES ${constraint_headers} DESTINATION include/gtsam/constrained)
4 | 
5 | # Build tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam/constrained/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
 1 | # if GTSAM_ENABLE_BOOST_SERIALIZATION is OFF then exclude some tests
 2 | if (NOT GTSAM_ENABLE_BOOST_SERIALIZATION)
 3 |   # create a semicolon seperated list of files to exclude
 4 |   set(EXCLUDE_TESTS "testSerializationConstraint.cpp")
 5 | else()
 6 |   set(EXCLUDE_TESTS "")
 7 | endif()
 8 | 
 9 | gtsamAddTestsGlob(constraint "test*.cpp" "${EXCLUDE_TESTS}" "gtsam")
10 | 


--------------------------------------------------------------------------------
/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 ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/discrete)
6 | 
7 | # Add all tests
8 | add_subdirectory(tests)
9 | 


--------------------------------------------------------------------------------
/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/discrete/tests/data/UAI/sampleMARKOV.uai.evid:
--------------------------------------------------------------------------------
1 | 2
2 |  1 0
3 |  2 1


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


--------------------------------------------------------------------------------
/gtsam/discrete/tests/data/UAI/uai08_test3.uai.evid:
--------------------------------------------------------------------------------
1 | 0
2 | 


--------------------------------------------------------------------------------
/gtsam/discrete/tests/testDiscreteBayesTree.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam/discrete/tests/testDiscreteBayesTree.pdf


--------------------------------------------------------------------------------
/gtsam/geometry/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB geometry_headers "*.h")
3 | install(FILES ${geometry_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/geometry)
4 | 
5 | # Build tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam/geometry/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
 1 | # if GTSAM_ENABLE_BOOST_SERIALIZATION is OFF then exclude some tests
 2 | if (NOT GTSAM_ENABLE_BOOST_SERIALIZATION)
 3 |   # create a semicolon seperated list of files to exclude
 4 |   set(EXCLUDE_TESTS "testSerializationGeometry.cpp")
 5 | else()
 6 |   set(EXCLUDE_TESTS "")
 7 | endif()
 8 | 
 9 | gtsamAddTestsGlob(geometry "test*.cpp" "${EXCLUDE_TESTS}" "gtsam")
10 | 


--------------------------------------------------------------------------------
/gtsam/hybrid/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | set(subdir hybrid)
3 | file(GLOB hybrid_headers "*.h")
4 | install(FILES ${hybrid_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/hybrid)
5 | 
6 | # Add all tests
7 | add_subdirectory(tests)
8 | 


--------------------------------------------------------------------------------
/gtsam/hybrid/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
 1 | # if GTSAM_ENABLE_BOOST_SERIALIZATION is OFF then exclude some tests
 2 | if (NOT GTSAM_ENABLE_BOOST_SERIALIZATION)
 3 |   # create a semicolon seperated list of files to exclude
 4 |   set(EXCLUDE_TESTS "testSerializationHybrid.cpp")
 5 | else()
 6 |   set(EXCLUDE_TESTS "")
 7 | endif()
 8 | 
 9 | gtsamAddTestsGlob(hybrid "test*.cpp" "${EXCLUDE_TESTS}" "gtsam")
10 | 


--------------------------------------------------------------------------------
/gtsam/inference/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB inference_headers "*.h")
3 | install(FILES ${inference_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/inference)
4 | 
5 | # Build tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam/inference/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | gtsamAddTestsGlob(inference "test*.cpp" "" "gtsam")
2 | 


--------------------------------------------------------------------------------
/gtsam/linear/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB linear_headers "*.h")
3 | install(FILES ${linear_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/linear)
4 | 
5 | # Build tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam/navigation/.gitignore:
--------------------------------------------------------------------------------
1 | /*.*~
2 | 


--------------------------------------------------------------------------------
/gtsam/navigation/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB navigation_headers "*.h")
3 | install(FILES ${navigation_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/navigation)
4 | 
5 | # Add all tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam/nonlinear/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
 1 | # if GTSAM_ENABLE_BOOST_SERIALIZATION is OFF then exclude some tests
 2 | if (NOT GTSAM_ENABLE_BOOST_SERIALIZATION)
 3 |   # create a semicolon seperated list of files to exclude
 4 |   set(EXCLUDE_TESTS "testSerializationNonlinear.cpp")
 5 | else()
 6 |   set(EXCLUDE_TESTS "")
 7 | endif()
 8 | 
 9 | gtsamAddTestsGlob(nonlinear "test*.cpp" "${EXCLUDE_TESTS}" "gtsam")
10 | 


--------------------------------------------------------------------------------
/gtsam/sam/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB sam_headers "*.h")
3 | install(FILES ${sam_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/sam)
4 | 
5 | # Build tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam/sam/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
 1 | # if GTSAM_ENABLE_BOOST_SERIALIZATION is OFF then exclude some tests
 2 | if (NOT GTSAM_ENABLE_BOOST_SERIALIZATION)
 3 |   # create a semicolon seperated list of files to exclude
 4 |   set(EXCLUDE_TESTS "testSerializationSam.cpp")
 5 | else()
 6 |   set(EXCLUDE_TESTS "")
 7 | endif()
 8 | 
 9 | gtsamAddTestsGlob(sam "test*.cpp" "${EXCLUDE_TESTS}" "gtsam")
10 | 


--------------------------------------------------------------------------------
/gtsam/sfm/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB sfm_headers "*.h")
3 | install(FILES ${sfm_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/sfm)
4 | 
5 | # Build tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam/sfm/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | gtsamAddTestsGlob(sfm "test*.cpp" "" "gtsam")
2 | 


--------------------------------------------------------------------------------
/gtsam/slam/CMakeLists.txt:
--------------------------------------------------------------------------------
 1 | # Install headers
 2 | set (slam_excluded_headers #"")
 3 |     "${CMAKE_CURRENT_SOURCE_DIR}/serialization.h"
 4 | )
 5 | 
 6 | file(GLOB slam_headers "*.h")
 7 | install(FILES ${slam_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/slam)
 8 | 
 9 | # Build tests
10 | add_subdirectory(tests)
11 | 


--------------------------------------------------------------------------------
/gtsam/symbolic/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB symbolic_headers "*.h")
3 | install(FILES ${symbolic_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam/symbolic)
4 | 
5 | # Build tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam/symbolic/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
 1 | # if GTSAM_ENABLE_BOOST_SERIALIZATION is OFF then exclude some tests
 2 | if (NOT GTSAM_ENABLE_BOOST_SERIALIZATION)
 3 |   # create a semicolon seperated list of files to exclude
 4 |   set(EXCLUDE_TESTS "testSerializationSymbolic.cpp")
 5 | else()
 6 |   set(EXCLUDE_TESTS "")
 7 | endif()
 8 | 
 9 | gtsamAddTestsGlob(symbolic "test*.cpp" "${EXCLUDE_TESTS}" "gtsam")
10 | 


--------------------------------------------------------------------------------
/gtsam_unstable/base/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB base_headers "*.h")
3 | install(FILES ${base_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam_unstable/base)
4 | 
5 | # Add all tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam_unstable/base/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | gtsamAddTestsGlob(base_unstable "test*.cpp" "" "gtsam_unstable")
2 | 


--------------------------------------------------------------------------------
/gtsam_unstable/discrete/CMakeLists.txt:
--------------------------------------------------------------------------------
 1 | # Install headers
 2 | file(GLOB discrete_headers "*.h")
 3 | install(FILES ${discrete_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam_unstable/discrete)
 4 | 
 5 | # Add all tests
 6 | add_subdirectory(tests)
 7 | 
 8 | # Add examples
 9 | add_subdirectory(examples)
10 | 


--------------------------------------------------------------------------------
/gtsam_unstable/discrete/examples/Doodle.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam_unstable/discrete/examples/Doodle.xls


--------------------------------------------------------------------------------
/gtsam_unstable/discrete/examples/Doodle2012.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam_unstable/discrete/examples/Doodle2012.xls


--------------------------------------------------------------------------------
/gtsam_unstable/discrete/examples/Doodle2013.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam_unstable/discrete/examples/Doodle2013.xls


--------------------------------------------------------------------------------
/gtsam_unstable/discrete/examples/intrusive.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam_unstable/discrete/examples/intrusive.xlsx


--------------------------------------------------------------------------------
/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_unstable/discrete/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(excluded_sources "")
2 | if (NOT GTSAM_USE_BOOST_FEATURES)
3 |   list(APPEND excluded_sources "testScheduler.cpp")
4 | endif()
5 | 
6 | gtsamAddTestsGlob(discrete_unstable "test*.cpp" "${excluded_sources}" "gtsam_unstable")
7 | 


--------------------------------------------------------------------------------
/gtsam_unstable/dynamics/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB dynamics_headers "*.h")
3 | install(FILES ${dynamics_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam_unstable/dynamics)
4 | 
5 | # Add all tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam_unstable/dynamics/SimpleHelicopter.cpp:
--------------------------------------------------------------------------------
1 | /*
2 |  * SimpleHelicopter.cpp
3 |  *
4 |  *  Created on: Apr 21, 2013
5 |  *      Author: thduynguyen
6 |  */
7 | 
8 | #include "SimpleHelicopter.h"
9 | 


--------------------------------------------------------------------------------
/gtsam_unstable/dynamics/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set (excluded_tests "")
2 | 
3 | # TODO(dellaert): these segfault, and are rather obsolete, so we stop compiling them:
4 | list(APPEND excluded_tests "testIMUSystem.cpp" "testPoseRTV.cpp")
5 | 
6 | # Build tests
7 | gtsamAddTestsGlob(dynamics_unstable "test*.cpp" "${excluded_tests}" "gtsam_unstable")
8 | 


--------------------------------------------------------------------------------
/gtsam_unstable/examples/README.md:
--------------------------------------------------------------------------------
1 | This directory contains a number of examples that illustrate the use of unstable components in GTSAM:
2 | 
3 | FixedLagSmootherExample: a 2D Pose SLAM example fusing measurements from multiple odometry-type sensors
4 | ConcurrentFilteringAndSmoothingExample: a 2D Pose SLAM example demonstrating the Concurrent Filtering and Smoothing architecture
5 | 


--------------------------------------------------------------------------------
/gtsam_unstable/examples/plotRangeResults.p:
--------------------------------------------------------------------------------
1 | #!/opt/local/bin/gnuplot
2 | reset
3 | #set terminal pdf
4 | set title "Smart range SLAM result"
5 | set size ratio -1
6 | plot "rangeResult.txt" using 2:3 with lines, "rangeResultLM.txt" using 2:3:4 with circles, "rangeResultSR.txt" using 2:3:4 with circles


--------------------------------------------------------------------------------
/gtsam_unstable/geometry/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB geometry_headers "*.h")
3 | install(FILES ${geometry_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam_unstable/geometry)
4 | 
5 | # Add all tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam_unstable/geometry/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | gtsamAddTestsGlob(geometry_unstable "test*.cpp" "" "gtsam_unstable")
2 | 


--------------------------------------------------------------------------------
/gtsam_unstable/linear/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB linear_headers "*.h")
3 | install(FILES ${linear_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam_unstable/linear)
4 | 
5 | # Add all tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam_unstable/nonlinear/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB nonlinear_headers "*.h")
3 | install(FILES ${nonlinear_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam_unstable/nonlinear)
4 | 
5 | # Add all tests
6 | add_subdirectory(tests)
7 | 


--------------------------------------------------------------------------------
/gtsam_unstable/nonlinear/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | gtsamAddTestsGlob(nonlinear_unstable "test*.cpp" "testCustomChartExpression.cpp" "gtsam_unstable")
2 | 


--------------------------------------------------------------------------------
/gtsam_unstable/partition/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Install headers
2 | file(GLOB partition_headers "*.h")
3 | install(FILES ${partition_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam_unstable/partition)
4 | 
5 | add_subdirectory(tests)
6 | 


--------------------------------------------------------------------------------
/gtsam_unstable/partition/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(ignore_test "testNestedDissection.cpp")
2 | 
3 | if (NOT GTSAM_USE_BOOST_FEATURES OR MSVC)
4 | 	list(APPEND ignore_test "testFindSeparator.cpp")
5 | endif()
6 | 
7 | gtsamAddTestsGlob(partition "test*.cpp" "${ignore_test}" "gtsam_unstable;gtsam;metis-gtsam-if")
8 | 


--------------------------------------------------------------------------------
/gtsam_unstable/slam/CMakeLists.txt:
--------------------------------------------------------------------------------
 1 | # Install headers
 2 | set (slam_excluded_headers #"")
 3 |     "${CMAKE_CURRENT_SOURCE_DIR}/serialization.h"
 4 | )
 5 | 
 6 | file(GLOB slam_headers "*.h")
 7 | list(REMOVE_ITEM slam_headers ${slam_excluded_headers})
 8 | install(FILES ${slam_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gtsam_unstable/slam)
 9 | 
10 | # Add all tests
11 | add_subdirectory(tests)
12 | 


--------------------------------------------------------------------------------
/gtsam_unstable/slam/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | 
2 | # Exclude tests that don't work
3 | set (slam_excluded_tests
4 |     testSerialization.cpp
5 | )
6 | 
7 | gtsamAddTestsGlob(slam_unstable "test*.cpp" "${slam_excluded_tests}" "gtsam_unstable")
8 | 


--------------------------------------------------------------------------------
/gtsam_unstable/timing/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | gtsamAddTimingGlob("*.cpp" "" "gtsam_unstable" ${GTSAM_BUILD_TIMING_ALWAYS})
2 | 


--------------------------------------------------------------------------------
/gtsam_unstable/timing/timeDSFvariants.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam_unstable/timing/timeDSFvariants.xlsx


--------------------------------------------------------------------------------
/gtsam_unstable/timing/timeDSFvariants2.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/gtsam_unstable/timing/timeDSFvariants2.xlsx


--------------------------------------------------------------------------------
/makestats.sh:
--------------------------------------------------------------------------------
1 | java -jar ~/src/statsvn-0.7.0/statsvn.jar -output-dir stats -exclude "examples/Data/**/*;gtsam/3rdparty/**/*" logfile.log .
2 | 


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


--------------------------------------------------------------------------------
/matlab/+gtsam/EXPECT.m:
--------------------------------------------------------------------------------
 1 | function EXPECT(name,assertion)
 2 | % EXPECT throw a warning if an assertion fails
 3 | %
 4 | % EXPECT(name,assertion)
 5 | %  - name of test
 6 | %  - assertion
 7 | 
 8 | if (assertion~=1)
 9 |     warning(['EXPECT ' name ' fails']);
10 | end
11 | 


--------------------------------------------------------------------------------
/matlab/+gtsam/Point2.m:
--------------------------------------------------------------------------------
 1 | function pt = Point2(varargin)
 2 |     % Point2 shim
 3 |     if nargin == 2 && isa(varargin{1}, 'double')
 4 |         pt = [varargin{1} varargin{2}]';
 5 |     elseif nargin == 1
 6 |         pt = varargin{1};
 7 |     elseif nargin == 0
 8 |         pt = [0 0]';
 9 |     else
10 |         error('Arguments do not match any overload of Point2 shim');
11 |     end
12 | end


--------------------------------------------------------------------------------
/matlab/+gtsam/Point3.m:
--------------------------------------------------------------------------------
 1 | function pt = Point3(varargin)
 2 |     % Point3 shim
 3 |     if nargin == 3 && isa(varargin{1}, 'double')
 4 |         pt = [varargin{1} varargin{2} varargin{3}]';
 5 |     elseif nargin == 1
 6 |         pt = varargin{1};
 7 |     elseif nargin == 0
 8 |         pt = [0 0 0]';
 9 |     else
10 |         error('Arguments do not match any overload of Point3 shim');
11 |     end
12 | end


--------------------------------------------------------------------------------
/matlab/+gtsam/plotBayesNet.m:
--------------------------------------------------------------------------------
 1 | function plotBayesNet(bayesNet)
 2 | % plotBayesNet saves as dot file, renders, and shows as image
 3 | % Needs dot installed
 4 | 
 5 | bayesNet.saveGraph('/tmp/bayesNet.dot')
 6 | !dot -Tpng -o /tmp/dotImage.png /tmp/bayesNet.dot
 7 | dotImage=imread('/tmp/dotImage.png');
 8 | imshow(dotImage)
 9 | 
10 | end


--------------------------------------------------------------------------------
/matlab/+gtsam/plotBayesTree.m:
--------------------------------------------------------------------------------
 1 | function plotBayesTree(bayesTree)
 2 | % plotBayesTree saves as dot file, renders, and shows as image
 3 | % Needs dot installed
 4 | 
 5 | bayesTree.saveGraph('/tmp/bayesTree.dot')
 6 | !dot -Tpng -o /tmp/dotImage.png /tmp/bayesTree.dot
 7 | dotImage=imread('/tmp/dotImage.png');
 8 | imshow(dotImage)
 9 | 
10 | end


--------------------------------------------------------------------------------
/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(1),p(2),[color '*']);
 5 | else
 6 |     plot(p(1),p(2),color);
 7 | end
 8 | if exist('P', 'var') && (~isempty(P))
 9 |     gtsam.covarianceEllipse([p(1);p(2)],P,color(1));
10 | end


--------------------------------------------------------------------------------
/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(1),p(2),p(3),[color '*']);
 5 | else
 6 |     plot3(p(1),p(2),p(3),color);
 7 | end
 8 | if exist('P', 'var')
 9 |     gtsam.covarianceEllipse3D([p(1);p(2);p(3)],P);
10 | end
11 | 
12 | end
13 | 
14 | 


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


--------------------------------------------------------------------------------
/matlab/gtsam_examples/VisualISAM_gui.fig:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/matlab/gtsam_examples/VisualISAM_gui.fig


--------------------------------------------------------------------------------
/matlab/gtsam_examples/gtsamExamples.fig:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/matlab/gtsam_examples/gtsamExamples.fig


--------------------------------------------------------------------------------
/matlab/gtsam_tests/.gitignore:
--------------------------------------------------------------------------------
1 | *.m~
2 | 


--------------------------------------------------------------------------------
/matlab/gtsam_tests/testEnum.m:
--------------------------------------------------------------------------------
 1 | % test Enum
 2 | import gtsam.*;
 3 | 
 4 | params = GncLMParams();
 5 | 
 6 | EXPECT('Get lossType',params.lossType==GncLossType.TLS);
 7 | 
 8 | params.lossType = GncLossType.GM;
 9 | EXPECT('Set lossType',params.lossType==GncLossType.GM);
10 | 
11 | params.setLossType(GncLossType.TLS);
12 | EXPECT('setLossType',params.lossType==GncLossType.TLS);
13 | 


--------------------------------------------------------------------------------
/matlab/gtsam_tests/thinBayesTree.m:
--------------------------------------------------------------------------------
1 | function bayesTree = thinBayesTree(depth, width)
2 |     import gtsam.*
3 |     bayesNet = thinTreeBayesNet(depth, width);
4 |     fg = GaussianFactorGraph(bayesNet);
5 |     bayesTree = fg.eliminateMultifrontal();
6 | end


--------------------------------------------------------------------------------
/matlab/unstable_examples/+imuSimulator/+lib/antisim.m:
--------------------------------------------------------------------------------
1 | function S = antisim(v)
2 | 
3 | % costruisce la matrice antisimmetrica S (3x3) a partire dal vettore v
4 | % Uso: S = antisim(v)
5 | 
6 | S=[0 -v(3) v(2); v(3) 0 -v(1); -v(2) v(1) 0];
7 | 
8 | 


--------------------------------------------------------------------------------
/matlab/unstable_examples/+imuSimulator/+lib/uth2rot.m:
--------------------------------------------------------------------------------
 1 | function R = uth2rot(u,teta)
 2 | 
 3 | % Uso: R = uth2rot(u,teta)
 4 | %
 5 | % calcola la matrice R 
 6 | % a partire da asse u ed angolo di rotazione teta (in rad)
 7 | 
 8 | S=antisim(u);
 9 | t=teta;
10 |  
11 | n=norm(u);
12 | 
13 | R = eye(3) + sin(t)/n*S + (1-cos(t))/n^2*S^2;
14 | 
15 | 


--------------------------------------------------------------------------------
/matlab/unstable_examples/.gitignore:
--------------------------------------------------------------------------------
1 | *.m~
2 | *.avi
3 | 


--------------------------------------------------------------------------------
/python/CustomFactors.md:
--------------------------------------------------------------------------------
1 | # GTSAM Python-based factors
2 | 
3 | One now can build factors purely in Python using the `CustomFactor` factor. See [this notebook](../gtsam/nonlinear/doc/CustomFactor.ipynb) for usage.
4 | 
5 | 


--------------------------------------------------------------------------------
/python/MANIFEST.in:
--------------------------------------------------------------------------------
1 | recursive-include gtsam/Data *
2 | 


--------------------------------------------------------------------------------
/python/dev_requirements.txt:
--------------------------------------------------------------------------------
1 | -r requirements.txt
2 | pyparsing>=2.4.2
3 | pybind11-stubgen>=2.5.1


--------------------------------------------------------------------------------
/python/gtsam/examples/.gitignore:
--------------------------------------------------------------------------------
1 | *.txt
2 | 


--------------------------------------------------------------------------------
/python/gtsam/examples/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/python/gtsam/examples/__init__.py


--------------------------------------------------------------------------------
/python/gtsam/gtsfm.py:
--------------------------------------------------------------------------------
1 | # This trick is to allow direct import of sub-modules
2 | # without this, we can only do `from gtsam.gtsam.gtsfm import X`
3 | # with this trick, we can do `from gtsam.gtsfm import X`
4 | from .gtsam.gtsfm import *


--------------------------------------------------------------------------------
/python/gtsam/imuBias.py:
--------------------------------------------------------------------------------
1 | # This trick is to allow direct import of sub-modules
2 | # without this, we can only do `from gtsam.gtsam.imuBias import X`
3 | # with this trick, we can do `from gtsam.imuBias import X`
4 | from .gtsam.imuBias import *
5 | 


--------------------------------------------------------------------------------
/python/gtsam/noiseModel.py:
--------------------------------------------------------------------------------
1 | # This trick is to allow direct import of sub-modules
2 | # without this, we can only do `from gtsam.gtsam.noiseModel import X`
3 | # with this trick, we can do `from gtsam.noiseModel import X`
4 | from .gtsam.noiseModel import *


--------------------------------------------------------------------------------
/python/gtsam/specializations/hybrid.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/python/gtsam/specializations/hybrid.h


--------------------------------------------------------------------------------
/python/gtsam/symbol_shorthand.py:
--------------------------------------------------------------------------------
1 | # This trick is to allow direct import of sub-modules
2 | # without this, we can only do `from gtsam.gtsam.symbol_shorthand import X`
3 | # with this trick, we can do `from gtsam.symbol_shorthand import X`
4 | from .gtsam.symbol_shorthand import *
5 | 


--------------------------------------------------------------------------------
/python/gtsam_unstable/__init__.py:
--------------------------------------------------------------------------------
1 | from .gtsam_unstable import *
2 | 


--------------------------------------------------------------------------------
/python/gtsam_unstable/examples/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/python/gtsam_unstable/examples/__init__.py


--------------------------------------------------------------------------------
/python/gtsam_unstable/preamble.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/python/gtsam_unstable/preamble.h


--------------------------------------------------------------------------------
/python/gtsam_unstable/specializations/gtsam_unstable.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/python/gtsam_unstable/specializations/gtsam_unstable.h


--------------------------------------------------------------------------------
/python/gtsam_unstable/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/python/gtsam_unstable/tests/__init__.py


--------------------------------------------------------------------------------
/python/requirements.txt:
--------------------------------------------------------------------------------
1 | numpy>=1.11.0
2 | 


--------------------------------------------------------------------------------
/wrap/.gitignore:
--------------------------------------------------------------------------------
 1 | __pycache__/
 2 | .vscode/
 3 | *build*
 4 | *install*
 5 | *dist*
 6 | *.egg-info
 7 | 
 8 | **/.DS_Store
 9 | 
10 | # Files related to code coverage stats
11 | **/.coverage
12 | 
13 | gtwrap/matlab_wrapper/matlab_wrapper.tpl
14 | 


--------------------------------------------------------------------------------
/wrap/gtwrap/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/wrap/gtwrap/__init__.py


--------------------------------------------------------------------------------
/wrap/gtwrap/matlab_wrapper/__init__.py:
--------------------------------------------------------------------------------
1 | """Package to wrap C++ code to Matlab via MEX."""
2 | 
3 | from .wrapper import MatlabWrapper
4 | 


--------------------------------------------------------------------------------
/wrap/gtwrap/xml_parser/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/wrap/gtwrap/xml_parser/__init__.py


--------------------------------------------------------------------------------
/wrap/pybind11/.gitattributes:
--------------------------------------------------------------------------------
1 | docs/*.svg binary
2 | 


--------------------------------------------------------------------------------
/wrap/pybind11/.github/CODEOWNERS:
--------------------------------------------------------------------------------
 1 | *.cmake @henryiii
 2 | CMakeLists.txt @henryiii
 3 | *.yml @henryiii
 4 | *.yaml @henryiii
 5 | /tools/ @henryiii
 6 | /pybind11/ @henryiii
 7 | noxfile.py @henryiii
 8 | .clang-format @henryiii
 9 | .clang-tidy @henryiii
10 | 


--------------------------------------------------------------------------------
/wrap/pybind11/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 |   - name: Ask a question
4 |     url: https://github.com/pybind/pybind11/discussions/new
5 |     about: Please ask and answer questions here, or propose new ideas.
6 |   - name: Gitter room
7 |     url: https://gitter.im/pybind/Lobby
8 |     about: A room for discussing pybind11 with an active community
9 | 


--------------------------------------------------------------------------------
/wrap/pybind11/.github/labeler.yml:
--------------------------------------------------------------------------------
 1 | docs:
 2 |   all:
 3 |     - changed-files:
 4 |       - all-globs-to-all-files:
 5 |         - '!docs/changelog.rst'
 6 |         - '!docs/upgrade.rst'
 7 |     - base-branch: "^(?!dependabot).*"
 8 |     - base-branch: "^(?!pre-commit-ci).*"
 9 | 
10 | ci:
11 |   - changed-files:
12 |     - any-glob-to-any-file:
13 |       - '.github/workflows/*.yml'
14 | 


--------------------------------------------------------------------------------
/wrap/pybind11/.github/labeler_merged.yml:
--------------------------------------------------------------------------------
1 | # Add 'needs changelog` label to any change to code files as long as the `CHANGELOG` hasn't changed
2 | # Skip dependabot and pre-commit-ci PRs
3 | needs changelog:
4 |   - all:
5 |       - changed-files:
6 |           - all-globs-to-all-files: "!docs/changelog.rst"
7 |       - base-branch: "^(?!dependabot).*"
8 |       - base-branch: "^(?!pre-commit-ci).*"
9 | 


--------------------------------------------------------------------------------
/wrap/pybind11/.readthedocs.yml:
--------------------------------------------------------------------------------
 1 | # https://blog.readthedocs.com/migrate-configuration-v2/
 2 | 
 3 | version: 2
 4 | 
 5 | build:
 6 |   os: ubuntu-22.04
 7 |   apt_packages:
 8 |     - librsvg2-bin
 9 |   tools:
10 |     python: "3.11"
11 | 
12 | sphinx:
13 |   configuration: docs/conf.py
14 | 
15 | python:
16 |   install:
17 |   - requirements: docs/requirements.txt
18 | 
19 | formats:
20 |   - pdf
21 | 


--------------------------------------------------------------------------------
/wrap/pybind11/MANIFEST.in:
--------------------------------------------------------------------------------
1 | prune tests
2 | recursive-include pybind11/include/pybind11 *.h
3 | recursive-include pybind11 *.py
4 | recursive-include pybind11 py.typed
5 | include pybind11/share/cmake/pybind11/*.cmake
6 | include LICENSE README.rst SECURITY.md pyproject.toml setup.py setup.cfg
7 | 


--------------------------------------------------------------------------------
/wrap/pybind11/docs/_static/css/custom.css:
--------------------------------------------------------------------------------
1 | .highlight .go {
2 |   color: #707070;
3 | }
4 | 


--------------------------------------------------------------------------------
/wrap/pybind11/docs/advanced/pycpp/index.rst:
--------------------------------------------------------------------------------
 1 | Python C++ interface
 2 | ####################
 3 | 
 4 | pybind11 exposes Python types and functions using thin C++ wrappers, which
 5 | makes it possible to conveniently call Python code from C++ without resorting
 6 | to Python's C API.
 7 | 
 8 | .. toctree::
 9 |    :maxdepth: 2
10 | 
11 |    object
12 |    numpy
13 |    utilities
14 | 


--------------------------------------------------------------------------------
/wrap/pybind11/docs/cmake/index.rst:
--------------------------------------------------------------------------------
1 | CMake helpers
2 | -------------
3 | 
4 | Pybind11 can be used with ``add_subdirectory(extern/pybind11)``, or from an
5 | install with ``find_package(pybind11 CONFIG)``. The interface provided in
6 | either case is functionally identical.
7 | 
8 | .. cmake-module:: ../../tools/pybind11Config.cmake.in
9 | 


--------------------------------------------------------------------------------
/wrap/pybind11/docs/pybind11-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/wrap/pybind11/docs/pybind11-logo.png


--------------------------------------------------------------------------------
/wrap/pybind11/docs/pybind11_vs_boost_python1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/wrap/pybind11/docs/pybind11_vs_boost_python1.png


--------------------------------------------------------------------------------
/wrap/pybind11/docs/pybind11_vs_boost_python2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/wrap/pybind11/docs/pybind11_vs_boost_python2.png


--------------------------------------------------------------------------------
/wrap/pybind11/docs/requirements.in:
--------------------------------------------------------------------------------
1 | breathe
2 | furo
3 | sphinx
4 | sphinx-copybutton
5 | sphinxcontrib-moderncmakedomain
6 | sphinxcontrib-svg2pdfconverter
7 | 


--------------------------------------------------------------------------------
/wrap/pybind11/include/pybind11/common.h:
--------------------------------------------------------------------------------
1 | #include "detail/common.h"
2 | #warning "Including 'common.h' is deprecated. It will be removed in v3.0. Use 'pybind11.h'."
3 | 


--------------------------------------------------------------------------------
/wrap/pybind11/pybind11/_version.py:
--------------------------------------------------------------------------------
 1 | from __future__ import annotations
 2 | 
 3 | 
 4 | def _to_int(s: str) -> int | str:
 5 |     try:
 6 |         return int(s)
 7 |     except ValueError:
 8 |         return s
 9 | 
10 | 
11 | __version__ = "2.13.6"
12 | version_info = tuple(_to_int(s) for s in __version__.split("."))
13 | 


--------------------------------------------------------------------------------
/wrap/pybind11/pybind11/py.typed:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/wrap/pybind11/pybind11/py.typed


--------------------------------------------------------------------------------
/wrap/pybind11/tests/extra_python_package/pytest.ini:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/wrap/pybind11/tests/extra_python_package/pytest.ini


--------------------------------------------------------------------------------
/wrap/pybind11/tests/extra_setuptools/pytest.ini:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/borglab/gtsam/b6675f54d63582cf33bf1662bfb76f7eff02933f/wrap/pybind11/tests/extra_setuptools/pytest.ini


--------------------------------------------------------------------------------
/wrap/pybind11/tests/test_cmake_build/main.cpp:
--------------------------------------------------------------------------------
1 | #include <pybind11/pybind11.h>
2 | namespace py = pybind11;
3 | 
4 | PYBIND11_MODULE(test_cmake_build, m, py::mod_gil_not_used()) {
5 |     m.def("add", [](int i, int j) { return i + j; });
6 | }
7 | 


--------------------------------------------------------------------------------
/wrap/pybind11/tests/test_cmake_build/test.py:
--------------------------------------------------------------------------------
 1 | from __future__ import annotations
 2 | 
 3 | import sys
 4 | 
 5 | import test_cmake_build
 6 | 
 7 | assert isinstance(__file__, str)  # Test this is properly set
 8 | 
 9 | assert test_cmake_build.add(1, 2) == 3
10 | print(f"{sys.argv[1]} imports, runs, and adds: 1 + 2 = 3")
11 | 


--------------------------------------------------------------------------------
/wrap/pybind11/tests/test_embed/test_interpreter.py:
--------------------------------------------------------------------------------
 1 | from __future__ import annotations
 2 | 
 3 | import sys
 4 | 
 5 | from widget_module import Widget
 6 | 
 7 | 
 8 | class DerivedWidget(Widget):
 9 |     def __init__(self, message):
10 |         super().__init__(message)
11 | 
12 |     def the_answer(self):
13 |         return 42
14 | 
15 |     def argv0(self):
16 |         return sys.argv[0]
17 | 


--------------------------------------------------------------------------------
/wrap/pybind11/tests/test_eval_call.py:
--------------------------------------------------------------------------------
1 | # This file is called from 'test_eval.py'
2 | from __future__ import annotations
3 | 
4 | if "call_test2" in locals():
5 |     call_test2(y)  # noqa: F821 undefined name
6 | 


--------------------------------------------------------------------------------
/wrap/pybind11/tests/test_union.py:
--------------------------------------------------------------------------------
 1 | from __future__ import annotations
 2 | 
 3 | from pybind11_tests import union_ as m
 4 | 
 5 | 
 6 | def test_union():
 7 |     instance = m.TestUnion()
 8 | 
 9 |     instance.as_uint = 10
10 |     assert instance.as_int == 10
11 | 


--------------------------------------------------------------------------------
/wrap/pybind11/tests/test_unnamed_namespace_b.py:
--------------------------------------------------------------------------------
1 | from __future__ import annotations
2 | 
3 | from pybind11_tests import unnamed_namespace_b as m
4 | 
5 | 
6 | def test_have_attr_any_struct():
7 |     assert hasattr(m, "unnamed_namespace_b_any_struct")
8 | 


--------------------------------------------------------------------------------
/wrap/pybind11/tools/pybind11.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@prefix_for_pc_file@
2 | includedir=@includedir_for_pc_file@
3 | 
4 | Name: @PROJECT_NAME@
5 | Description: Seamless operability between C++11 and Python
6 | Version: @PROJECT_VERSION@
7 | Cflags: -I${includedir}
8 | 


--------------------------------------------------------------------------------
/wrap/pybind11/tools/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["setuptools>=42", "wheel"]
3 | build-backend = "setuptools.build_meta"
4 | 


--------------------------------------------------------------------------------
/wrap/requirements.txt:
--------------------------------------------------------------------------------
1 | pyparsing==3.1.1
2 | pytest>=6.2.4
3 | 


--------------------------------------------------------------------------------
/wrap/sphinx/index.rst:
--------------------------------------------------------------------------------
 1 | pybind_wrapper Documentation
 2 | ============================
 3 | 
 4 | Contents:
 5 | 
 6 | .. toctree::
 7 |    :maxdepth: 2
 8 | 
 9 |    wrap
10 | 
11 | 


--------------------------------------------------------------------------------
/wrap/sphinx/wrap.rst:
--------------------------------------------------------------------------------
1 | .. automodule:: python_example
2 | 


--------------------------------------------------------------------------------
/wrap/templates/matlab_wrapper.tpl.in:
--------------------------------------------------------------------------------
1 | #include <${GTWRAP_INCLUDE_NAME}/matlab.h>
2 | #include <map>
3 | 


--------------------------------------------------------------------------------
/wrap/tests/.gitignore:
--------------------------------------------------------------------------------
1 | actual/**
2 | 


--------------------------------------------------------------------------------
/wrap/tests/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | gtsamAddTestsGlob(wrap "test*.cpp" "" "wrap_lib")
2 | 


--------------------------------------------------------------------------------
/wrap/tests/actual/.gitignore:
--------------------------------------------------------------------------------
1 | ./*
2 | !.gitignore
3 | 


--------------------------------------------------------------------------------
/wrap/tests/expected/matlab/+Pet/Kind.m:
--------------------------------------------------------------------------------
1 | classdef Kind < uint32
2 |     enumeration
3 |         Dog(0)
4 |         Cat(1)
5 |     end
6 | end
7 | 


--------------------------------------------------------------------------------
/wrap/tests/expected/matlab/+gtsam/+MCU/Avengers.m:
--------------------------------------------------------------------------------
 1 | classdef Avengers < uint32
 2 |     enumeration
 3 |         CaptainAmerica(0)
 4 |         IronMan(1)
 5 |         Hulk(2)
 6 |         Hawkeye(3)
 7 |         Thor(4)
 8 |     end
 9 | end
10 | 


--------------------------------------------------------------------------------
/wrap/tests/expected/matlab/+gtsam/+MCU/GotG.m:
--------------------------------------------------------------------------------
 1 | classdef GotG < uint32
 2 |     enumeration
 3 |         Starlord(0)
 4 |         Gamorra(1)
 5 |         Rocket(2)
 6 |         Drax(3)
 7 |         Groot(4)
 8 |     end
 9 | end
10 | 


--------------------------------------------------------------------------------
/wrap/tests/expected/matlab/+gtsam/+OptimizerGaussNewtonParams/Verbosity.m:
--------------------------------------------------------------------------------
1 | classdef Verbosity < uint32
2 |     enumeration
3 |         SILENT(0)
4 |         SUMMARY(1)
5 |         VERBOSE(2)
6 |     end
7 | end
8 | 


--------------------------------------------------------------------------------
/wrap/tests/expected/matlab/+gtsam/VerbosityLM.m:
--------------------------------------------------------------------------------
 1 | classdef VerbosityLM < uint32
 2 |     enumeration
 3 |         SILENT(0)
 4 |         SUMMARY(1)
 5 |         TERMINATION(2)
 6 |         LAMBDA(3)
 7 |         TRYLAMBDA(4)
 8 |         TRYCONFIG(5)
 9 |         DAMPED(6)
10 |         TRYDELTA(7)
11 |     end
12 | end
13 | 


--------------------------------------------------------------------------------
/wrap/tests/expected/matlab/+ns1/aGlobalFunction.m:
--------------------------------------------------------------------------------
1 | function varargout = aGlobalFunction(varargin)
2 |       if length(varargin) == 0
3 |         varargout{1} = namespaces_wrapper(6, varargin{:});
4 |       else
5 |         error('Arguments do not match any overload of function aGlobalFunction');
6 |       end
7 | end
8 | 


--------------------------------------------------------------------------------
/wrap/tests/expected/matlab/+ns2/aGlobalFunction.m:
--------------------------------------------------------------------------------
1 | function varargout = aGlobalFunction(varargin)
2 |       if length(varargin) == 0
3 |         varargout{1} = namespaces_wrapper(20, varargin{:});
4 |       else
5 |         error('Arguments do not match any overload of function aGlobalFunction');
6 |       end
7 | end
8 | 


--------------------------------------------------------------------------------
/wrap/tests/expected/matlab/Color.m:
--------------------------------------------------------------------------------
1 | classdef Color < uint32
2 |     enumeration
3 |         Red(0)
4 |         Green(1)
5 |         Blue(2)
6 |     end
7 | end
8 | 


--------------------------------------------------------------------------------
/wrap/tests/expected/matlab/TemplatedFunctionRot3.m:
--------------------------------------------------------------------------------
1 | function varargout = TemplatedFunctionRot3(varargin)
2 |       if length(varargin) == 1 && isa(varargin{1},'gtsam.Rot3')
3 |         functions_wrapper(26, varargin{:});
4 |       else
5 |         error('Arguments do not match any overload of function TemplatedFunctionRot3');
6 |       end
7 | end
8 | 


--------------------------------------------------------------------------------
/wrap/tests/expected/matlab/aGlobalFunction.m:
--------------------------------------------------------------------------------
1 | function varargout = aGlobalFunction(varargin)
2 |       if length(varargin) == 0
3 |         varargout{1} = functions_wrapper(3, varargin{:});
4 |       else
5 |         error('Arguments do not match any overload of function aGlobalFunction');
6 |       end
7 | end
8 | 


--------------------------------------------------------------------------------
/wrap/tests/expected/matlab/setPose.m:
--------------------------------------------------------------------------------
 1 | function varargout = setPose(varargin)
 2 |       if length(varargin) == 1 && isa(varargin{1},'gtsam.Pose3')
 3 |         functions_wrapper(23, varargin{:});
 4 |       elseif length(varargin) == 0
 5 |         functions_wrapper(24, varargin{:});
 6 |       else
 7 |         error('Arguments do not match any overload of function setPose');
 8 |       end
 9 | end
10 | 


--------------------------------------------------------------------------------
/wrap/tests/fixtures/part1.i:
--------------------------------------------------------------------------------
 1 | // First file to test for multi-file support.
 2 | 
 3 | namespace gtsam {
 4 | class Class1 {
 5 |   Class1();
 6 | };
 7 | 
 8 | class Class2 {
 9 |   Class2();
10 | };
11 | }  // namespace gtsam


--------------------------------------------------------------------------------
/wrap/tests/fixtures/part2.i:
--------------------------------------------------------------------------------
1 | // Second file to test for multi-file support.
2 | 
3 | namespace gtsam {
4 | class ClassA {
5 |   ClassA();
6 | };
7 | }  // namespace gtsam


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


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


--------------------------------------------------------------------------------