├── MCVO
├── .vscode
│ └── settings.json
├── CMakeLists.txt
├── cmake
│ ├── FindEigen.cmake
│ ├── FindGflags.cmake
│ ├── FindGlog.cmake
│ └── FindTBB.cmake
├── config
│ ├── 05mask.jpg
│ ├── 06mask.jpg
│ ├── KITTI360
│ │ ├── KITTI360.yaml
│ │ └── cameras
│ │ │ ├── camera_00.yaml
│ │ │ ├── camera_01.yaml
│ │ │ ├── camera_02.yaml
│ │ │ └── camera_03.yaml
│ ├── M2DGR
│ │ ├── M2DGR.yaml
│ │ └── cameras
│ │ │ ├── camera_00.yaml
│ │ │ ├── camera_01.yaml
│ │ │ ├── camera_02.yaml
│ │ │ ├── camera_03.yaml
│ │ │ ├── camera_04.yaml
│ │ │ └── camera_05.yaml
│ ├── MCVO
│ │ ├── MCVO_estimator.yaml
│ │ ├── MCVO_frontend.yaml
│ │ ├── MCVO_frontend_lidar.yaml
│ │ ├── cam360
│ │ │ ├── cam_0.yaml
│ │ │ └── cam_1.yaml
│ │ ├── fisheye_mask.jpg
│ │ └── ugv
│ │ │ ├── camera_1.yaml
│ │ │ ├── cmu_rc2_cam1_debug.yaml
│ │ │ └── fisheye_mask_640x480.png
│ ├── MCdata
│ │ ├── MCdata_NOV_Ground.yaml
│ │ ├── MCdata_NOV_Lab.yaml
│ │ ├── MCdata_NOV_Lab1.yaml
│ │ ├── MCdata_copy.yaml
│ │ └── cameras
│ │ │ ├── camera_00.yaml
│ │ │ ├── camera_01.yaml
│ │ │ ├── camera_02.yaml
│ │ │ ├── camera_03.yaml
│ │ │ ├── camera_04.yaml
│ │ │ ├── camera_05.yaml
│ │ │ └── camera_06.yaml
│ ├── NCLT
│ │ ├── NCLT.yaml
│ │ └── cameras
│ │ │ ├── camera_00.yaml
│ │ │ ├── camera_01.yaml
│ │ │ ├── camera_02.yaml
│ │ │ ├── camera_03.yaml
│ │ │ ├── camera_04.yaml
│ │ │ └── camera_05.yaml
│ ├── camera_info.yaml
│ ├── champ
│ │ ├── NVIDIA_ISAAC_cam.yaml
│ │ ├── champ_estimator.yaml
│ │ └── champ_view.rviz
│ ├── create_mask.py
│ ├── fisheye_mask.jpg
│ ├── fisheye_mask_02.png
│ ├── fisheye_mask_03.png
│ ├── fisheye_mask_640x480.png
│ ├── fisheye_mask_752x480.jpg
│ ├── fisheye_mask_cam0.png
│ ├── fisheye_mask_cam1.png
│ ├── fisheye_mask_cam1_half.png
│ ├── hilti_challange
│ │ ├── cameras
│ │ │ ├── cam0.yaml
│ │ │ ├── cam1.yaml
│ │ │ ├── cam2.yaml
│ │ │ ├── cam3.yaml
│ │ │ └── cam4.yaml
│ │ ├── hilti_challange.yaml
│ │ └── hilti_view.rviz
│ ├── initial.png
│ ├── realsense
│ │ ├── velodyne16_cmu_drone.yaml
│ │ ├── velodyne16_cmu_drone_latest.yaml
│ │ └── velodyne16_color.yaml
│ ├── uav360
│ │ ├── cameras
│ │ │ ├── camera_00.yaml
│ │ │ ├── camera_01.yaml
│ │ │ ├── camera_02.yaml
│ │ │ └── camera_03.yaml
│ │ └── uav360.yaml
│ ├── ugv
│ │ ├── .rc_car_cam1.yaml.swp
│ │ ├── cmu_rc1_cam1.yaml
│ │ ├── cmu_rc1_cam1_debug.yaml
│ │ ├── cmu_rc1_cam1_half_imagesize.yaml
│ │ ├── cmu_rc2_cam1_debug.yaml
│ │ ├── cmu_rc2_cam1_half_imagesize.yaml
│ │ ├── cmu_sp1_cam1.yaml
│ │ ├── cmu_sp1_cam1_half_imagesize.yaml
│ │ ├── mmpug_rc1_cam1_half_imagesize.yaml
│ │ ├── mono1_config.yaml
│ │ └── multiVIO.yaml
│ └── violoam.rviz
├── launch
│ ├── KITTI360.launch
│ ├── KITTI360.rviz
│ ├── M2DGR.launch
│ ├── MCVO_VIEW.rviz
│ ├── MCVO_estimator.launch
│ ├── MCVO_frontend.launch
│ ├── MCdata.launch
│ ├── MCdata.rviz
│ ├── NCLT.launch
│ ├── champ
│ │ └── champ_estimator.launch
│ ├── hilti_challange
│ │ └── hilti_challange.launch
│ ├── hilti_view.rviz
│ ├── vins_combined2.rviz
│ └── vins_rviz.launch
├── package.xml
├── src
│ ├── Estimator
│ │ ├── MCVOestimator.cpp
│ │ ├── MCVOestimator.h
│ │ ├── MCVOfeature_manager.cpp
│ │ ├── MCVOfeature_manager.h
│ │ ├── factor
│ │ │ ├── FrameParameterization.cpp
│ │ │ ├── FrameParameterization.h
│ │ │ ├── SE3AbsolutatePoseFactor.cpp
│ │ │ ├── SE3AbsolutatePoseFactor.h
│ │ │ ├── SE3RelativtePoseFactor.cpp
│ │ │ ├── SE3RelativtePoseFactor.h
│ │ │ ├── imu_factor.h
│ │ │ ├── integration_base.h
│ │ │ ├── marginalization_factor.cpp
│ │ │ ├── marginalization_factor.h
│ │ │ ├── pose_local_parameterization.cpp
│ │ │ ├── pose_local_parameterization.h
│ │ │ ├── projection_factor.cpp
│ │ │ ├── projection_factor.h
│ │ │ ├── projection_mc_factor.cpp
│ │ │ ├── projection_mc_factor.h
│ │ │ ├── projection_td_factor.cpp
│ │ │ └── projection_td_factor.h
│ │ ├── initial
│ │ │ ├── alignment_factor.cpp
│ │ │ ├── alignment_factor.h
│ │ │ ├── initial_aligment.cpp
│ │ │ ├── initial_alignment.h
│ │ │ ├── initial_ex_rotation.cpp
│ │ │ ├── initial_ex_rotation.h
│ │ │ ├── initial_sfm.cpp
│ │ │ ├── initial_sfm.h
│ │ │ ├── solve_5pts.cpp
│ │ │ └── solve_5pts.h
│ │ ├── parameters.cpp
│ │ └── parameters.h
│ ├── Frontend
│ │ ├── MCVOfrontend.cpp
│ │ ├── MCVOfrontend.h
│ │ ├── MCVOfrontend_data.h
│ │ ├── feature_tracker
│ │ │ ├── ORBextractor
│ │ │ │ ├── ORBextractor.cc
│ │ │ │ └── ORBextractor.h
│ │ │ ├── ORBfeature_tracker.cpp
│ │ │ ├── ORBfeature_tracker.h
│ │ │ ├── SPHORB
│ │ │ │ ├── Data
│ │ │ │ │ ├── geoinfo102.pfm
│ │ │ │ │ ├── geoinfo128.pfm
│ │ │ │ │ ├── geoinfo162.pfm
│ │ │ │ │ ├── geoinfo204.pfm
│ │ │ │ │ ├── geoinfo256.pfm
│ │ │ │ │ ├── geoinfo64.pfm
│ │ │ │ │ ├── geoinfo80.pfm
│ │ │ │ │ ├── imginfo102_0.pfm
│ │ │ │ │ ├── imginfo102_1.pfm
│ │ │ │ │ ├── imginfo102_2.pfm
│ │ │ │ │ ├── imginfo102_3.pfm
│ │ │ │ │ ├── imginfo102_4.pfm
│ │ │ │ │ ├── imginfo128_0.pfm
│ │ │ │ │ ├── imginfo128_1.pfm
│ │ │ │ │ ├── imginfo128_2.pfm
│ │ │ │ │ ├── imginfo128_3.pfm
│ │ │ │ │ ├── imginfo128_4.pfm
│ │ │ │ │ ├── imginfo162_0.pfm
│ │ │ │ │ ├── imginfo162_1.pfm
│ │ │ │ │ ├── imginfo162_2.pfm
│ │ │ │ │ ├── imginfo162_3.pfm
│ │ │ │ │ ├── imginfo162_4.pfm
│ │ │ │ │ ├── imginfo204_0.pfm
│ │ │ │ │ ├── imginfo204_1.pfm
│ │ │ │ │ ├── imginfo204_2.pfm
│ │ │ │ │ ├── imginfo204_3.pfm
│ │ │ │ │ ├── imginfo204_4.pfm
│ │ │ │ │ ├── imginfo256_0.pfm
│ │ │ │ │ ├── imginfo256_1.pfm
│ │ │ │ │ ├── imginfo256_2.pfm
│ │ │ │ │ ├── imginfo256_3.pfm
│ │ │ │ │ ├── imginfo256_4.pfm
│ │ │ │ │ ├── imginfo64_0.pfm
│ │ │ │ │ ├── imginfo64_1.pfm
│ │ │ │ │ ├── imginfo64_2.pfm
│ │ │ │ │ ├── imginfo64_3.pfm
│ │ │ │ │ ├── imginfo64_4.pfm
│ │ │ │ │ ├── imginfo80_0.pfm
│ │ │ │ │ ├── imginfo80_1.pfm
│ │ │ │ │ ├── imginfo80_2.pfm
│ │ │ │ │ ├── imginfo80_3.pfm
│ │ │ │ │ ├── imginfo80_4.pfm
│ │ │ │ │ ├── mask102.bmp
│ │ │ │ │ ├── mask128.bmp
│ │ │ │ │ ├── mask162.bmp
│ │ │ │ │ ├── mask204.bmp
│ │ │ │ │ ├── mask256.bmp
│ │ │ │ │ ├── mask64.bmp
│ │ │ │ │ └── mask80.bmp
│ │ │ │ ├── SPHORB.cpp
│ │ │ │ ├── detector.cpp
│ │ │ │ ├── include
│ │ │ │ │ ├── SPHORB.h
│ │ │ │ │ ├── detector.h
│ │ │ │ │ ├── pfm.h
│ │ │ │ │ └── utility.h
│ │ │ │ ├── nonmax.cpp
│ │ │ │ ├── pfm.cpp
│ │ │ │ └── utility.cpp
│ │ │ ├── SPHORBfeature_tracker.cpp
│ │ │ ├── SPHORBfeature_tracker.h
│ │ │ ├── Superpoint_tracker.cpp
│ │ │ ├── Superpoint_tracker.h
│ │ │ ├── feature_tracker.cpp
│ │ │ ├── feature_tracker.h
│ │ │ ├── super_include
│ │ │ │ ├── SuperGlue.cpp
│ │ │ │ ├── SuperGlue.hpp
│ │ │ │ ├── SuperPoint.cpp
│ │ │ │ ├── SuperPoint.hpp
│ │ │ │ ├── Utility.hpp
│ │ │ │ └── torch_cpp.hpp
│ │ │ ├── trackerbase.cpp
│ │ │ ├── trackerbase.h
│ │ │ ├── vpi_feature_tracker.cpp
│ │ │ └── vpi_feature_tracker.h
│ │ ├── lidar.cpp
│ │ ├── sensors.cpp
│ │ └── sensors.h
│ ├── MCVOestimator_node.cpp
│ ├── Utils
│ │ └── EigenTypes.h
│ ├── test_main.cpp
│ ├── types.h
│ └── utility
│ │ ├── CameraPoseVisualization.cpp
│ │ ├── CameraPoseVisualization.h
│ │ ├── MapRingBuffer.h
│ │ ├── Twist.h
│ │ ├── sophus_utils.hpp
│ │ ├── tic_toc.h
│ │ ├── utility.cpp
│ │ ├── utility.h
│ │ ├── visualization.cpp
│ │ └── visualization.h
└── thirdparty
│ ├── Sophus
│ ├── .clang-format
│ ├── .gitignore
│ ├── .travis.yml
│ ├── CMakeLists.txt
│ ├── LICENSE.txt
│ ├── README.rst
│ ├── SophusConfig.cmake.in
│ ├── appveyor.yml
│ ├── cmake_modules
│ │ └── FindEigen3.cmake
│ ├── py
│ │ ├── cpp_gencode
│ │ │ ├── Se2_Dx_exp_x.cpp
│ │ │ ├── Se2_Dx_this_mul_exp_x_at_0.cpp
│ │ │ ├── Se3_Dx_exp_x.cpp
│ │ │ ├── Se3_Dx_this_mul_exp_x_at_0.cpp
│ │ │ ├── So2_Dx_exp_x.cpp
│ │ │ ├── So2_Dx_this_mul_exp_x_at_0.cpp
│ │ │ ├── So3_Dx_exp_x.cpp
│ │ │ └── So3_Dx_this_mul_exp_x_at_0.cpp
│ │ ├── run_tests.sh
│ │ └── sophus
│ │ │ ├── __init__.py
│ │ │ ├── complex.py
│ │ │ ├── cse_codegen.py
│ │ │ ├── dual_quaternion.py
│ │ │ ├── matrix.py
│ │ │ ├── quaternion.py
│ │ │ ├── se2.py
│ │ │ ├── se3.py
│ │ │ ├── so2.py
│ │ │ ├── so3.py
│ │ │ └── so3_codegen.py
│ ├── run_format.sh
│ ├── scripts
│ │ ├── install_linux_deps.sh
│ │ ├── install_osx_deps.sh
│ │ └── run_cpp_tests.sh
│ └── sophus
│ │ ├── average.hpp
│ │ ├── common.hpp
│ │ ├── example_ensure_handler.cpp
│ │ ├── geometry.hpp
│ │ ├── interpolate.hpp
│ │ ├── interpolate_details.hpp
│ │ ├── num_diff.hpp
│ │ ├── rotation_matrix.hpp
│ │ ├── rxso2.hpp
│ │ ├── rxso3.hpp
│ │ ├── se2.hpp
│ │ ├── se3.hpp
│ │ ├── sim2.hpp
│ │ ├── sim3.hpp
│ │ ├── sim_details.hpp
│ │ ├── so2.hpp
│ │ ├── so3.hpp
│ │ ├── test_macros.hpp
│ │ ├── types.hpp
│ │ └── velocities.hpp
│ └── eigen
│ ├── .hgeol
│ ├── .hgignore
│ ├── .hgtags
│ ├── CMakeLists.txt
│ ├── COPYING.BSD
│ ├── COPYING.GPL
│ ├── COPYING.LGPL
│ ├── COPYING.MINPACK
│ ├── COPYING.MPL2
│ ├── COPYING.README
│ ├── CTestConfig.cmake
│ ├── CTestCustom.cmake.in
│ ├── Eigen
│ ├── CMakeLists.txt
│ ├── Cholesky
│ ├── CholmodSupport
│ ├── Core
│ ├── Dense
│ ├── Eigen
│ ├── Eigenvalues
│ ├── Geometry
│ ├── Householder
│ ├── IterativeLinearSolvers
│ ├── Jacobi
│ ├── 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
│ │ ├── 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
│ │ ├── Inverse.h
│ │ ├── Map.h
│ │ ├── MapBase.h
│ │ ├── MathFunctions.h
│ │ ├── MathFunctionsImpl.h
│ │ ├── Matrix.h
│ │ ├── MatrixBase.h
│ │ ├── NestByValue.h
│ │ ├── NoAlias.h
│ │ ├── NumTraits.h
│ │ ├── PermutationMatrix.h
│ │ ├── PlainObjectBase.h
│ │ ├── Product.h
│ │ ├── ProductEvaluators.h
│ │ ├── Random.h
│ │ ├── Redux.h
│ │ ├── Ref.h
│ │ ├── Replicate.h
│ │ ├── ReturnByValue.h
│ │ ├── Reverse.h
│ │ ├── Select.h
│ │ ├── SelfAdjointView.h
│ │ ├── SelfCwiseBinaryOp.h
│ │ ├── Solve.h
│ │ ├── SolveTriangular.h
│ │ ├── SolverBase.h
│ │ ├── StableNorm.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
│ │ │ │ ├── MathFunctions.h
│ │ │ │ └── PacketMath.h
│ │ │ ├── AltiVec
│ │ │ │ ├── Complex.h
│ │ │ │ ├── MathFunctions.h
│ │ │ │ └── PacketMath.h
│ │ │ ├── CUDA
│ │ │ │ ├── Complex.h
│ │ │ │ ├── Half.h
│ │ │ │ ├── MathFunctions.h
│ │ │ │ ├── PacketMath.h
│ │ │ │ ├── PacketMathHalf.h
│ │ │ │ └── TypeCasting.h
│ │ │ ├── Default
│ │ │ │ ├── ConjHelper.h
│ │ │ │ └── Settings.h
│ │ │ ├── NEON
│ │ │ │ ├── Complex.h
│ │ │ │ ├── MathFunctions.h
│ │ │ │ └── PacketMath.h
│ │ │ ├── SSE
│ │ │ │ ├── Complex.h
│ │ │ │ ├── MathFunctions.h
│ │ │ │ ├── PacketMath.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
│ │ │ ├── Constants.h
│ │ │ ├── DisableStupidWarnings.h
│ │ │ ├── ForwardDeclarations.h
│ │ │ ├── MKL_support.h
│ │ │ ├── Macros.h
│ │ │ ├── Memory.h
│ │ │ ├── Meta.h
│ │ │ ├── NonMPL2.h
│ │ │ ├── ReenableStupidWarnings.h
│ │ │ ├── StaticAssert.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_SSE.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
│ │ ├── LU
│ │ ├── Determinant.h
│ │ ├── FullPivLU.h
│ │ ├── InverseImpl.h
│ │ ├── PartialPivLU.h
│ │ ├── PartialPivLU_LAPACKE.h
│ │ └── arch
│ │ │ └── Inverse_SSE.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
│ │ ├── MatrixCwiseBinaryOps.h
│ │ └── MatrixCwiseUnaryOps.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_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
│ │ └── gemm
│ │ │ ├── changesets.txt
│ │ │ ├── gemm.cpp
│ │ │ ├── gemm_settings.txt
│ │ │ ├── lazy_gemm.cpp
│ │ │ ├── lazy_gemm_settings.txt
│ │ │ ├── make_plot.sh
│ │ │ └── run.sh
│ ├── 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
│ │ ├── tensor_benchmarks.h
│ │ ├── tensor_benchmarks_cpu.cc
│ │ ├── tensor_benchmarks_fp16_gpu.cu
│ │ ├── tensor_benchmarks_gpu.cu
│ │ └── tensor_benchmarks_sycl.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
│ ├── cmake
│ ├── Eigen3Config.cmake.in
│ ├── Eigen3ConfigLegacy.cmake.in
│ ├── EigenConfigureTesting.cmake
│ ├── EigenDetermineOSVersion.cmake
│ ├── EigenDetermineVSServicePack.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
│ ├── FindLAPACK.cmake
│ ├── FindMPFR.cmake
│ ├── FindMetis.cmake
│ ├── FindPTSCOTCH.cmake
│ ├── FindPastix.cmake
│ ├── FindSPQR.cmake
│ ├── FindScotch.cmake
│ ├── FindStandardMathLibrary.cmake
│ ├── FindSuperLU.cmake
│ ├── FindUmfpack.cmake
│ ├── RegexUtils.cmake
│ ├── UseEigen3.cmake
│ └── language_support.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
│ ├── A05_PortingFrom2To3.dox
│ ├── 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
│ ├── TutorialReshapeSlicing.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_FixedVectorBlock.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
│ │ ├── 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_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.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_computeInverseAndDetWithCheck.cpp
│ │ ├── MatrixBase_computeInverseWithCheck.cpp
│ │ ├── MatrixBase_cwiseAbs.cpp
│ │ ├── MatrixBase_cwiseAbs2.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_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_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
│ │ ├── 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
│ │ ├── 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_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
│ │ ├── 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
│ ├── 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
│ ├── release.in
│ └── relicense.py
│ ├── signature_of_eigen3_matrix_library
│ └── 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
│ │ │ ├── TensorBroadcasting.h
│ │ │ ├── TensorChipping.h
│ │ │ ├── TensorConcatenation.h
│ │ │ ├── TensorContraction.h
│ │ │ ├── TensorContractionBlocking.h
│ │ │ ├── TensorContractionCuda.h
│ │ │ ├── TensorContractionMapper.h
│ │ │ ├── TensorContractionThreadPool.h
│ │ │ ├── TensorConversion.h
│ │ │ ├── TensorConvolution.h
│ │ │ ├── TensorCostModel.h
│ │ │ ├── TensorCustomOp.h
│ │ │ ├── TensorDevice.h
│ │ │ ├── TensorDeviceCuda.h
│ │ │ ├── TensorDeviceDefault.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
│ │ │ ├── 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
│ │ │ ├── TensorReductionSycl.h
│ │ │ ├── TensorRef.h
│ │ │ ├── TensorReverse.h
│ │ │ ├── TensorScan.h
│ │ │ ├── TensorShuffling.h
│ │ │ ├── TensorStorage.h
│ │ │ ├── TensorStriding.h
│ │ │ ├── TensorSycl.h
│ │ │ ├── TensorSyclConvertToDeviceExpression.h
│ │ │ ├── TensorSyclExprConstructor.h
│ │ │ ├── TensorSyclExtractAccessor.h
│ │ │ ├── TensorSyclExtractFunctors.h
│ │ │ ├── TensorSyclLeafCount.h
│ │ │ ├── TensorSyclPlaceHolderExpr.h
│ │ │ ├── TensorSyclRun.h
│ │ │ ├── TensorSyclTuple.h
│ │ │ ├── TensorTraits.h
│ │ │ ├── TensorUInt128.h
│ │ │ └── TensorVolumePatch.h
│ │ │ ├── TensorSymmetry
│ │ │ ├── DynamicSymmetry.h
│ │ │ ├── StaticSymmetry.h
│ │ │ ├── Symmetry.h
│ │ │ └── util
│ │ │ │ └── TemplateGroupTheory.h
│ │ │ ├── ThreadPool
│ │ │ ├── EventCount.h
│ │ │ ├── NonBlockingThreadPool.h
│ │ │ ├── RunQueue.h
│ │ │ ├── SimpleThreadPool.h
│ │ │ ├── ThreadEnvironment.h
│ │ │ ├── ThreadLocal.h
│ │ │ ├── ThreadPoolInterface.h
│ │ │ └── ThreadYield.h
│ │ │ └── util
│ │ │ ├── CXX11Meta.h
│ │ │ ├── CXX11Workarounds.h
│ │ │ ├── EmulateArray.h
│ │ │ ├── EmulateCXX11Meta.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
│ │ ├── 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
│ │ ├── SpecialFunctionsArrayAPI.h
│ │ ├── SpecialFunctionsFunctors.h
│ │ ├── SpecialFunctionsHalf.h
│ │ ├── SpecialFunctionsImpl.h
│ │ ├── SpecialFunctionsPacketMath.h
│ │ └── arch
│ │ │ └── CUDA
│ │ │ └── CudaSpecialFunctions.h
│ │ └── Splines
│ │ ├── Spline.h
│ │ ├── SplineFitting.h
│ │ └── SplineFwd.h
│ ├── README.txt
│ ├── bench
│ └── bench_svd.cpp
│ └── doc
│ ├── CMakeLists.txt
│ ├── Overview.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
│ └── snippets
│ └── CMakeLists.txt
├── README.md
├── camera_model
├── CMakeLists.txt
├── cmake
│ └── FindEigen.cmake
├── include
│ └── camodocal
│ │ ├── calib
│ │ └── CameraCalibration.h
│ │ ├── camera_models
│ │ ├── Camera.h
│ │ ├── CameraFactory.h
│ │ ├── CataCamera.h
│ │ ├── CostFunctionFactory.h
│ │ ├── EquidistantCamera.h
│ │ ├── PinholeCamera.h
│ │ └── ScaramuzzaCamera.h
│ │ ├── chessboard
│ │ ├── Chessboard.h
│ │ ├── ChessboardCorner.h
│ │ ├── ChessboardQuad.h
│ │ └── Spline.h
│ │ ├── gpl
│ │ ├── EigenQuaternionParameterization.h
│ │ ├── EigenUtils.h
│ │ └── gpl.h
│ │ └── sparse_graph
│ │ └── Transform.h
├── instruction
├── package.xml
├── readme.md
└── src
│ ├── calib
│ └── CameraCalibration.cc
│ ├── camera_models
│ ├── Camera.cc
│ ├── CameraFactory.cc
│ ├── CataCamera.cc
│ ├── CostFunctionFactory.cc
│ ├── EquidistantCamera.cc
│ ├── PinholeCamera.cc
│ └── ScaramuzzaCamera.cc
│ ├── chessboard
│ └── Chessboard.cc
│ ├── gpl
│ ├── EigenQuaternionParameterization.cc
│ └── gpl.cc
│ ├── intrinsic_calib.cc
│ └── sparse_graph
│ └── Transform.cc
├── pose_graph
├── .vscode
│ └── settings.json
├── CMakeLists.txt
├── cmake
│ └── FindEigen.cmake
├── package.xml
└── src
│ ├── ThirdParty
│ ├── DBoW
│ │ ├── BowVector.cpp
│ │ ├── BowVector.h
│ │ ├── DBoW2.h
│ │ ├── FBrief.cpp
│ │ ├── FBrief.h
│ │ ├── FClass.h
│ │ ├── FeatureVector.cpp
│ │ ├── FeatureVector.h
│ │ ├── QueryResults.cpp
│ │ ├── QueryResults.h
│ │ ├── ScoringObject.cpp
│ │ ├── ScoringObject.h
│ │ ├── TemplatedDatabase.h
│ │ └── TemplatedVocabulary.h
│ ├── DUtils
│ │ ├── DException.h
│ │ ├── DUtils.h
│ │ ├── Random.cpp
│ │ ├── Random.h
│ │ ├── Timestamp.cpp
│ │ └── Timestamp.h
│ ├── DVision
│ │ ├── BRIEF.cpp
│ │ ├── BRIEF.h
│ │ └── DVision.h
│ ├── ORBextractor
│ │ ├── ORBextractor.cc
│ │ └── ORBextractor.h
│ ├── VocabularyBinary.cpp
│ └── VocabularyBinary.hpp
│ ├── keyframe.cpp
│ ├── keyframe.h
│ ├── parameters.h
│ ├── pose_graph.cpp
│ ├── pose_graph.h
│ ├── pose_graph_node.cpp
│ └── utility
│ ├── CameraPoseVisualization.cpp
│ ├── CameraPoseVisualization.h
│ ├── tic_toc.h
│ ├── utility.cpp
│ └── utility.h
└── support_files
├── brief_pattern.yml
└── paper_bib.txt
/MCVO/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "files.associations": {
3 | "core": "cpp",
4 | "*.evaluator": "cpp",
5 | "*.traits": "cpp",
6 | "bvh": "cpp",
7 | "eulerangles": "cpp",
8 | "fft": "cpp",
9 | "specialfunctions": "cpp"
10 | }
11 | }
--------------------------------------------------------------------------------
/MCVO/config/05mask.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/config/05mask.jpg
--------------------------------------------------------------------------------
/MCVO/config/06mask.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/config/06mask.jpg
--------------------------------------------------------------------------------
/MCVO/config/KITTI360/cameras/camera_00.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: image_00
4 | image_width: 1408
5 | image_height: 376
6 | mirror_parameters:
7 | xi: 2.2134047507854890e+00
8 | distortion_parameters:
9 | k1: -0.344441
10 | k2: 0.141678
11 | p1: 0.000414
12 | p2: -0.000222
13 | projection_parameters:
14 | fx: 552.554261
15 | fy: 552.554261
16 | cx: 682.049453
17 | cy: 238.769549
18 |
--------------------------------------------------------------------------------
/MCVO/config/KITTI360/cameras/camera_01.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: image_01
4 | image_width: 1408
5 | image_height: 376
6 | mirror_parameters:
7 | xi: 2.2134047507854890e+00
8 | distortion_parameters:
9 | k1: -0.353195
10 | k2: 0.161996
11 | p1: 0.000383
12 | p2: -0.000242
13 | projection_parameters:
14 | fx: 552.554261
15 | fy: 552.554261
16 | cx: 682.049453
17 | cy: 238.769549
--------------------------------------------------------------------------------
/MCVO/config/KITTI360/cameras/camera_02.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: MEI
3 | camera_name: image_02
4 | image_width: 1400
5 | image_height: 1400
6 | mirror_parameters:
7 | xi: 2.2134047507854890e+00
8 | distortion_parameters:
9 | k1: 1.6798235660113681e-02
10 | k2: 1.6548773243373522e+00
11 | p1: 4.2223943394772046e-04
12 | p2: 4.2462134260997584e-04
13 | projection_parameters:
14 | gamma1: 1.3363220825849971e+03
15 | gamma2: 1.3357883350012958e+03
16 | u0: 7.1694323510126321e+02
17 | v0: 7.0576498308221585e+02
--------------------------------------------------------------------------------
/MCVO/config/KITTI360/cameras/camera_03.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: MEI
3 | camera_name: image_03
4 | image_width: 1400
5 | image_height: 1400
6 | mirror_parameters:
7 | xi: 2.5535139132482758e+00
8 | distortion_parameters:
9 | k1: 4.9370396274089505e-02
10 | k2: 4.5068455478645308e+00
11 | p1: 1.3477698472982495e-03
12 | p2: -7.0340482615055284e-04
13 | projection_parameters:
14 | gamma1: 1.4854388981875156e+03
15 | gamma2: 1.4849477411748708e+03
16 | u0: 6.9888316784030962e+02
17 | v0: 6.9814541887723055e+02
18 |
--------------------------------------------------------------------------------
/MCVO/config/M2DGR/cameras/camera_00.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: KANNALA_BRANDT
3 | camera_name: image_00
4 | image_width: 1280
5 | image_height: 1024
6 | distortion_parameters:
7 | k2: -0.07015146608431883
8 | k3: 0.008586142263125124
9 | k4: -0.021968993685891842
10 | k5: 0.007442211946112636
11 | projection_parameters:
12 | mu: 540.645056202188
13 | mv: 539.8545023658869
14 | u0: 626.4125666883942
15 | v0: 523.947634226782
16 |
17 |
18 | # left
--------------------------------------------------------------------------------
/MCVO/config/M2DGR/cameras/camera_01.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: KANNALA_BRANDT
3 | camera_name: image_01
4 | image_width: 1280
5 | image_height: 1024
6 | distortion_parameters:
7 | k2: -0.07147685334620411
8 | k3: 0.006423830171528276
9 | k4: -0.02354604292216998
10 | k5: 0.009181757660952325
11 | projection_parameters:
12 | mu: 540.6832252229977
13 | mv: 539.3921307247979
14 | u0: 632.9173957218305
15 | v0: 503.3766864767991
16 |
17 |
18 | # right
19 |
--------------------------------------------------------------------------------
/MCVO/config/M2DGR/cameras/camera_02.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: KANNALA_BRANDT
3 | camera_name: image_02
4 | image_width: 1280
5 | image_height: 1024
6 | distortion_parameters:
7 | k2: -0.061526128889893804
8 | k3: -0.00867447574360461
9 | k4: -0.00984399833727642
10 | k5: 0.004810173767131135
11 | projection_parameters:
12 | mu: 538.3154329292029
13 | mv: 537.4277766778052
14 | u0: 632.4020370259001
15 | v0: 509.3609761132556
16 |
17 |
18 | # Cam-midleft8830
19 |
20 |
--------------------------------------------------------------------------------
/MCVO/config/M2DGR/cameras/camera_03.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: KANNALA_BRANDT
3 | camera_name: image_03
4 | image_width: 1280
5 | image_height: 1024
6 | distortion_parameters:
7 | k2: -0.06329338788105426
8 | k3: -0.005282288794043655
9 | k4: -0.01439687642303018
10 | k5: 0.006593296524853555
11 | projection_parameters:
12 | mu: 537.2294180909289
13 | mv: 536.6425889117285
14 | u0: 635.5687263167875
15 | v0: 491.9422582452684
16 |
17 | # Cam-midright 8827
18 |
19 |
--------------------------------------------------------------------------------
/MCVO/config/M2DGR/cameras/camera_04.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: KANNALA_BRANDT
3 | camera_name: image_04
4 | image_width: 1280
5 | image_height: 1024
6 | distortion_parameters:
7 | k2: -0.057504608980455875
8 | k3: -0.03555561603037192
9 | k4: 0.030555976552383957
10 | k5: -0.014358151534147164
11 | projection_parameters:
12 | mu: 539.834690518987
13 | mv: 538.7141533225924
14 | u0: 630.8171732844409
15 | v0: 501.86380820583685
16 |
17 | # Cam-backleft6450
18 |
--------------------------------------------------------------------------------
/MCVO/config/M2DGR/cameras/camera_05.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: KANNALA_BRANDT
3 | camera_name: image_05
4 | image_width: 1280
5 | image_height: 1024
6 | distortion_parameters:
7 | k2: -0.06681929469733765
8 | k3: -0.005533273650165602
9 | k4: -0.006167142895316966
10 | k5: 0.0018089751112068567
11 | projection_parameters:
12 | mu: 543.4124571628414
13 | mv: 542.2071506815953
14 | u0: 642.967852391304
15 | v0: 504.2993692252895
16 |
17 | # Cam-backright6548
18 |
--------------------------------------------------------------------------------
/MCVO/config/MCVO/cam360/cam_0.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 |
3 | #camera calibration
4 | model_type: MEI
5 | camera_name: camera
6 | image_width: 816
7 | image_height: 686
8 | mirror_parameters:
9 | xi: 1.7611304049140395
10 | distortion_parameters:
11 | k1: -0.11244081175224713
12 | k2: 0.15405016667491067
13 | p1: -0.00038031797429535443
14 | p2: -0.00010442241015034751
15 | projection_parameters:
16 | gamma1: 535.8572870329474
17 | gamma2: 536.7718044461199
18 | u0: 404.30409874398526
19 | v0: 334.09489788735095
--------------------------------------------------------------------------------
/MCVO/config/MCVO/cam360/cam_1.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: MEI
3 | camera_name: camera
4 | image_width: 816
5 | image_height: 686
6 | mirror_parameters:
7 | xi: 1.8075725317445792
8 | distortion_parameters:
9 | k1: -0.10312403240397729
10 | k2: 0.1922063596449809
11 | p1: 0.0003807523836658894
12 | p2: -0.0005500919525955383
13 | projection_parameters:
14 | gamma1: 547.8836937046682
15 | gamma2: 549.2551986948349
16 | u0: 413.04391004954954
17 | v0: 347.83565317286997
--------------------------------------------------------------------------------
/MCVO/config/MCVO/fisheye_mask.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/config/MCVO/fisheye_mask.jpg
--------------------------------------------------------------------------------
/MCVO/config/MCVO/ugv/camera_1.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: MEI
3 | camera_name: camera
4 | image_width: 640
5 | image_height: 480
6 | mirror_parameters:
7 | xi: 1.507983304667433
8 | distortion_parameters:
9 | k1: -0.07347781616721441
10 | k2: 0.24417387274492433
11 | p1: 0.0019232361081336904
12 | p2: 0.0014668219651531832
13 | projection_parameters:
14 | gamma1: 740.729341011609 #fx
15 | gamma2: 660.2628898817492 #fy
16 | u0: 319.6316274499249 #cx
17 | v0: 235.25773827438545 #cy
--------------------------------------------------------------------------------
/MCVO/config/MCVO/ugv/fisheye_mask_640x480.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/config/MCVO/ugv/fisheye_mask_640x480.png
--------------------------------------------------------------------------------
/MCVO/config/MCdata/cameras/camera_00.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: image_00
4 | image_width: 720
5 | image_height: 540
6 | distortion_parameters:
7 | k1: -0.21046072327790924
8 | k2: 0.15577979446322998
9 | p1: -0.0001708844706763513
10 | p2: -0.00022739337206347906
11 | projection_parameters:
12 | fx: 887.6164997890269
13 | fy: 888.0072466034701
14 | cx: 361.24043510285503
15 | cy: 283.1408283882888
16 |
--------------------------------------------------------------------------------
/MCVO/config/MCdata/cameras/camera_04.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: image_04
4 | image_width: 720
5 | image_height: 540
6 | distortion_parameters:
7 | k1: -0.20852442337343433
8 | k2: 0.15125177991809963
9 | p1: 0.00025236802525244775
10 | p2: -0.0004285603550192086
11 | projection_parameters:
12 | fx: 887.3281485318109
13 | fy: 888.185239228112
14 | cx: 362.08823055653517
15 | cy: 282.26370444292604
--------------------------------------------------------------------------------
/MCVO/config/NCLT/cameras/camera_00.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: image_00
4 | image_width: 1616
5 | image_height: 1232
6 | distortion_parameters:
7 | k1: 0
8 | k2: 0
9 | p1: 0
10 | p2: 0
11 | projection_parameters:
12 | fx: 410.777504
13 | fy: 410.777504
14 | cx: 805.879152
15 | cy: 613.277472
16 |
17 |
18 | # left
--------------------------------------------------------------------------------
/MCVO/config/NCLT/cameras/camera_01.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: image_01
4 | image_width: 1616
5 | image_height: 1232
6 | distortion_parameters:
7 | k1: 0
8 | k2: 0
9 | p1: 0
10 | p2: 0
11 | projection_parameters:
12 | fx: 409.719024
13 | fy: 409.719024
14 | cx: 813.947840
15 | cy: 624.237344
16 |
17 | # right
18 |
--------------------------------------------------------------------------------
/MCVO/config/NCLT/cameras/camera_02.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: image_02
4 | image_width: 1616
5 | image_height: 1232
6 | distortion_parameters:
7 | k1: 0
8 | k2: 0
9 | p1: 0
10 | p2: 0
11 | projection_parameters:
12 | fx: 408.385824
13 | fy: 408.385824
14 | cx: 793.959536
15 | cy: 623.058320
16 |
17 |
18 |
--------------------------------------------------------------------------------
/MCVO/config/NCLT/cameras/camera_03.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: image_02
4 | image_width: 1616
5 | image_height: 1232
6 | distortion_parameters:
7 | k1: 0
8 | k2: 0
9 | p1: 0
10 | p2: 0
11 | projection_parameters:
12 | fx: 406.802144
13 | fy: 406.802144
14 | cx: 810.874208
15 | cy: 617.352928
16 |
17 |
--------------------------------------------------------------------------------
/MCVO/config/NCLT/cameras/camera_04.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: image_02
4 | image_width: 1616
5 | image_height: 1232
6 | distortion_parameters:
7 | k1: 0
8 | k2: 0
9 | p1: 0
10 | p2: 0
11 | projection_parameters:
12 | fx: 403.920816
13 | fy: 403.920816
14 | cx: 823.270544
15 | cy: 601.929520
16 |
17 |
--------------------------------------------------------------------------------
/MCVO/config/NCLT/cameras/camera_05.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: image_05
4 | image_width: 1616
5 | image_height: 1232
6 | distortion_parameters:
7 | k1: 0
8 | k2: 0
9 | p1: 0
10 | p2: 0
11 | projection_parameters:
12 | fx: 399.433184
13 | fy: 399.433184
14 | cx: 826.361952
15 | cy: 621.668624
16 |
17 |
18 |
--------------------------------------------------------------------------------
/MCVO/config/camera_info.yaml:
--------------------------------------------------------------------------------
1 | cam0:
2 | cam_overlaps: []
3 | camera_model: pinhole
4 | distortion_coeffs: [0.01792688839737692, -0.02626085267295036, 0.04389057152862129,
5 | -0.018593900927459682]
6 | distortion_model: equidistant
7 | intrinsics: [1493.0606696757898, 1329.879207062618, 662.1274260105292, 486.2877991096021]
8 | resolution: [1280, 960]
9 | rostopic: /cmu_rc1/camera_0/image_mono
10 |
--------------------------------------------------------------------------------
/MCVO/config/champ/NVIDIA_ISAAC_cam.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: camera
4 | height: 1080
5 | width: 2048
6 | distortion_parameters:
7 | k1: 0
8 | k2: 0
9 | p1: 0
10 | p2: 0
11 | projection_parameters:
12 | fx: 2345.59765625
13 | fy: 1695.136962890625
14 | cx: 1024.0
15 | cy: 540.0
--------------------------------------------------------------------------------
/MCVO/config/fisheye_mask.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/config/fisheye_mask.jpg
--------------------------------------------------------------------------------
/MCVO/config/fisheye_mask_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/config/fisheye_mask_02.png
--------------------------------------------------------------------------------
/MCVO/config/fisheye_mask_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/config/fisheye_mask_03.png
--------------------------------------------------------------------------------
/MCVO/config/fisheye_mask_640x480.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/config/fisheye_mask_640x480.png
--------------------------------------------------------------------------------
/MCVO/config/fisheye_mask_752x480.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/config/fisheye_mask_752x480.jpg
--------------------------------------------------------------------------------
/MCVO/config/fisheye_mask_cam0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/config/fisheye_mask_cam0.png
--------------------------------------------------------------------------------
/MCVO/config/fisheye_mask_cam1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/config/fisheye_mask_cam1.png
--------------------------------------------------------------------------------
/MCVO/config/fisheye_mask_cam1_half.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/config/fisheye_mask_cam1_half.png
--------------------------------------------------------------------------------
/MCVO/config/hilti_challange/cameras/cam0.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: camera
4 | height: 540
5 | width: 720
6 | distortion_parameters:
7 | k1: -0.03696737352869157
8 | k2: -0.008917880497032812
9 | p1: 0.008912969593422046
10 | p2: -0.0037685977496087313
11 | projection_parameters:
12 | fx: 351.31400364193297
13 | fy: 351.4911744656785
14 | cx: 367.8522793375995
15 | cy: 253.8402144980996
--------------------------------------------------------------------------------
/MCVO/config/hilti_challange/cameras/cam1.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: camera
4 | height: 540
5 | width: 720
6 | distortion_parameters:
7 | k1: -0.039086652082708805
8 | k2: -0.005525347047415151
9 | p1: 0.004398151558986798
10 | p2: -0.0019701263170917808
11 | projection_parameters:
12 | fx: 352.6489794433894
13 | fy: 352.8586498571586
14 | cx: 347.8170010310082
15 | cy: 270.5806692485468
--------------------------------------------------------------------------------
/MCVO/config/hilti_challange/cameras/cam2.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: camera1
4 | height: 540
5 | width: 720
6 | distortion_parameters:
7 | k1: -0.041202246303621064
8 | k2: -0.0012607385825244833
9 | p1: 0.0006712169937177444
10 | p2: -0.0006234254968089226
11 | projection_parameters:
12 | fx: 350.70040966794545
13 | fy: 350.8792449525716
14 | cx: 375.2977403521422
15 | cy: 268.5927747079796
--------------------------------------------------------------------------------
/MCVO/config/hilti_challange/cameras/cam3.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: camera3
4 | height: 540
5 | width: 720
6 | distortion_parameters:
7 | k1: -0.03890973498616883
8 | k2: -0.002604676547864069
9 | p1: 0.0004634700730293949
10 | p2: -0.00036698216675371063
11 | projection_parameters:
12 | fx: 352.9514843860555
13 | fy: 353.32837903547403
14 | cx: 363.93345228274336
15 | cy: 266.14511705007413
--------------------------------------------------------------------------------
/MCVO/config/hilti_challange/cameras/cam4.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: PINHOLE
3 | camera_name: camera4
4 | height: 540
5 | width: 720
6 | distortion_parameters:
7 | k1: -0.03842764034005408
8 | k2: -0.005841411460411122
9 | p1: 0.003451041303088915
10 | p2: -0.0011463543672005018
11 | projection_parameters:
12 | fx: 351.5132148653381
13 | fy: 351.7557554938886
14 | cx: 342.8425988673232
15 | cy: 259.91793254535776
--------------------------------------------------------------------------------
/MCVO/config/initial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/config/initial.png
--------------------------------------------------------------------------------
/MCVO/config/uav360/cameras/camera_00.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: MEI
3 | camera_name: image_00
4 | image_width: 838
5 | image_height: 720
6 | mirror_parameters:
7 | xi: 1.81167414e+00
8 | distortion_parameters:
9 | k1: -0.24355013
10 | k2: 0.20362954
11 | p1: 0.00048753
12 | p2: 0.00031327
13 | projection_parameters:
14 | gamma1: 692.71182129
15 | gamma2: 692.82313383
16 | u0: 421.29033854
17 | v0: 342.12877758
18 |
--------------------------------------------------------------------------------
/MCVO/config/uav360/cameras/camera_01.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: MEI
3 | camera_name: image_01
4 | image_width: 838
5 | image_height: 720
6 | mirror_parameters:
7 | xi: 1.77046181
8 | distortion_parameters:
9 | k1: -0.26076239
10 | k2: 0.1886713
11 | p1: 0.00092547
12 | p2: -0.0010098
13 | projection_parameters:
14 | gamma1: 688.21952096
15 | gamma2: 688.22048868
16 | u0: 415.48978856
17 | v0: 362.36252391
18 |
--------------------------------------------------------------------------------
/MCVO/config/uav360/cameras/camera_02.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: MEI
3 | camera_name: image_02
4 | image_width: 838
5 | image_height: 720
6 | mirror_parameters:
7 | xi: 1.78908346e+00
8 | distortion_parameters:
9 | k1: -0.25126935
10 | k2: 0.18944099
11 | p1: -0.00106281
12 | p2: 0.00111316
13 | projection_parameters:
14 | gamma1: 688.5033355
15 | gamma2: 688.65481624
16 | u0: 416.61181632
17 | v0: 355.23491325
18 |
--------------------------------------------------------------------------------
/MCVO/config/uav360/cameras/camera_03.yaml:
--------------------------------------------------------------------------------
1 | %YAML:1.0
2 | model_type: MEI
3 | camera_name: image_03
4 | image_width: 838
5 | image_height: 720
6 | mirror_parameters:
7 | xi: 1.78711155e+00
8 | distortion_parameters:
9 | k1: -0.25488638
10 | k2: 0.18766678
11 | p1: 0.00058592
12 | p2: 0.00110638
13 | projection_parameters:
14 | gamma1: 687.85162069
15 | gamma2: 687.66752998
16 | u0: 413.97512427
17 | v0: 345.00529072
18 |
--------------------------------------------------------------------------------
/MCVO/config/ugv/mono1_config.yaml:
--------------------------------------------------------------------------------
1 | model_type: MEI
2 | camera_name: camera
3 | image_width: 640
4 | image_height: 480
5 | mirror_parameters:
6 | xi: 1.5629934283981157
7 | distortion_parameters:
8 | k1: -0.07083665039247518
9 | k2: 0.3094574364801575
10 | p1: 0.0004607746627279861
11 | p2: 0.00015704097191542886
12 | projection_parameters:
13 | gamma1: 761.6791126513665
14 | gamma2: 678.7676595096547
15 | u0: 317.73997456826834
16 | v0: 233.50210820810244
--------------------------------------------------------------------------------
/MCVO/launch/vins_rviz.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/MCVO/src/Estimator/factor/pose_local_parameterization.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 | #include
5 | #include "../../utility/utility.h"
6 |
7 | class PoseLocalParameterization : public ceres::LocalParameterization
8 | {
9 | virtual bool Plus(const double *x, const double *delta, double *x_plus_delta) const;
10 | virtual bool ComputeJacobian(const double *x, double *jacobian) const;
11 | virtual int GlobalSize() const { return 7; };
12 | virtual int LocalSize() const { return 6; };
13 | };
14 |
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo102.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo102.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo128.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo128.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo162.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo162.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo204.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo204.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo256.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo256.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo64.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo64.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo80.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/geoinfo80.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo102_0.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo102_0.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo102_1.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo102_1.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo102_2.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo102_2.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo102_3.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo102_3.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo102_4.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo102_4.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo128_0.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo128_0.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo128_1.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo128_1.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo128_2.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo128_2.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo128_3.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo128_3.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo128_4.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo128_4.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo162_0.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo162_0.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo162_1.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo162_1.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo162_2.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo162_2.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo162_3.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo162_3.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo162_4.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo162_4.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo204_0.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo204_0.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo204_1.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo204_1.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo204_2.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo204_2.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo204_3.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo204_3.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo204_4.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo204_4.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo256_0.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo256_0.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo256_1.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo256_1.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo256_2.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo256_2.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo256_3.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo256_3.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo256_4.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo256_4.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo64_0.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo64_0.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo64_1.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo64_1.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo64_2.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo64_2.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo64_3.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo64_3.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo64_4.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo64_4.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo80_0.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo80_0.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo80_1.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo80_1.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo80_2.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo80_2.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo80_3.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo80_3.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo80_4.pfm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/imginfo80_4.pfm
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask102.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask102.bmp
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask128.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask128.bmp
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask162.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask162.bmp
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask204.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask204.bmp
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask256.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask256.bmp
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask64.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask64.bmp
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask80.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/src/Frontend/feature_tracker/SPHORB/Data/mask80.bmp
--------------------------------------------------------------------------------
/MCVO/src/Frontend/feature_tracker/super_include/torch_cpp.hpp:
--------------------------------------------------------------------------------
1 | /**
2 | * @file torch_cpp.hpp
3 | *
4 | * @author btran
5 | *
6 | */
7 |
8 | #pragma once
9 |
10 | #include "SuperGlue.hpp"
11 |
12 | #include "SuperPoint.hpp"
13 |
14 | #include "Utility.hpp"
15 |
--------------------------------------------------------------------------------
/MCVO/src/Frontend/sensors.cpp:
--------------------------------------------------------------------------------
1 | #include "sensors.h"
2 |
3 |
--------------------------------------------------------------------------------
/MCVO/src/utility/utility.cpp:
--------------------------------------------------------------------------------
1 | #include "utility.h"
2 |
3 | Eigen::Matrix3d Utility::g2R(const Eigen::Vector3d &g)
4 | {
5 | Eigen::Matrix3d R0;
6 | Eigen::Vector3d ng1 = g.normalized();
7 | Eigen::Vector3d ng2{0, 0, 1.0};
8 | R0 = Eigen::Quaterniond::FromTwoVectors(ng1, ng2).toRotationMatrix();
9 | double yaw = Utility::R2ypr(R0).x();
10 | R0 = Utility::ypr2R(Eigen::Vector3d{-yaw, 0, 0}) * R0;
11 | // R0 = Utility::ypr2R(Eigen::Vector3d{-90, 0, 0}) * R0;
12 | return R0;
13 | }
14 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/Sophus/.gitignore:
--------------------------------------------------------------------------------
1 | build
2 | CMakeLists.txt.user
3 | *.pyc
--------------------------------------------------------------------------------
/MCVO/thirdparty/Sophus/SophusConfig.cmake.in:
--------------------------------------------------------------------------------
1 | @PACKAGE_INIT@
2 |
3 | include (CMakeFindDependencyMacro)
4 |
5 | @Eigen3_DEPENDENCY@
6 |
7 | include ("${CMAKE_CURRENT_LIST_DIR}/SophusTargets.cmake")
8 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/Sophus/py/cpp_gencode/Se2_Dx_this_mul_exp_x_at_0.cpp:
--------------------------------------------------------------------------------
1 | Scalar const c0 = -c[1];
2 | result[0] = 0;
3 | result[1] = 0;
4 | result[2] = c0;
5 | result[3] = 0;
6 | result[4] = 0;
7 | result[5] = c[0];
8 | result[6] = c[0];
9 | result[7] = c0;
10 | result[8] = 0;
11 | result[9] = c[1];
12 | result[10] = c[0];
13 | result[11] = 0;
14 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/Sophus/py/cpp_gencode/So2_Dx_exp_x.cpp:
--------------------------------------------------------------------------------
1 | result[0] = -sin(theta);
2 | result[1] = cos(theta);
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/Sophus/py/cpp_gencode/So2_Dx_this_mul_exp_x_at_0.cpp:
--------------------------------------------------------------------------------
1 | result[0] = -c[1];
2 | result[1] = c[0];
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/Sophus/py/cpp_gencode/So3_Dx_this_mul_exp_x_at_0.cpp:
--------------------------------------------------------------------------------
1 | Scalar const c0 = 0.5*q.w();
2 | Scalar const c1 = 0.5*q.z();
3 | Scalar const c2 = -c1;
4 | Scalar const c3 = 0.5*q.y();
5 | Scalar const c4 = 0.5*q.x();
6 | Scalar const c5 = -c4;
7 | Scalar const c6 = -c3;
8 | result[0] = c0;
9 | result[1] = c2;
10 | result[2] = c3;
11 | result[3] = c1;
12 | result[4] = c0;
13 | result[5] = c5;
14 | result[6] = c6;
15 | result[7] = c4;
16 | result[8] = c0;
17 | result[9] = c5;
18 | result[10] = c6;
19 | result[11] = c2;
20 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/Sophus/py/run_tests.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #bin/bash
3 |
4 | python3 -m sophus.complex
5 | python3 -m sophus.quaternion
6 | python3 -m sophus.dual_quaternion
7 | python3 -m sophus.so2
8 | python3 -m sophus.se2
9 | python3 -m sophus.so3
10 | python3 -m sophus.se3
--------------------------------------------------------------------------------
/MCVO/thirdparty/Sophus/py/sophus/__init__.py:
--------------------------------------------------------------------------------
1 | from sophus.cse_codegen import cse_codegen
2 | from sophus.matrix import dot, squared_norm, Vector2, Vector3, Vector6, ZeroVector2, ZeroVector3, ZeroVector6, proj, unproj
3 | from sophus.complex import Complex
4 | from sophus.quaternion import Quaternion
5 | from sophus.so2 import So2
6 | from sophus.so3 import So3
7 | from sophus.se3 import Se3
8 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/Sophus/py/sophus/cse_codegen.py:
--------------------------------------------------------------------------------
1 | import sympy
2 | import io
3 |
4 |
5 | def cse_codegen(symbols):
6 | cse_results = sympy.cse(symbols, sympy.numbered_symbols("c"))
7 | output = io.StringIO()
8 | for helper in cse_results[0]:
9 | output.write("Scalar const ")
10 | output.write(sympy.printing.ccode(helper[1], helper[0]))
11 | output.write("\n")
12 | assert len(cse_results[1]) == 1
13 |
14 | output.write(sympy.printing.ccode(cse_results[1][0], "result"))
15 | output.write("\n")
16 | output.seek(0)
17 | return output
18 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/Sophus/py/sophus/so3_codegen.py:
--------------------------------------------------------------------------------
1 | import sophus
2 | from sympy.utilities.codegen import codegen
3 | import sympy
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/Sophus/run_format.sh:
--------------------------------------------------------------------------------
1 | find . -iname *.hpp -o -iname *.cpp | xargs clang-format -i
2 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/Sophus/scripts/run_cpp_tests.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -x # echo on
4 | set -e # exit on error
5 |
6 | mkdir build
7 | cd build
8 | pwd
9 | cmake -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=$BUILD_TYPE ..
10 | make -j2
11 | make CTEST_OUTPUT_ON_FAILURE=1 test
12 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/Sophus/sophus/example_ensure_handler.cpp:
--------------------------------------------------------------------------------
1 | #include "common.hpp"
2 |
3 | #include
4 | #include
5 |
6 | namespace Sophus {
7 | void ensureFailed(char const* function, char const* file, int line,
8 | char const* description) {
9 | std::printf("Sophus ensure failed in function '%s', file '%s', line %d.\n",
10 | file, function, line);
11 | std::printf("Description: %s\n", description);
12 | std::abort();
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/.hgignore:
--------------------------------------------------------------------------------
1 | syntax: glob
2 | qrc_*cxx
3 | *.orig
4 | *.pyc
5 | *.diff
6 | diff
7 | *.save
8 | save
9 | *.old
10 | *.gmo
11 | *.qm
12 | core
13 | core.*
14 | *.bak
15 | *~
16 | *build*
17 | *.moc.*
18 | *.moc
19 | ui_*
20 | CMakeCache.txt
21 | tags
22 | .*.swp
23 | activity.png
24 | *.out
25 | *.php*
26 | *.log
27 | *.orig
28 | *.rej
29 | log
30 | patch
31 | a
32 | a.*
33 | lapack/testing
34 | lapack/reference
35 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/Eigen/Eigen:
--------------------------------------------------------------------------------
1 | #include "Dense"
2 | #include "Sparse"
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/bench_sum.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | using namespace Eigen;
4 | using namespace std;
5 |
6 | int main()
7 | {
8 | typedef Matrix Vec;
9 | Vec v(SIZE);
10 | v.setZero();
11 | v[0] = 1;
12 | v[1] = 2;
13 | for(int i = 0; i < 1000000; i++)
14 | {
15 | v.coeffRef(0) += v.sum() * SCALAR(1e-20);
16 | }
17 | cout << v.sum() << endl;
18 | }
19 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/cmake/FindGMM.cmake:
--------------------------------------------------------------------------------
1 | if (GMM_INCLUDE_DIR)
2 | # in cache already
3 | set(GMM_FOUND TRUE)
4 | else (GMM_INCLUDE_DIR)
5 |
6 | find_path(GMM_INCLUDE_DIR NAMES gmm/gmm.h
7 | PATHS
8 | ${INCLUDE_INSTALL_DIR}
9 | ${GMM_INCLUDE_PATH}
10 | )
11 |
12 | include(FindPackageHandleStandardArgs)
13 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(GMM DEFAULT_MSG GMM_INCLUDE_DIR )
14 |
15 | mark_as_advanced(GMM_INCLUDE_DIR)
16 |
17 | endif(GMM_INCLUDE_DIR)
18 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/generic_bench/static/intel_bench_fixed_size.hh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/thirdparty/eigen/bench/btl/generic_bench/static/intel_bench_fixed_size.hh
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/generic_bench/static/static_size_generator.hh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/thirdparty/eigen/bench/btl/generic_bench/static/static_size_generator.hh
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/generic_bench/timers/STL_perf_analyzer.hh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/thirdparty/eigen/bench/btl/generic_bench/timers/STL_perf_analyzer.hh
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/generic_bench/timers/STL_timer.hh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/thirdparty/eigen/bench/btl/generic_bench/timers/STL_timer.hh
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/generic_bench/timers/mixed_perf_analyzer.hh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/thirdparty/eigen/bench/btl/generic_bench/timers/mixed_perf_analyzer.hh
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/generic_bench/utils/size_lin_log.hh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/thirdparty/eigen/bench/btl/generic_bench/utils/size_lin_log.hh
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/libs/STL/CMakeLists.txt:
--------------------------------------------------------------------------------
1 |
2 | btl_add_bench(btl_STL main.cpp OFF)
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/libs/blaze/CMakeLists.txt:
--------------------------------------------------------------------------------
1 |
2 | find_package(BLAZE)
3 | find_package(Boost COMPONENTS system)
4 | if (BLAZE_FOUND AND Boost_FOUND)
5 | include_directories(${BLAZE_INCLUDE_DIR} ${Boost_INCLUDE_DIRS})
6 | btl_add_bench(btl_blaze main.cpp)
7 | # Note: The newest blaze version requires C++14.
8 | # Ideally, we should set this depending on the version of Blaze we found
9 | set_property(TARGET btl_blaze PROPERTY CXX_STANDARD 14)
10 | if(BUILD_btl_blaze)
11 | target_link_libraries(btl_blaze ${Boost_LIBRARIES})
12 | endif()
13 | endif ()
14 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/libs/blitz/CMakeLists.txt:
--------------------------------------------------------------------------------
1 |
2 | find_package(Blitz)
3 |
4 | if (BLITZ_FOUND)
5 | include_directories(${BLITZ_INCLUDES})
6 |
7 | btl_add_bench(btl_blitz btl_blitz.cpp)
8 | if (BUILD_btl_blitz)
9 | target_link_libraries(btl_blitz ${BLITZ_LIBRARIES})
10 | endif (BUILD_btl_blitz)
11 |
12 | btl_add_bench(btl_tiny_blitz btl_tiny_blitz.cpp OFF)
13 | if (BUILD_btl_tiny_blitz)
14 | target_link_libraries(btl_tiny_blitz ${BLITZ_LIBRARIES})
15 | endif (BUILD_btl_tiny_blitz)
16 |
17 | endif (BLITZ_FOUND)
18 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/libs/gmm/CMakeLists.txt:
--------------------------------------------------------------------------------
1 |
2 | find_package(GMM)
3 | if (GMM_FOUND)
4 | include_directories(${GMM_INCLUDES})
5 | btl_add_bench(btl_gmm main.cpp)
6 | endif (GMM_FOUND)
7 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/libs/mtl4/CMakeLists.txt:
--------------------------------------------------------------------------------
1 |
2 | find_package(MTL4)
3 | if (MTL4_FOUND)
4 | include_directories(${MTL4_INCLUDE_DIR})
5 | btl_add_bench(btl_mtl4 main.cpp)
6 | endif (MTL4_FOUND)
7 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/libs/tvmet/CMakeLists.txt:
--------------------------------------------------------------------------------
1 |
2 | find_package(Tvmet)
3 | if (TVMET_FOUND)
4 | include_directories(${TVMET_INCLUDE_DIR})
5 | btl_add_bench(btl_tvmet main.cpp OFF)
6 | endif (TVMET_FOUND)
7 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/btl/libs/ublas/CMakeLists.txt:
--------------------------------------------------------------------------------
1 |
2 | find_package(Boost)
3 | if (Boost_FOUND)
4 | include_directories(${Boost_INCLUDE_DIRS})
5 | include_directories(${Boost_INCLUDES})
6 | btl_add_bench(btl_ublas main.cpp)
7 | endif (Boost_FOUND)
8 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/perf_monitoring/gemm/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/bench/perf_monitoring/gemm/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/blas/xerbla.cpp:
--------------------------------------------------------------------------------
1 |
2 | #include
3 |
4 | #if (defined __GNUC__) && (!defined __MINGW32__) && (!defined __CYGWIN__)
5 | #define EIGEN_WEAK_LINKING __attribute__ ((weak))
6 | #else
7 | #define EIGEN_WEAK_LINKING
8 | #endif
9 |
10 | #ifdef __cplusplus
11 | extern "C"
12 | {
13 | #endif
14 |
15 | EIGEN_WEAK_LINKING int xerbla_(const char * msg, int *info, int)
16 | {
17 | printf("Eigen BLAS ERROR #%i: %s\n", *info, msg );
18 | return 0;
19 | }
20 |
21 | #ifdef __cplusplus
22 | }
23 | #endif
24 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/cmake/UseEigen3.cmake:
--------------------------------------------------------------------------------
1 | # -*- cmake -*-
2 | #
3 | # UseEigen3.cmake
4 |
5 | add_definitions ( ${EIGEN3_DEFINITIONS} )
6 | include_directories ( ${EIGEN3_INCLUDE_DIRS} )
7 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/debug/gdb/__init__.py:
--------------------------------------------------------------------------------
1 | # Intentionally empty
2 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/demos/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | project(EigenDemos)
2 |
3 | add_custom_target(demos)
4 |
5 | if(NOT EIGEN_TEST_NOQT)
6 | find_package(Qt4)
7 | if(QT4_FOUND)
8 | add_subdirectory(mandelbrot)
9 | add_subdirectory(opengl)
10 | else(QT4_FOUND)
11 | message(STATUS "Qt4 not found, so disabling the mandelbrot and opengl demos")
12 | endif(QT4_FOUND)
13 | endif()
14 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/demos/mandelbrot/README:
--------------------------------------------------------------------------------
1 | *** Mandelbrot demo ***
2 |
3 | Controls:
4 | * Left mouse button to center view at a point.
5 | * Drag vertically with left mouse button to zoom in and out.
6 |
7 | Be sure to enable SSE2 or AltiVec to improve performance.
8 |
9 | The number of iterations, and the choice between single and double precision, are
10 | determined at runtime depending on the zoom level.
11 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/demos/opengl/README:
--------------------------------------------------------------------------------
1 |
2 | Navigation:
3 | left button: rotate around the target
4 | middle button: zoom
5 | left button + ctrl quake rotate (rotate around camera position)
6 | middle button + ctrl walk (progress along camera's z direction)
7 | left button: pan (translate in the XY camera's plane)
8 |
9 | R : move the camera to initial position
10 | A : start/stop animation
11 | C : clear the animation
12 | G : add a key frame
13 |
14 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/Eigen_Silly_Professor_64x64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/thirdparty/eigen/doc/Eigen_Silly_Professor_64x64.png
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/TopicVectorization.dox:
--------------------------------------------------------------------------------
1 | namespace Eigen {
2 |
3 | /** \page TopicVectorization Vectorization
4 |
5 |
6 | TODO: write this dox page!
7 |
8 | */
9 | }
10 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/TutorialSparse_example_details.dox:
--------------------------------------------------------------------------------
1 | /**
2 | \page TutorialSparse_example_details
3 | \include Tutorial_sparse_example_details.cpp
4 | */
5 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/.krazy:
--------------------------------------------------------------------------------
1 | EXCLUDE copyright
2 | EXCLUDE license
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Cwise_erf.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Cwise_erfc.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Cwise_lgamma.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/DenseBase_middleCols_int.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 | using namespace std;
6 |
7 | int main(void)
8 | {
9 | int const N = 5;
10 | MatrixXi A(N,N);
11 | A.setRandom();
12 | cout << "A =\n" << A << '\n' << endl;
13 | cout << "A(1..3,:) =\n" << A.middleCols(1,3) << endl;
14 | return 0;
15 | }
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/DenseBase_middleRows_int.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 | using namespace std;
6 |
7 | int main(void)
8 | {
9 | int const N = 5;
10 | MatrixXi A(N,N);
11 | A.setRandom();
12 | cout << "A =\n" << A << '\n' << endl;
13 | cout << "A(2..3,:) =\n" << A.middleRows(2,2) << endl;
14 | return 0;
15 | }
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/DenseBase_template_int_middleCols.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 | using namespace std;
6 |
7 | int main(void)
8 | {
9 | int const N = 5;
10 | MatrixXi A(N,N);
11 | A.setRandom();
12 | cout << "A =\n" << A << '\n' << endl;
13 | cout << "A(:,1..3) =\n" << A.middleCols<3>(1) << endl;
14 | return 0;
15 | }
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/DenseBase_template_int_middleRows.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 | using namespace std;
6 |
7 | int main(void)
8 | {
9 | int const N = 5;
10 | MatrixXi A(N,N);
11 | A.setRandom();
12 | cout << "A =\n" << A << '\n' << endl;
13 | cout << "A(1..3,:) =\n" << A.middleRows<3>(1) << endl;
14 | return 0;
15 | }
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/QuickStart_example.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using Eigen::MatrixXd;
5 |
6 | int main()
7 | {
8 | MatrixXd m(2,2);
9 | m(0,0) = 3;
10 | m(1,0) = 2.5;
11 | m(0,1) = -1;
12 | m(1,1) = m(1,0) + m(0,1);
13 | std::cout << m << std::endl;
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/QuickStart_example2_dynamic.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 | using namespace std;
6 |
7 | int main()
8 | {
9 | MatrixXd m = MatrixXd::Random(3,3);
10 | m = (m + MatrixXd::Constant(3,3,1.2)) * 50;
11 | cout << "m =" << endl << m << endl;
12 | VectorXd v(3);
13 | v << 1, 2, 3;
14 | cout << "m * v =" << endl << m * v << endl;
15 | }
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/QuickStart_example2_fixed.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 | using namespace std;
6 |
7 | int main()
8 | {
9 | Matrix3d m = Matrix3d::Random();
10 | m = (m + Matrix3d::Constant(1.2)) * 50;
11 | cout << "m =" << endl << m << endl;
12 | Vector3d v(1,2,3);
13 |
14 | cout << "m * v =" << endl << m * v << endl;
15 | }
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/TutorialLinAlgExComputeSolveError.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 | using namespace Eigen;
6 |
7 | int main()
8 | {
9 | MatrixXd A = MatrixXd::Random(100,100);
10 | MatrixXd b = MatrixXd::Random(100,50);
11 | MatrixXd x = A.fullPivLu().solve(b);
12 | double relative_error = (A*x - b).norm() / b.norm(); // norm() is L2 norm
13 | cout << "The relative error is:\n" << relative_error << endl;
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/TutorialLinAlgExSolveColPivHouseholderQR.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 | using namespace Eigen;
6 |
7 | int main()
8 | {
9 | Matrix3f A;
10 | Vector3f b;
11 | A << 1,2,3, 4,5,6, 7,8,10;
12 | b << 3, 3, 4;
13 | cout << "Here is the matrix A:\n" << A << endl;
14 | cout << "Here is the vector b:\n" << b << endl;
15 | Vector3f x = A.colPivHouseholderQr().solve(b);
16 | cout << "The solution is:\n" << x << endl;
17 | }
18 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/TutorialLinAlgExSolveLDLT.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 | using namespace Eigen;
6 |
7 | int main()
8 | {
9 | Matrix2f A, b;
10 | A << 2, -1, -1, 3;
11 | b << 1, 2, 3, 1;
12 | cout << "Here is the matrix A:\n" << A << endl;
13 | cout << "Here is the right hand side b:\n" << b << endl;
14 | Matrix2f x = A.ldlt().solve(b);
15 | cout << "The solution is:\n" << x << endl;
16 | }
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/TutorialLinAlgInverseDeterminant.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 | using namespace Eigen;
6 |
7 | int main()
8 | {
9 | Matrix3f A;
10 | A << 1, 2, 1,
11 | 2, 1, 0,
12 | -1, 1, 2;
13 | cout << "Here is the matrix A:\n" << A << endl;
14 | cout << "The determinant of A is " << A.determinant() << endl;
15 | cout << "The inverse of A is:\n" << A.inverse() << endl;
16 | }
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/TutorialLinAlgSVDSolve.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 | using namespace Eigen;
6 |
7 | int main()
8 | {
9 | MatrixXf A = MatrixXf::Random(3, 2);
10 | cout << "Here is the matrix A:\n" << A << endl;
11 | VectorXf b = VectorXf::Random(3);
12 | cout << "Here is the right hand side b:\n" << b << endl;
13 | cout << "The least-squares solution is:\n"
14 | << A.bdcSvd(ComputeThinU | ComputeThinV).solve(b) << endl;
15 | }
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/TutorialLinAlgSetThreshold.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 | using namespace Eigen;
6 |
7 | int main()
8 | {
9 | Matrix2d A;
10 | A << 2, 1,
11 | 2, 0.9999999999;
12 | FullPivLU lu(A);
13 | cout << "By default, the rank of A is found to be " << lu.rank() << endl;
14 | lu.setThreshold(1e-5);
15 | cout << "With threshold 1e-5, the rank of A is found to be " << lu.rank() << endl;
16 | }
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Tutorial_ArrayClass_addition.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 | using namespace std;
6 |
7 | int main()
8 | {
9 | ArrayXXf a(3,3);
10 | ArrayXXf b(3,3);
11 | a << 1,2,3,
12 | 4,5,6,
13 | 7,8,9;
14 | b << 1,2,3,
15 | 1,2,3,
16 | 1,2,3;
17 |
18 | // Adding two arrays
19 | cout << "a + b = " << endl << a + b << endl << endl;
20 |
21 | // Subtracting a scalar from an array
22 | cout << "a - 2 = " << endl << a - 2 << endl;
23 | }
24 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Tutorial_ArrayClass_cwise_other.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 | using namespace std;
6 |
7 | int main()
8 | {
9 | ArrayXf a = ArrayXf::Random(5);
10 | a *= 2;
11 | cout << "a =" << endl
12 | << a << endl;
13 | cout << "a.abs() =" << endl
14 | << a.abs() << endl;
15 | cout << "a.abs().sqrt() =" << endl
16 | << a.abs().sqrt() << endl;
17 | cout << "a.min(a.abs().sqrt()) =" << endl
18 | << a.min(a.abs().sqrt()) << endl;
19 | }
20 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Tutorial_ArrayClass_mult.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 | using namespace std;
6 |
7 | int main()
8 | {
9 | ArrayXXf a(2,2);
10 | ArrayXXf b(2,2);
11 | a << 1,2,
12 | 3,4;
13 | b << 5,6,
14 | 7,8;
15 | cout << "a * b = " << endl << a * b << endl;
16 | }
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Tutorial_BlockOperations_colrow.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 |
6 | int main()
7 | {
8 | Eigen::MatrixXf m(3,3);
9 | m << 1,2,3,
10 | 4,5,6,
11 | 7,8,9;
12 | cout << "Here is the matrix m:" << endl << m << endl;
13 | cout << "2nd Row: " << m.row(1) << endl;
14 | m.col(2) += 3 * m.col(0);
15 | cout << "After adding 3 times the first column into the third column, the matrix m is:\n";
16 | cout << m << endl;
17 | }
18 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Tutorial_BlockOperations_corner.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 |
6 | int main()
7 | {
8 | Eigen::Matrix4f m;
9 | m << 1, 2, 3, 4,
10 | 5, 6, 7, 8,
11 | 9, 10,11,12,
12 | 13,14,15,16;
13 | cout << "m.leftCols(2) =" << endl << m.leftCols(2) << endl << endl;
14 | cout << "m.bottomRows<2>() =" << endl << m.bottomRows<2>() << endl << endl;
15 | m.topLeftCorner(1,3) = m.bottomRightCorner(3,1).transpose();
16 | cout << "After assignment, m = " << endl << m << endl;
17 | }
18 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Tutorial_BlockOperations_print_block.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 |
6 | int main()
7 | {
8 | Eigen::MatrixXf m(4,4);
9 | m << 1, 2, 3, 4,
10 | 5, 6, 7, 8,
11 | 9,10,11,12,
12 | 13,14,15,16;
13 | cout << "Block in the middle" << endl;
14 | cout << m.block<2,2>(1,1) << endl << endl;
15 | for (int i = 1; i <= 3; ++i)
16 | {
17 | cout << "Block of size " << i << "x" << i << endl;
18 | cout << m.block(0,0,i,i) << endl << endl;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Tutorial_BlockOperations_vector.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 |
6 | int main()
7 | {
8 | Eigen::ArrayXf v(6);
9 | v << 1, 2, 3, 4, 5, 6;
10 | cout << "v.head(3) =" << endl << v.head(3) << endl << endl;
11 | cout << "v.tail<3>() = " << endl << v.tail<3>() << endl << endl;
12 | v.segment(1,4) *= 2;
13 | cout << "after 'v.segment(1,4) *= 2', v =" << endl << v << endl;
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Tutorial_PartialLU_solve.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | using namespace std;
6 | using namespace Eigen;
7 |
8 | int main()
9 | {
10 | Matrix3f A;
11 | Vector3f b;
12 | A << 1,2,3, 4,5,6, 7,8,10;
13 | b << 3, 3, 4;
14 | cout << "Here is the matrix A:" << endl << A << endl;
15 | cout << "Here is the vector b:" << endl << b << endl;
16 | Vector3f x = A.lu().solve(b);
17 | cout << "The solution is:" << endl << x << endl;
18 | }
19 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 | int main()
6 | {
7 | Eigen::MatrixXf mat(2,4);
8 | Eigen::VectorXf v(2);
9 |
10 | mat << 1, 2, 6, 9,
11 | 3, 1, 7, 2;
12 |
13 | v << 0,
14 | 1;
15 |
16 | //add v to each column of m
17 | mat.colwise() += v;
18 |
19 | std::cout << "Broadcasting result: " << std::endl;
20 | std::cout << mat << std::endl;
21 | }
22 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_broadcast_simple_rowwise.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 | int main()
6 | {
7 | Eigen::MatrixXf mat(2,4);
8 | Eigen::VectorXf v(4);
9 |
10 | mat << 1, 2, 6, 9,
11 | 3, 1, 7, 2;
12 |
13 | v << 0,1,2,3;
14 |
15 | //add v to each row of m
16 | mat.rowwise() += v.transpose();
17 |
18 | std::cout << "Broadcasting result: " << std::endl;
19 | std::cout << mat << std::endl;
20 | }
21 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_colwise.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 | int main()
6 | {
7 | Eigen::MatrixXf mat(2,4);
8 | mat << 1, 2, 6, 9,
9 | 3, 1, 7, 2;
10 |
11 | std::cout << "Column's maximum: " << std::endl
12 | << mat.colwise().maxCoeff() << std::endl;
13 | }
14 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Tutorial_ReductionsVisitorsBroadcasting_rowwise.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace std;
5 | int main()
6 | {
7 | Eigen::MatrixXf mat(2,4);
8 | mat << 1, 2, 6, 9,
9 | 3, 1, 7, 2;
10 |
11 | std::cout << "Row's maximum: " << std::endl
12 | << mat.rowwise().maxCoeff() << std::endl;
13 | }
14 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/Tutorial_simple_example_fixed_size.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 |
6 | int main()
7 | {
8 | Matrix3f m3;
9 | m3 << 1, 2, 3, 4, 5, 6, 7, 8, 9;
10 | Matrix4f m4 = Matrix4f::Identity();
11 | Vector4i v4(1, 2, 3, 4);
12 |
13 | std::cout << "m3\n" << m3 << "\nm4:\n"
14 | << m4 << "\nv4:\n" << v4 << std::endl;
15 | }
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/class_CwiseUnaryOp_ptrfun.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | using namespace Eigen;
4 | using namespace std;
5 |
6 | // define function to be applied coefficient-wise
7 | double ramp(double x)
8 | {
9 | if (x > 0)
10 | return x;
11 | else
12 | return 0;
13 | }
14 |
15 | int main(int, char**)
16 | {
17 | Matrix4d m1 = Matrix4d::Random();
18 | cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(ptr_fun(ramp)) << endl;
19 | return 0;
20 | }
21 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/function_taking_eigenbase.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | using namespace Eigen;
4 |
5 | template
6 | void print_size(const EigenBase& b)
7 | {
8 | std::cout << "size (rows, cols): " << b.size() << " (" << b.rows()
9 | << ", " << b.cols() << ")" << std::endl;
10 | }
11 |
12 | int main()
13 | {
14 | Vector3f v;
15 | print_size(v);
16 | // v.asDiagonal() returns a 3x3 diagonal matrix pseudo-expression
17 | print_size(v.asDiagonal());
18 | }
19 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/make_circulant.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | This program is presented in several fragments in the doc page.
3 | Every fragment is in its own file; this file simply combines them.
4 | */
5 |
6 | #include "make_circulant.cpp.preamble"
7 | #include "make_circulant.cpp.traits"
8 | #include "make_circulant.cpp.expression"
9 | #include "make_circulant.cpp.evaluator"
10 | #include "make_circulant.cpp.entry"
11 | #include "make_circulant.cpp.main"
12 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/make_circulant.cpp.entry:
--------------------------------------------------------------------------------
1 | template
2 | Circulant makeCirculant(const Eigen::MatrixBase& arg)
3 | {
4 | return Circulant(arg.derived());
5 | }
6 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/make_circulant.cpp.preamble:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | template class Circulant;
5 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/tut_arithmetic_dot_cross.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 | using namespace std;
6 | int main()
7 | {
8 | Vector3d v(1,2,3);
9 | Vector3d w(0,1,2);
10 |
11 | cout << "Dot product: " << v.dot(w) << endl;
12 | double dp = v.adjoint()*w; // automatic conversion of the inner product to a scalar
13 | cout << "Dot product via a matrix product: " << dp << endl;
14 | cout << "Cross product:\n" << v.cross(w) << endl;
15 | }
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/tut_arithmetic_scalar_mul_div.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 |
6 | int main()
7 | {
8 | Matrix2d a;
9 | a << 1, 2,
10 | 3, 4;
11 | Vector3d v(1,2,3);
12 | std::cout << "a * 2.5 =\n" << a * 2.5 << std::endl;
13 | std::cout << "0.1 * v =\n" << 0.1 * v << std::endl;
14 | std::cout << "Doing v *= 2;" << std::endl;
15 | v *= 2;
16 | std::cout << "Now v =\n" << v << std::endl;
17 | }
18 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/tut_matrix_coefficient_accessors.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 |
6 | int main()
7 | {
8 | MatrixXd m(2,2);
9 | m(0,0) = 3;
10 | m(1,0) = 2.5;
11 | m(0,1) = -1;
12 | m(1,1) = m(1,0) + m(0,1);
13 | std::cout << "Here is the matrix m:\n" << m << std::endl;
14 | VectorXd v(2);
15 | v(0) = 4;
16 | v(1) = v(0) - 1;
17 | std::cout << "Here is the vector v:\n" << v << std::endl;
18 | }
19 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/examples/tut_matrix_resize_fixed_size.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 |
6 | int main()
7 | {
8 | Matrix4d m;
9 | m.resize(4,4); // no operation
10 | std::cout << "The matrix m is of size "
11 | << m.rows() << "x" << m.cols() << std::endl;
12 | }
13 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/ftv2node.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/thirdparty/eigen/doc/ftv2node.png
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/ftv2pnode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JunhaoWang615/MCVO/2616491969a5fa25f86e6a58ad1f8992c0688436/MCVO/thirdparty/eigen/doc/ftv2pnode.png
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/.krazy:
--------------------------------------------------------------------------------
1 | EXCLUDE copyright
2 | EXCLUDE license
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/BiCGSTAB_simple.cpp:
--------------------------------------------------------------------------------
1 | int n = 10000;
2 | VectorXd x(n), b(n);
3 | SparseMatrix A(n,n);
4 | /* ... fill A and b ... */
5 | BiCGSTAB > solver;
6 | solver.compute(A);
7 | x = solver.solve(b);
8 | std::cout << "#iterations: " << solver.iterations() << std::endl;
9 | std::cout << "estimated error: " << solver.error() << std::endl;
10 | /* ... update b ... */
11 | x = solver.solve(b); // solve again
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/BiCGSTAB_step_by_step.cpp:
--------------------------------------------------------------------------------
1 | int n = 10000;
2 | VectorXd x(n), b(n);
3 | SparseMatrix A(n,n);
4 | /* ... fill A and b ... */
5 | BiCGSTAB > solver(A);
6 | // start from a random solution
7 | x = VectorXd::Random(n);
8 | solver.setMaxIterations(1);
9 | int i = 0;
10 | do {
11 | x = solver.solveWithGuess(b,x);
12 | std::cout << i << " : " << solver.error() << std::endl;
13 | ++i;
14 | } while (solver.info()!=Success && i<100);
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/ColPivHouseholderQR_solve.cpp:
--------------------------------------------------------------------------------
1 | Matrix3f m = Matrix3f::Random();
2 | Matrix3f y = Matrix3f::Random();
3 | cout << "Here is the matrix m:" << endl << m << endl;
4 | cout << "Here is the matrix y:" << endl << y << endl;
5 | Matrix3f x;
6 | x = m.colPivHouseholderQr().solve(y);
7 | assert(y.isApprox(m*x));
8 | cout << "Here is a solution x to the equation mx=y:" << endl << x << endl;
9 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/ComplexEigenSolver_eigenvalues.cpp:
--------------------------------------------------------------------------------
1 | MatrixXcf ones = MatrixXcf::Ones(3,3);
2 | ComplexEigenSolver ces(ones, /* computeEigenvectors = */ false);
3 | cout << "The eigenvalues of the 3x3 matrix of ones are:"
4 | << endl << ces.eigenvalues() << endl;
5 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/ComplexEigenSolver_eigenvectors.cpp:
--------------------------------------------------------------------------------
1 | MatrixXcf ones = MatrixXcf::Ones(3,3);
2 | ComplexEigenSolver ces(ones);
3 | cout << "The first eigenvector of the 3x3 matrix of ones is:"
4 | << endl << ces.eigenvectors().col(1) << endl;
5 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/ComplexSchur_compute.cpp:
--------------------------------------------------------------------------------
1 | MatrixXcf A = MatrixXcf::Random(4,4);
2 | ComplexSchur schur(4);
3 | schur.compute(A);
4 | cout << "The matrix T in the decomposition of A is:" << endl << schur.matrixT() << endl;
5 | schur.compute(A.inverse());
6 | cout << "The matrix T in the decomposition of A^(-1) is:" << endl << schur.matrixT() << endl;
7 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/ComplexSchur_matrixT.cpp:
--------------------------------------------------------------------------------
1 | MatrixXcf A = MatrixXcf::Random(4,4);
2 | cout << "Here is a random 4x4 matrix, A:" << endl << A << endl << endl;
3 | ComplexSchur schurOfA(A, false); // false means do not compute U
4 | cout << "The triangular matrix T is:" << endl << schurOfA.matrixT() << endl;
5 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/ComplexSchur_matrixU.cpp:
--------------------------------------------------------------------------------
1 | MatrixXcf A = MatrixXcf::Random(4,4);
2 | cout << "Here is a random 4x4 matrix, A:" << endl << A << endl << endl;
3 | ComplexSchur schurOfA(A);
4 | cout << "The unitary matrix U is:" << endl << schurOfA.matrixU() << endl;
5 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_abs.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,-2,-3);
2 | cout << v.abs() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_abs2.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,-2,-3);
2 | cout << v.abs2() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_acos.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(0, sqrt(2.)/2, 1);
2 | cout << v.acos() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_arg.cpp:
--------------------------------------------------------------------------------
1 | ArrayXcf v = ArrayXcf::Random(3);
2 | cout << v << endl << endl;
3 | cout << arg(v) << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_array_power_array.cpp:
--------------------------------------------------------------------------------
1 | Array 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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_asin.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(0, sqrt(2.)/2, 1);
2 | cout << v.asin() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_atan.cpp:
--------------------------------------------------------------------------------
1 | ArrayXd v = ArrayXd::LinSpaced(5,0,1);
2 | cout << v.atan() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_boolean_and.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(-1,2,1), w(-3,2,3);
2 | cout << ((vw) << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_greater_equal.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,2,3), w(3,2,1);
2 | cout << (v>=w) << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_inverse.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(2,3,4);
2 | cout << v.inverse() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_less.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,2,3), w(3,2,1);
2 | cout << (v e(2,-3,1./3.);
2 | cout << "10^[" << e << "] = " << pow(10,e) << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_sign.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(-3,5,0);
2 | cout << v.sign() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_sin.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(M_PI, M_PI/2, M_PI/3);
2 | cout << v.sin() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_sinh.cpp:
--------------------------------------------------------------------------------
1 | ArrayXd v = ArrayXd::LinSpaced(5,0,1);
2 | cout << sinh(v) << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_sqrt.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(1,2,4);
2 | cout << v.sqrt() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_square.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(2,3,4);
2 | cout << v.square() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_tan.cpp:
--------------------------------------------------------------------------------
1 | Array3d v(M_PI, M_PI/2, M_PI/3);
2 | cout << v.tan() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Cwise_tanh.cpp:
--------------------------------------------------------------------------------
1 | ArrayXd v = ArrayXd::LinSpaced(5,0,1);
2 | cout << tanh(v) << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/DenseBase_LinSpacedInt.cpp:
--------------------------------------------------------------------------------
1 | cout << "Even spacing inputs:" << endl;
2 | cout << VectorXi::LinSpaced(8,1,4).transpose() << endl;
3 | cout << VectorXi::LinSpaced(8,1,8).transpose() << endl;
4 | cout << VectorXi::LinSpaced(8,1,15).transpose() << endl;
5 | cout << "Uneven spacing inputs:" << endl;
6 | cout << VectorXi::LinSpaced(8,1,7).transpose() << endl;
7 | cout << VectorXi::LinSpaced(8,1,9).transpose() << endl;
8 | cout << VectorXi::LinSpaced(8,1,16).transpose() << endl;
9 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/DenseBase_LinSpaced_seq.cpp:
--------------------------------------------------------------------------------
1 | cout << VectorXi::LinSpaced(Sequential,4,7,10).transpose() << endl;
2 | cout << VectorXd::LinSpaced(Sequential,5,0.0,1.0).transpose() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/DenseBase_setLinSpaced.cpp:
--------------------------------------------------------------------------------
1 | VectorXf v;
2 | v.setLinSpaced(5,0.5f,1.5f);
3 | cout << v << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/DirectionWise_hnormalized.cpp:
--------------------------------------------------------------------------------
1 | typedef Matrix Matrix4Xd;
2 | Matrix4Xd M = Matrix4Xd::Random(4,5);
3 | Projective3d P(Matrix4d::Random());
4 | cout << "The matrix M is:" << endl << M << endl << endl;
5 | cout << "M.colwise().hnormalized():" << endl << M.colwise().hnormalized() << endl << endl;
6 | cout << "P*M:" << endl << P*M << endl << endl;
7 | cout << "(P*M).colwise().hnormalized():" << endl << (P*M).colwise().hnormalized() << endl << endl;
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/EigenSolver_compute.cpp:
--------------------------------------------------------------------------------
1 | EigenSolver es;
2 | MatrixXf A = MatrixXf::Random(4,4);
3 | es.compute(A, /* computeEigenvectors = */ false);
4 | cout << "The eigenvalues of A are: " << es.eigenvalues().transpose() << endl;
5 | es.compute(A + MatrixXf::Identity(4,4), false); // re-use es to compute eigenvalues of A+I
6 | cout << "The eigenvalues of A+I are: " << es.eigenvalues().transpose() << endl;
7 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/EigenSolver_eigenvalues.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd ones = MatrixXd::Ones(3,3);
2 | EigenSolver es(ones, false);
3 | cout << "The eigenvalues of the 3x3 matrix of ones are:"
4 | << endl << es.eigenvalues() << endl;
5 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/EigenSolver_eigenvectors.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd ones = MatrixXd::Ones(3,3);
2 | EigenSolver es(ones);
3 | cout << "The first eigenvector of the 3x3 matrix of ones is:"
4 | << endl << es.eigenvectors().col(0) << endl;
5 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/EigenSolver_pseudoEigenvectors.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd A = MatrixXd::Random(6,6);
2 | cout << "Here is a random 6x6 matrix, A:" << endl << A << endl << endl;
3 |
4 | EigenSolver es(A);
5 | MatrixXd D = es.pseudoEigenvalueMatrix();
6 | MatrixXd V = es.pseudoEigenvectors();
7 | cout << "The pseudo-eigenvalue matrix D is:" << endl << D << endl;
8 | cout << "The pseudo-eigenvector matrix V is:" << endl << V << endl;
9 | cout << "Finally, V * D * V^(-1) = " << endl << V * D * V.inverse() << endl;
10 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/FullPivHouseholderQR_solve.cpp:
--------------------------------------------------------------------------------
1 | Matrix3f m = Matrix3f::Random();
2 | Matrix3f y = Matrix3f::Random();
3 | cout << "Here is the matrix m:" << endl << m << endl;
4 | cout << "Here is the matrix y:" << endl << y << endl;
5 | Matrix3f x;
6 | x = m.fullPivHouseholderQr().solve(y);
7 | assert(y.isApprox(m*x));
8 | cout << "Here is a solution x to the equation mx=y:" << endl << x << endl;
9 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/FullPivLU_image.cpp:
--------------------------------------------------------------------------------
1 | Matrix3d m;
2 | m << 1,1,0,
3 | 1,3,2,
4 | 0,1,1;
5 | cout << "Here is the matrix m:" << endl << m << endl;
6 | cout << "Notice that the middle column is the sum of the two others, so the "
7 | << "columns are linearly dependent." << endl;
8 | cout << "Here is a matrix whose columns have the same span but are linearly independent:"
9 | << endl << m.fullPivLu().image(m) << endl;
10 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/FullPivLU_solve.cpp:
--------------------------------------------------------------------------------
1 | Matrix m = Matrix::Random();
2 | Matrix2f y = Matrix2f::Random();
3 | cout << "Here is the matrix m:" << endl << m << endl;
4 | cout << "Here is the matrix y:" << endl << y << endl;
5 | Matrix x = m.fullPivLu().solve(y);
6 | if((m*x).isApprox(y))
7 | {
8 | cout << "Here is a solution x to the equation mx=y:" << endl << x << endl;
9 | }
10 | else
11 | cout << "The equation mx=y does not have any solution." << endl;
12 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/GeneralizedEigenSolver.cpp:
--------------------------------------------------------------------------------
1 | GeneralizedEigenSolver ges;
2 | MatrixXf A = MatrixXf::Random(4,4);
3 | MatrixXf B = MatrixXf::Random(4,4);
4 | ges.compute(A, B);
5 | cout << "The (complex) numerators of the generalzied eigenvalues are: " << ges.alphas().transpose() << endl;
6 | cout << "The (real) denominatore of the generalzied eigenvalues are: " << ges.betas().transpose() << endl;
7 | cout << "The (complex) generalzied eigenvalues are (alphas./beta): " << ges.eigenvalues().transpose() << endl;
8 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/HessenbergDecomposition_compute.cpp:
--------------------------------------------------------------------------------
1 | MatrixXcf A = MatrixXcf::Random(4,4);
2 | HessenbergDecomposition hd(4);
3 | hd.compute(A);
4 | cout << "The matrix H in the decomposition of A is:" << endl << hd.matrixH() << endl;
5 | hd.compute(2*A); // re-use hd to compute and store decomposition of 2A
6 | cout << "The matrix H in the decomposition of 2A is:" << endl << hd.matrixH() << endl;
7 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/HessenbergDecomposition_matrixH.cpp:
--------------------------------------------------------------------------------
1 | Matrix4f A = MatrixXf::Random(4,4);
2 | cout << "Here is a random 4x4 matrix:" << endl << A << endl;
3 | HessenbergDecomposition hessOfA(A);
4 | MatrixXf H = hessOfA.matrixH();
5 | cout << "The Hessenberg matrix H is:" << endl << H << endl;
6 | MatrixXf Q = hessOfA.matrixQ();
7 | cout << "The orthogonal matrix Q is:" << endl << Q << endl;
8 | cout << "Q H Q^T is:" << endl << Q * H * Q.transpose() << endl;
9 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/HessenbergDecomposition_packedMatrix.cpp:
--------------------------------------------------------------------------------
1 | Matrix4d A = Matrix4d::Random(4,4);
2 | cout << "Here is a random 4x4 matrix:" << endl << A << endl;
3 | HessenbergDecomposition hessOfA(A);
4 | Matrix4d pm = hessOfA.packedMatrix();
5 | cout << "The packed matrix M is:" << endl << pm << endl;
6 | cout << "The upper Hessenberg part corresponds to the matrix H, which is:"
7 | << endl << hessOfA.matrixH() << endl;
8 | Vector3d hc = hessOfA.householderCoefficients();
9 | cout << "The vector of Householder coefficients is:" << endl << hc << endl;
10 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/HouseholderQR_householderQ.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf A(MatrixXf::Random(5,3)), thinQ(MatrixXf::Identity(5,3)), Q;
2 | A.setRandom();
3 | HouseholderQR 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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/HouseholderQR_solve.cpp:
--------------------------------------------------------------------------------
1 | typedef Matrix Matrix3x3;
2 | Matrix3x3 m = Matrix3x3::Random();
3 | Matrix3f y = Matrix3f::Random();
4 | cout << "Here is the matrix m:" << endl << m << endl;
5 | cout << "Here is the matrix y:" << endl << y << endl;
6 | Matrix3f x;
7 | x = m.householderQr().solve(y);
8 | assert(y.isApprox(m*x));
9 | cout << "Here is a solution x to the equation mx=y:" << endl << x << endl;
10 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Jacobi_makeGivens.cpp:
--------------------------------------------------------------------------------
1 | Vector2f v = Vector2f::Random();
2 | JacobiRotation G;
3 | G.makeGivens(v.x(), v.y());
4 | cout << "Here is the vector v:" << endl << v << endl;
5 | v.applyOnTheLeft(0, 1, G.adjoint());
6 | cout << "Here is the vector J' * v:" << endl << v << endl;
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Jacobi_makeJacobi.cpp:
--------------------------------------------------------------------------------
1 | Matrix2f m = Matrix2f::Random();
2 | m = (m + m.adjoint()).eval();
3 | JacobiRotation J;
4 | J.makeJacobi(m, 0, 1);
5 | cout << "Here is the matrix m:" << endl << m << endl;
6 | m.applyOnTheLeft(0, 1, J.adjoint());
7 | m.applyOnTheRight(0, 1, J);
8 | cout << "Here is the matrix J' * m * J:" << endl << m << endl;
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/LLT_solve.cpp:
--------------------------------------------------------------------------------
1 | typedef Matrix DataMatrix;
2 | // let's generate some samples on the 3D plane of equation z = 2x+3y (with some noise)
3 | DataMatrix samples = DataMatrix::Random(12,2);
4 | VectorXf elevations = 2*samples.col(0) + 3*samples.col(1) + VectorXf::Random(12)*0.1;
5 | // and let's solve samples * [x y]^T = elevations in least square sense:
6 | Matrix xy
7 | = (samples.adjoint() * samples).llt().solve((samples.adjoint()*elevations));
8 | cout << xy << endl;
9 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Map_general_stride.cpp:
--------------------------------------------------------------------------------
1 | int array[24];
2 | for(int i = 0; i < 24; ++i) array[i] = i;
3 | cout << Map >
4 | (array, 3, 3, Stride(8, 2))
5 | << endl;
6 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Map_inner_stride.cpp:
--------------------------------------------------------------------------------
1 | int array[12];
2 | for(int i = 0; i < 12; ++i) array[i] = i;
3 | cout << Map >
4 | (array, 6) // the inner stride has already been passed as template parameter
5 | << endl;
6 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Map_outer_stride.cpp:
--------------------------------------------------------------------------------
1 | int array[12];
2 | for(int i = 0; i < 12; ++i) array[i] = i;
3 | cout << Map >(array, 3, 3, OuterStride<>(4)) << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Map_placement_new.cpp:
--------------------------------------------------------------------------------
1 | int data[] = {1,2,3,4,5,6,7,8,9};
2 | Map v(data,4);
3 | cout << "The mapped vector v is: " << v << "\n";
4 | new (&v) Map(data+4,5);
5 | cout << "Now v is: " << v << "\n";
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Map_simple.cpp:
--------------------------------------------------------------------------------
1 | int array[9];
2 | for(int i = 0; i < 9; ++i) array[i] = i;
3 | cout << Map(array) << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_asDiagonal.cpp:
--------------------------------------------------------------------------------
1 | cout << Matrix3i(Vector3i(2,5,6).asDiagonal()) << endl;
2 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_cast.cpp:
--------------------------------------------------------------------------------
1 | Matrix2d md = Matrix2d::Identity() * 0.45;
2 | Matrix2f mf = Matrix2f::Identity();
3 | cout << md + mf.cast() << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_col.cpp:
--------------------------------------------------------------------------------
1 | Matrix3d m = Matrix3d::Identity();
2 | m.col(1) = Vector3d(4,5,6);
3 | cout << m << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_computeInverseAndDetWithCheck.cpp:
--------------------------------------------------------------------------------
1 | Matrix3d m = Matrix3d::Random();
2 | cout << "Here is the matrix m:" << endl << m << endl;
3 | Matrix3d inverse;
4 | bool invertible;
5 | double determinant;
6 | m.computeInverseAndDetWithCheck(inverse,determinant,invertible);
7 | cout << "Its determinant is " << determinant << endl;
8 | if(invertible) {
9 | cout << "It is invertible, and its inverse is:" << endl << inverse << endl;
10 | }
11 | else {
12 | cout << "It is not invertible." << endl;
13 | }
14 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_computeInverseWithCheck.cpp:
--------------------------------------------------------------------------------
1 | Matrix3d m = Matrix3d::Random();
2 | cout << "Here is the matrix m:" << endl << m << endl;
3 | Matrix3d inverse;
4 | bool invertible;
5 | m.computeInverseWithCheck(inverse,invertible);
6 | if(invertible) {
7 | cout << "It is invertible, and its inverse is:" << endl << inverse << endl;
8 | }
9 | else {
10 | cout << "It is not invertible." << endl;
11 | }
12 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_cwiseMax.cpp:
--------------------------------------------------------------------------------
1 | Vector3d v(2,3,4), w(4,2,3);
2 | cout << v.cwiseMax(w) << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_cwiseMin.cpp:
--------------------------------------------------------------------------------
1 | Vector3d v(2,3,4), w(4,2,3);
2 | cout << v.cwiseMin(w) << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_cwiseQuotient.cpp:
--------------------------------------------------------------------------------
1 | Vector3d v(2,3,4), w(4,2,3);
2 | cout << v.cwiseQuotient(w) << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_cwiseSqrt.cpp:
--------------------------------------------------------------------------------
1 | Vector3d v(1,2,4);
2 | cout << v.cwiseSqrt() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_eval.cpp:
--------------------------------------------------------------------------------
1 | Matrix2f M = Matrix2f::Random();
2 | Matrix2f m;
3 | m = M;
4 | cout << "Here is the matrix m:" << endl << m << endl;
5 | cout << "Now we want to copy a column into a row." << endl;
6 | cout << "If we do m.col(1) = m.row(0), then m becomes:" << endl;
7 | m.col(1) = m.row(0);
8 | cout << m << endl << "which is wrong!" << endl;
9 | cout << "Now let us instead do m.col(1) = m.row(0).eval(). Then m becomes" << endl;
10 | m = M;
11 | m.col(1) = m.row(0).eval();
12 | cout << m << endl << "which is right." << endl;
13 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_hnormalized.cpp:
--------------------------------------------------------------------------------
1 | Vector4d v = Vector4d::Random();
2 | Projective3d P(Matrix4d::Random());
3 | cout << "v = " << v.transpose() << "]^T" << endl;
4 | cout << "v.hnormalized() = " << v.hnormalized().transpose() << "]^T" << endl;
5 | cout << "P*v = " << (P*v).transpose() << "]^T" << endl;
6 | cout << "(P*v).hnormalized() = " << (P*v).hnormalized().transpose() << "]^T" << endl;
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_homogeneous.cpp:
--------------------------------------------------------------------------------
1 | Vector3d v = Vector3d::Random(), w;
2 | Projective3d P(Matrix4d::Random());
3 | cout << "v = [" << v.transpose() << "]^T" << endl;
4 | cout << "h.homogeneous() = [" << v.homogeneous().transpose() << "]^T" << endl;
5 | cout << "(P * v.homogeneous()) = [" << (P * v.homogeneous()).transpose() << "]^T" << endl;
6 | cout << "(P * v.homogeneous()).hnormalized() = [" << (P * v.homogeneous()).eval().hnormalized().transpose() << "]^T" << endl;
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_identity.cpp:
--------------------------------------------------------------------------------
1 | cout << Matrix::Identity() << endl;
2 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_identity_int_int.cpp:
--------------------------------------------------------------------------------
1 | cout << MatrixXd::Identity(4, 3) << endl;
2 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_ones.cpp:
--------------------------------------------------------------------------------
1 | cout << Matrix2d::Ones() << endl;
2 | cout << 6 * RowVector4i::Ones() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_ones_int.cpp:
--------------------------------------------------------------------------------
1 | cout << 6 * RowVectorXi::Ones(4) << endl;
2 | cout << VectorXf::Ones(2) << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_ones_int_int.cpp:
--------------------------------------------------------------------------------
1 | cout << MatrixXi::Ones(2,3) << endl;
2 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_random.cpp:
--------------------------------------------------------------------------------
1 | cout << 100 * Matrix2i::Random() << endl;
2 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_random_int.cpp:
--------------------------------------------------------------------------------
1 | cout << VectorXi::Random(2) << endl;
2 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_random_int_int.cpp:
--------------------------------------------------------------------------------
1 | cout << MatrixXi::Random(2,3) << endl;
2 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_reverse.cpp:
--------------------------------------------------------------------------------
1 | MatrixXi m = MatrixXi::Random(3,4);
2 | cout << "Here is the matrix m:" << endl << m << endl;
3 | cout << "Here is the reverse of m:" << endl << m.reverse() << endl;
4 | cout << "Here is the coefficient (1,0) in the reverse of m:" << endl
5 | << m.reverse()(1,0) << endl;
6 | cout << "Let us overwrite this coefficient with the value 4." << endl;
7 | m.reverse()(1,0) = 4;
8 | cout << "Now the matrix m is:" << endl << m << endl;
9 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_row.cpp:
--------------------------------------------------------------------------------
1 | Matrix3d m = Matrix3d::Identity();
2 | m.row(1) = Vector3d(4,5,6);
3 | cout << m << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_selfadjointView.cpp:
--------------------------------------------------------------------------------
1 | Matrix3i m = Matrix3i::Random();
2 | cout << "Here is the matrix m:" << endl << m << endl;
3 | cout << "Here is the symmetric matrix extracted from the upper part of m:" << endl
4 | << Matrix3i(m.selfadjointView()) << endl;
5 | cout << "Here is the symmetric matrix extracted from the lower part of m:" << endl
6 | << Matrix3i(m.selfadjointView()) << endl;
7 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_setIdentity.cpp:
--------------------------------------------------------------------------------
1 | Matrix4i m = Matrix4i::Zero();
2 | m.block<3,3>(1,0).setIdentity();
3 | cout << m << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_setOnes.cpp:
--------------------------------------------------------------------------------
1 | Matrix4i m = Matrix4i::Random();
2 | m.row(1).setOnes();
3 | cout << m << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_setRandom.cpp:
--------------------------------------------------------------------------------
1 | Matrix4i m = Matrix4i::Zero();
2 | m.col(1).setRandom();
3 | cout << m << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_setZero.cpp:
--------------------------------------------------------------------------------
1 | Matrix4i m = Matrix4i::Random();
2 | m.row(1).setZero();
3 | cout << m << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_template_int_int_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,Dynamic>(2,2):" << endl;
4 | cout << m.bottomRightCorner<2,Dynamic>(2,2) << endl;
5 | m.bottomRightCorner<2,Dynamic>(2,2).setZero();
6 | cout << "Now the matrix m is:" << endl << m << endl;
7 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_transpose.cpp:
--------------------------------------------------------------------------------
1 | Matrix2i m = Matrix2i::Random();
2 | cout << "Here is the matrix m:" << endl << m << endl;
3 | cout << "Here is the transpose of m:" << endl << m.transpose() << endl;
4 | cout << "Here is the coefficient (1,0) in the transpose of m:" << endl
5 | << m.transpose()(1,0) << endl;
6 | cout << "Let us overwrite this coefficient with the value 0." << endl;
7 | m.transpose()(1,0) = 0;
8 | cout << "Now the matrix m is:" << endl << m << endl;
9 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_zero.cpp:
--------------------------------------------------------------------------------
1 | cout << Matrix2d::Zero() << endl;
2 | cout << RowVector4i::Zero() << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_zero_int.cpp:
--------------------------------------------------------------------------------
1 | cout << RowVectorXi::Zero(4) << endl;
2 | cout << VectorXf::Zero(2) << endl;
3 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/MatrixBase_zero_int_int.cpp:
--------------------------------------------------------------------------------
1 | cout << MatrixXi::Zero(2,3) << endl;
2 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Matrix_resize_int_int.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd m(2,3);
2 | m << 1,2,3,4,5,6;
3 | cout << "here's the 2x3 matrix m:" << endl << m << endl;
4 | cout << "let's resize m to 3x2. This is a conservative resizing because 2*3==3*2." << endl;
5 | m.resize(3,2);
6 | cout << "here's the 3x2 matrix m:" << endl << m << endl;
7 | cout << "now let's resize m to size 2x2. This is NOT a conservative resizing, so it becomes uninitialized:" << endl;
8 | m.resize(2,2);
9 | cout << m << endl;
10 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Matrix_setConstant_int.cpp:
--------------------------------------------------------------------------------
1 | VectorXf v;
2 | v.setConstant(3, 5);
3 | cout << v << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Matrix_setConstant_int_int.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf m;
2 | m.setConstant(3, 3, 5);
3 | cout << m << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Matrix_setIdentity_int_int.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf m;
2 | m.setIdentity(3, 3);
3 | cout << m << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Matrix_setOnes_int.cpp:
--------------------------------------------------------------------------------
1 | VectorXf v;
2 | v.setOnes(3);
3 | cout << v << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Matrix_setOnes_int_int.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf m;
2 | m.setOnes(3, 3);
3 | cout << m << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Matrix_setRandom_int.cpp:
--------------------------------------------------------------------------------
1 | VectorXf v;
2 | v.setRandom(3);
3 | cout << v << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Matrix_setRandom_int_int.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf m;
2 | m.setRandom(3, 3);
3 | cout << m << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Matrix_setZero_int.cpp:
--------------------------------------------------------------------------------
1 | VectorXf v;
2 | v.setZero(3);
3 | cout << v << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Matrix_setZero_int_int.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf m;
2 | m.setZero(3, 3);
3 | cout << m << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/PartialPivLU_solve.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd A = MatrixXd::Random(3,3);
2 | MatrixXd B = MatrixXd::Random(3,2);
3 | cout << "Here is the invertible matrix A:" << endl << A << endl;
4 | cout << "Here is the matrix B:" << endl << B << endl;
5 | MatrixXd X = A.lu().solve(B);
6 | cout << "Here is the (unique) solution X to the equation AX=B:" << endl << X << endl;
7 | cout << "Relative error: " << (A*X-B).norm() / B.norm() << endl;
8 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/PartialRedux_count.cpp:
--------------------------------------------------------------------------------
1 | Matrix3d m = Matrix3d::Random();
2 | cout << "Here is the matrix m:" << endl << m << endl;
3 | Matrix 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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/RealSchur_RealSchur_MatrixType.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd A = MatrixXd::Random(6,6);
2 | cout << "Here is a random 6x6 matrix, A:" << endl << A << endl << endl;
3 |
4 | RealSchur schur(A);
5 | cout << "The orthogonal matrix U is:" << endl << schur.matrixU() << endl;
6 | cout << "The quasi-triangular matrix T is:" << endl << schur.matrixT() << endl << endl;
7 |
8 | MatrixXd U = schur.matrixU();
9 | MatrixXd T = schur.matrixT();
10 | cout << "U * T * U^T = " << endl << U * T * U.transpose() << endl;
11 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/RealSchur_compute.cpp:
--------------------------------------------------------------------------------
1 | MatrixXf A = MatrixXf::Random(4,4);
2 | RealSchur schur(4);
3 | schur.compute(A, /* computeU = */ false);
4 | cout << "The matrix T in the decomposition of A is:" << endl << schur.matrixT() << endl;
5 | schur.compute(A.inverse(), /* computeU = */ false);
6 | cout << "The matrix T in the decomposition of A^(-1) is:" << endl << schur.matrixT() << endl;
7 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/SelfAdjointEigenSolver_SelfAdjointEigenSolver.cpp:
--------------------------------------------------------------------------------
1 | SelfAdjointEigenSolver es;
2 | Matrix4f X = Matrix4f::Random(4,4);
3 | Matrix4f A = X + X.transpose();
4 | es.compute(A);
5 | cout << "The eigenvalues of A are: " << es.eigenvalues().transpose() << endl;
6 | es.compute(A + Matrix4f::Identity(4,4)); // re-use es to compute eigenvalues of A+I
7 | cout << "The eigenvalues of A+I are: " << es.eigenvalues().transpose() << endl;
8 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/SelfAdjointEigenSolver_compute_MatrixType.cpp:
--------------------------------------------------------------------------------
1 | SelfAdjointEigenSolver es(4);
2 | MatrixXf X = MatrixXf::Random(4,4);
3 | MatrixXf A = X + X.transpose();
4 | es.compute(A);
5 | cout << "The eigenvalues of A are: " << es.eigenvalues().transpose() << endl;
6 | es.compute(A + MatrixXf::Identity(4,4)); // re-use es to compute eigenvalues of A+I
7 | cout << "The eigenvalues of A+I are: " << es.eigenvalues().transpose() << endl;
8 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/SelfAdjointEigenSolver_compute_MatrixType2.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd X = MatrixXd::Random(5,5);
2 | MatrixXd A = X * X.transpose();
3 | X = MatrixXd::Random(5,5);
4 | MatrixXd B = X * X.transpose();
5 |
6 | GeneralizedSelfAdjointEigenSolver es(A,B,EigenvaluesOnly);
7 | cout << "The eigenvalues of the pencil (A,B) are:" << endl << es.eigenvalues() << endl;
8 | es.compute(B,A,false);
9 | cout << "The eigenvalues of the pencil (B,A) are:" << endl << es.eigenvalues() << endl;
10 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/SelfAdjointEigenSolver_eigenvalues.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd ones = MatrixXd::Ones(3,3);
2 | SelfAdjointEigenSolver es(ones);
3 | cout << "The eigenvalues of the 3x3 matrix of ones are:"
4 | << endl << es.eigenvalues() << endl;
5 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/SelfAdjointEigenSolver_eigenvectors.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd ones = MatrixXd::Ones(3,3);
2 | SelfAdjointEigenSolver es(ones);
3 | cout << "The first eigenvector of the 3x3 matrix of ones is:"
4 | << endl << es.eigenvectors().col(1) << endl;
5 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/SelfAdjointEigenSolver_operatorInverseSqrt.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd X = MatrixXd::Random(4,4);
2 | MatrixXd A = X * X.transpose();
3 | cout << "Here is a random positive-definite matrix, A:" << endl << A << endl << endl;
4 |
5 | SelfAdjointEigenSolver es(A);
6 | cout << "The inverse square root of A is: " << endl;
7 | cout << es.operatorInverseSqrt() << endl;
8 | cout << "We can also compute it with operatorSqrt() and inverse(). That yields: " << endl;
9 | cout << es.operatorSqrt().inverse() << endl;
10 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/SelfAdjointEigenSolver_operatorSqrt.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd X = MatrixXd::Random(4,4);
2 | MatrixXd A = X * X.transpose();
3 | cout << "Here is a random positive-definite matrix, A:" << endl << A << endl << endl;
4 |
5 | SelfAdjointEigenSolver es(A);
6 | MatrixXd sqrtA = es.operatorSqrt();
7 | cout << "The square root of A is: " << endl << sqrtA << endl;
8 | cout << "If we square this, we get: " << endl << sqrtA*sqrtA << endl;
9 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/SelfAdjointView_eigenvalues.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd ones = MatrixXd::Ones(3,3);
2 | VectorXd eivals = ones.selfadjointView().eigenvalues();
3 | cout << "The eigenvalues of the 3x3 matrix of ones are:" << endl << eivals << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/SelfAdjointView_operatorNorm.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd ones = MatrixXd::Ones(3,3);
2 | cout << "The operator norm of the 3x3 matrix of ones is "
3 | << ones.selfadjointView().operatorNorm() << endl;
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/SparseMatrix_coeffs.cpp:
--------------------------------------------------------------------------------
1 | SparseMatrix A(3,3);
2 | A.insert(1,2) = 0;
3 | A.insert(0,1) = 1;
4 | A.insert(2,0) = 2;
5 | A.makeCompressed();
6 | cout << "The matrix A is:" << endl << MatrixXd(A) << endl;
7 | cout << "it has " << A.nonZeros() << " stored non zero coefficients that are: " << A.coeffs().transpose() << endl;
8 | A.coeffs() += 10;
9 | cout << "After adding 10 to every stored non zero coefficient, the matrix A is:" << endl << MatrixXd(A) << endl;
10 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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;
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Tridiagonalization_Tridiagonalization_MatrixType.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd X = MatrixXd::Random(5,5);
2 | MatrixXd A = X + X.transpose();
3 | cout << "Here is a random symmetric 5x5 matrix:" << endl << A << endl << endl;
4 | Tridiagonalization triOfA(A);
5 | MatrixXd Q = triOfA.matrixQ();
6 | cout << "The orthogonal matrix Q is:" << endl << Q << endl;
7 | MatrixXd T = triOfA.matrixT();
8 | cout << "The tridiagonal matrix T is:" << endl << T << endl << endl;
9 | cout << "Q * T * Q^T = " << endl << Q * T * Q.transpose() << endl;
10 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Tridiagonalization_compute.cpp:
--------------------------------------------------------------------------------
1 | Tridiagonalization tri;
2 | MatrixXf X = MatrixXf::Random(4,4);
3 | MatrixXf A = X + X.transpose();
4 | tri.compute(A);
5 | cout << "The matrix T in the tridiagonal decomposition of A is: " << endl;
6 | cout << tri.matrixT() << endl;
7 | tri.compute(2*A); // re-use tri to compute eigenvalues of 2A
8 | cout << "The matrix T in the tridiagonal decomposition of 2A is: " << endl;
9 | cout << tri.matrixT() << endl;
10 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Tridiagonalization_decomposeInPlace.cpp:
--------------------------------------------------------------------------------
1 | MatrixXd X = MatrixXd::Random(5,5);
2 | MatrixXd A = X + X.transpose();
3 | cout << "Here is a random symmetric 5x5 matrix:" << endl << A << endl << endl;
4 |
5 | VectorXd diag(5);
6 | VectorXd subdiag(4);
7 | internal::tridiagonalization_inplace(A, diag, subdiag, true);
8 | cout << "The orthogonal matrix Q is:" << endl << A << endl;
9 | cout << "The diagonal of the tridiagonal matrix T is:" << endl << diag << endl;
10 | cout << "The subdiagonal of the tridiagonal matrix T is:" << endl << subdiag << endl;
11 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Tridiagonalization_householderCoefficients.cpp:
--------------------------------------------------------------------------------
1 | Matrix4d X = Matrix4d::Random(4,4);
2 | Matrix4d A = X + X.transpose();
3 | cout << "Here is a random symmetric 4x4 matrix:" << endl << A << endl;
4 | Tridiagonalization triOfA(A);
5 | Vector3d hc = triOfA.householderCoefficients();
6 | cout << "The vector of Householder coefficients is:" << endl << hc << endl;
7 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Tridiagonalization_packedMatrix.cpp:
--------------------------------------------------------------------------------
1 | Matrix4d X = Matrix4d::Random(4,4);
2 | Matrix4d A = X + X.transpose();
3 | cout << "Here is a random symmetric 4x4 matrix:" << endl << A << endl;
4 | Tridiagonalization triOfA(A);
5 | Matrix4d pm = triOfA.packedMatrix();
6 | cout << "The packed matrix M is:" << endl << pm << endl;
7 | cout << "The diagonal and subdiagonal corresponds to the matrix T, which is:"
8 | << endl << triOfA.matrixT() << endl;
9 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Tutorial_AdvancedInitialization_Zero.cpp:
--------------------------------------------------------------------------------
1 | std::cout << "A fixed-size array:\n";
2 | Array33f a1 = Array33f::Zero();
3 | std::cout << a1 << "\n\n";
4 |
5 |
6 | std::cout << "A one-dimensional dynamic-size array:\n";
7 | ArrayXf a2 = ArrayXf::Zero(3);
8 | std::cout << a2 << "\n\n";
9 |
10 |
11 | std::cout << "A two-dimensional dynamic-size array:\n";
12 | ArrayXXf a3 = ArrayXXf::Zero(3, 4);
13 | std::cout << a3 << "\n";
14 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Tutorial_Map_rowmajor.cpp:
--------------------------------------------------------------------------------
1 | int array[8];
2 | for(int i = 0; i < 8; ++i) array[i] = i;
3 | cout << "Column-major:\n" << Map >(array) << endl;
4 | cout << "Row-major:\n" << Map >(array) << endl;
5 | cout << "Row-major using stride:\n" <<
6 | Map, Unaligned, Stride<1,4> >(array) << endl;
7 |
8 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 M2(M1.data(), 6,2);
6 | cout << "M2:" << endl << M2 << endl;
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 v1(M1.data(), M1.size());
7 | cout << "v1:" << endl << v1 << endl;
8 |
9 | Matrix M2(M1);
10 | Map v2(M2.data(), M2.size());
11 | cout << "v2:" << endl << v2 << endl;
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Tutorial_SlicingVec.cpp:
--------------------------------------------------------------------------------
1 | RowVectorXf v = RowVectorXf::LinSpaced(20,0,19);
2 | cout << "Input:" << endl << v << endl;
3 | Map > v2(v.data(), v.size()/2);
4 | cout << "Even:" << v2 << endl;
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Tutorial_solve_multiple_rhs.cpp:
--------------------------------------------------------------------------------
1 | Matrix3f A(3,3);
2 | A << 1,2,3, 4,5,6, 7,8,10;
3 | Matrix B;
4 | B << 3,1, 3,1, 4,1;
5 | Matrix X;
6 | X = A.fullPivLu().solve(B);
7 | cout << "The solution with right-hand side (3,3,4) is:" << endl;
8 | cout << X.col(0) << endl;
9 | cout << "The solution with right-hand side (1,1,1) is:" << endl;
10 | cout << X.col(1) << endl;
11 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Tutorial_solve_reuse_decomposition.cpp:
--------------------------------------------------------------------------------
1 | Matrix3f A(3,3);
2 | A << 1,2,3, 4,5,6, 7,8,10;
3 | PartialPivLU luOfA(A); // compute LU decomposition of A
4 | Vector3f b;
5 | b << 3,3,4;
6 | Vector3f x;
7 | x = luOfA.solve(b);
8 | cout << "The solution with right-hand side (3,3,4) is:" << endl;
9 | cout << x << endl;
10 | b << 1,1,1;
11 | x = luOfA.solve(b);
12 | cout << "The solution with right-hand side (1,1,1) is:" << endl;
13 | cout << x << endl;
14 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Tutorial_solve_triangular.cpp:
--------------------------------------------------------------------------------
1 | Matrix3f A;
2 | Vector3f b;
3 | A << 1,2,3, 0,5,6, 0,0,10;
4 | b << 3, 3, 4;
5 | cout << "Here is the matrix A:" << endl << A << endl;
6 | cout << "Here is the vector b:" << endl << b << endl;
7 | Vector3f x = A.triangularView().solve(b);
8 | cout << "The solution is:" << endl << x << endl;
9 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/Tutorial_solve_triangular_inplace.cpp:
--------------------------------------------------------------------------------
1 | Matrix3f A;
2 | Vector3f b;
3 | A << 1,2,3, 0,5,6, 0,0,10;
4 | b << 3, 3, 4;
5 | A.triangularView().solveInPlace(b);
6 | cout << "The solution is:" << endl << b << endl;
7 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/VectorwiseOp_homogeneous.cpp:
--------------------------------------------------------------------------------
1 | typedef Matrix Matrix3Xd;
2 | Matrix3Xd M = Matrix3Xd::Random(3,5);
3 | Projective3d P(Matrix4d::Random());
4 | cout << "The matrix M is:" << endl << M << endl << endl;
5 | cout << "M.colwise().homogeneous():" << endl << M.colwise().homogeneous() << endl << endl;
6 | cout << "P * M.colwise().homogeneous():" << endl << P * M.colwise().homogeneous() << endl << endl;
7 | cout << "P * M.colwise().homogeneous().hnormalized(): " << endl << (P * M.colwise().homogeneous()).colwise().hnormalized() << endl << endl;
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/snippets/tut_arithmetic_redux_minmax.cpp:
--------------------------------------------------------------------------------
1 | Matrix3f m = Matrix3f::Random();
2 | std::ptrdiff_t i, j;
3 | float minOfM = m.minCoeff(&i,&j);
4 | cout << "Here is the matrix m:\n" << m << endl;
5 | cout << "Its minimum coefficient (" << minOfM
6 | << ") is at position (" << i << "," << j << ")\n\n";
7 |
8 | RowVector4i v = RowVector4i::Random();
9 | int maxOfV = v.maxCoeff(&i);
10 | cout << "Here is the vector v: " << v << endl;
11 | cout << "Its maximum coefficient (" << maxOfV
12 | << ") is at position " << i << endl;
13 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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;
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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;
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/doc/special_examples/random_cpp11.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | using namespace Eigen;
6 |
7 | int main() {
8 | std::default_random_engine generator;
9 | std::poisson_distribution distribution(4.1);
10 | auto poisson = [&] () {return distribution(generator);};
11 |
12 | RowVectorXi v = RowVectorXi::NullaryExpr(10, poisson );
13 | std::cout << v << "\n";
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 > qr(Matrix::Random(10,10));
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/block_nonconst_ctor_on_const_xpr_0.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(CV_QUALIFIER Matrix3d &m){
12 | Block b(m,0,0);
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/block_nonconst_ctor_on_const_xpr_1.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(CV_QUALIFIER Matrix3d &m){
12 | Block b(m,0,0,3,3);
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/block_nonconst_ctor_on_const_xpr_2.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(CV_QUALIFIER Matrix3d &m){
12 | // row/column constructor
13 | Block b(m,0);
14 | }
15 |
16 | int main() {}
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/block_on_const_type_actually_const_0.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(){
12 | Matrix3f m;
13 | Block(m, 0, 0, 3, 3).coeffRef(0, 0) = 1.0f;
14 | }
15 |
16 | int main() {}
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/block_on_const_type_actually_const_1.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(){
12 | MatrixXf m;
13 | Block(m, 0, 0).coeffRef(0, 0) = 1.0f;
14 | }
15 |
16 | int main() {}
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 > qr(Matrix::Random(10,10));
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/const_qualified_block_method_retval_0.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(CV_QUALIFIER Matrix3d &m){
12 | Block b(m.block<3,3>(0,0));
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/const_qualified_block_method_retval_1.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(CV_QUALIFIER Matrix3d &m){
12 | Block b(m.block(0,0,3,3));
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/const_qualified_diagonal_method_retval.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(CV_QUALIFIER Matrix3d &m){
12 | Diagonal b(m.diagonal());
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/const_qualified_transpose_method_retval.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(CV_QUALIFIER Matrix3d &m){
12 | Transpose b(m.transpose());
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/cwiseunaryview_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 | CwiseUnaryView,Matrix3d> t(m);
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/cwiseunaryview_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 | CwiseUnaryView,CV_QUALIFIER MatrixXf>(m).coeffRef(0, 0) = 1.0f;
14 | }
15 |
16 | int main() {}
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/diagonal_nonconst_ctor_on_const_xpr.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(CV_QUALIFIER Matrix3d &m){
12 | Diagonal d(m);
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/diagonal_on_const_type_actually_const.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(){
12 | MatrixXf m;
13 | Diagonal(m).coeffRef(0) = 1.0f;
14 | }
15 |
16 | int main() {}
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/eigensolver_cplx.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Eigenvalues"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define SCALAR std::complex
5 | #else
6 | #define SCALAR float
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | int main()
12 | {
13 | EigenSolver > eig(Matrix::Random(10,10));
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 > eig(Matrix::Random(10,10));
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 > lu(Matrix::Random(10,10));
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 > qr(Matrix::Random(10,10));
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 > qr(Matrix::Random(10,10));
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 > ldlt(Matrix::Random(10,10));
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 > llt(Matrix::Random(10,10));
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/map_nonconst_ctor_on_const_ptr_0.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(CV_QUALIFIER float *ptr){
12 | Map m(ptr);
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/map_nonconst_ctor_on_const_ptr_1.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(CV_QUALIFIER float *ptr, DenseIndex size){
12 | Map m(ptr, size);
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/map_nonconst_ctor_on_const_ptr_2.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(CV_QUALIFIER float *ptr, DenseIndex rows, DenseIndex cols){
12 | Map m(ptr, rows, cols);
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/map_nonconst_ctor_on_const_ptr_3.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(CV_QUALIFIER float *ptr, DenseIndex rows, DenseIndex cols){
12 | Map > m(ptr, rows, cols, InnerStride<2>());
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/map_nonconst_ctor_on_const_ptr_4.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER
5 | #else
6 | #define CV_QUALIFIER const
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(const float *ptr, DenseIndex rows, DenseIndex cols){
12 | Map > m(ptr, rows, cols, OuterStride<>(2));
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/map_on_const_type_actually_const_0.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(float *ptr){
12 | Map(ptr, 1, 1).coeffRef(0,0) = 1.0f;
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/map_on_const_type_actually_const_1.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(float *ptr){
12 | Map(ptr).coeffRef(0) = 1.0f;
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 > lu(Matrix::Random(10,10));
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 > qr(Matrix::Random(10,10));
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 a) { }
12 |
13 | int main()
14 | {
15 | VectorXf a(10);
16 | CV_QUALIFIER VectorXf& ac(a);
17 | call_ref(ac);
18 | }
19 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/ref_2.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | using namespace Eigen;
4 |
5 | void call_ref(Ref 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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 a) { }
7 | #else
8 | void call_ref(const Ref &a) { }
9 | #endif
10 |
11 | int main()
12 | {
13 | VectorXf a(10);
14 | call_ref(a+a);
15 | }
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/ref_4.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | using namespace Eigen;
4 |
5 | void call_ref(Ref > 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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/ref_5.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | using namespace Eigen;
4 |
5 | void call_ref(Ref a) { }
6 |
7 | int main()
8 | {
9 | VectorXf a(10);
10 | DenseBase &ac(a);
11 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
12 | call_ref(ac);
13 | #else
14 | call_ref(ac.derived());
15 | #endif
16 | }
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 t(m);
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/selfadjointview_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 | SelfAdjointView(m).coeffRef(0, 0) = 1.0f;
14 | }
15 |
16 | int main() {}
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/sparse_ref_1.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Sparse"
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 > a) { }
12 |
13 | int main()
14 | {
15 | SparseMatrix a(10,10);
16 | CV_QUALIFIER SparseMatrix& ac(a);
17 | call_ref(ac);
18 | }
19 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/sparse_ref_2.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Sparse"
2 |
3 | using namespace Eigen;
4 |
5 | void call_ref(Ref > a) { }
6 |
7 | int main()
8 | {
9 | SparseMatrix 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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 > a) { }
7 | #else
8 | void call_ref(const Ref > &a) { }
9 | #endif
10 |
11 | int main()
12 | {
13 | SparseMatrix a(10,10);
14 | call_ref(a+a);
15 | }
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/sparse_ref_4.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Sparse"
2 |
3 | using namespace Eigen;
4 |
5 | void call_ref(Ref > a) {}
6 |
7 | int main()
8 | {
9 | SparseMatrix 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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/sparse_ref_5.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Sparse"
2 |
3 | using namespace Eigen;
4 |
5 | void call_ref(Ref > a) { }
6 |
7 | int main()
8 | {
9 | SparseMatrix a(10,10);
10 | SparseMatrixBase > &ac(a);
11 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
12 | call_ref(ac);
13 | #else
14 | call_ref(ac.derived());
15 | #endif
16 | }
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/sparse_storage_mismatch.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Sparse"
2 | using namespace Eigen;
3 |
4 | typedef SparseMatrix Mat1;
5 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
6 | typedef SparseMatrix Mat2;
7 | #else
8 | typedef SparseMatrix Mat2;
9 | #endif
10 |
11 | int main()
12 | {
13 | Mat1 a(10,10);
14 | Mat2 b(10,10);
15 | a += b;
16 | }
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 &ac(a);
10 | #else
11 | DenseBase &ac(a);
12 | #endif
13 | b.swap(ac);
14 | }
15 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 | }
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/transpose_nonconst_ctor_on_const_xpr.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(CV_QUALIFIER Matrix3d &m){
12 | Transpose t(m);
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/transpose_on_const_type_actually_const.cpp:
--------------------------------------------------------------------------------
1 | #include "../Eigen/Core"
2 |
3 | #ifdef EIGEN_SHOULD_FAIL_TO_BUILD
4 | #define CV_QUALIFIER const
5 | #else
6 | #define CV_QUALIFIER
7 | #endif
8 |
9 | using namespace Eigen;
10 |
11 | void foo(){
12 | MatrixXf m;
13 | Transpose(m).coeffRef(0, 0) = 1.0f;
14 | }
15 |
16 | int main() {}
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 t(m);
13 | }
14 |
15 | int main() {}
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/failtest/triangularview_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 | TriangularView(m).coeffRef(0, 0) = 1.0f;
14 | }
15 |
16 | int main() {}
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/scripts/debug.in:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | cmake -DCMAKE_BUILD_TYPE=Debug .
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/scripts/release.in:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | cmake -DCMAKE_BUILD_TYPE=Release .
4 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/unsupported/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | add_subdirectory(Eigen)
2 | add_subdirectory(doc EXCLUDE_FROM_ALL)
3 | if(BUILD_TESTING)
4 | if(EIGEN_LEAVE_TEST_IN_ALL_TARGET)
5 | add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest
6 | else()
7 | add_subdirectory(test EXCLUDE_FROM_ALL)
8 | endif()
9 | endif()
10 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/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 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/unsupported/doc/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL TRUE)
2 |
3 | add_subdirectory(examples)
4 | add_subdirectory(snippets)
5 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/unsupported/doc/examples/MatrixExponential.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 |
6 | int main()
7 | {
8 | const double pi = std::acos(-1.0);
9 |
10 | MatrixXd A(3,3);
11 | A << 0, -pi/4, 0,
12 | pi/4, 0, 0,
13 | 0, 0, 0;
14 | std::cout << "The matrix A is:\n" << A << "\n\n";
15 | std::cout << "The matrix exponential of A is:\n" << A.exp() << "\n\n";
16 | }
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/unsupported/doc/examples/MatrixLogarithm.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 |
6 | int main()
7 | {
8 | using std::sqrt;
9 | MatrixXd A(3,3);
10 | A << 0.5*sqrt(2), -0.5*sqrt(2), 0,
11 | 0.5*sqrt(2), 0.5*sqrt(2), 0,
12 | 0, 0, 1;
13 | std::cout << "The matrix A is:\n" << A << "\n\n";
14 | std::cout << "The matrix logarithm of A is:\n" << A.log() << "\n";
15 | }
16 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/unsupported/doc/examples/MatrixPower.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 |
6 | int main()
7 | {
8 | const double pi = std::acos(-1.0);
9 | Matrix3d A;
10 | A << cos(1), -sin(1), 0,
11 | sin(1), cos(1), 0,
12 | 0 , 0 , 1;
13 | std::cout << "The matrix A is:\n" << A << "\n\n"
14 | "The matrix power A^(pi/4) is:\n" << A.pow(pi/4) << std::endl;
15 | return 0;
16 | }
17 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/unsupported/doc/examples/MatrixPower_optimal.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 |
6 | int main()
7 | {
8 | Matrix4cd A = Matrix4cd::Random();
9 | MatrixPower Apow(A);
10 |
11 | std::cout << "The matrix A is:\n" << A << "\n\n"
12 | "A^3.1 is:\n" << Apow(3.1) << "\n\n"
13 | "A^3.3 is:\n" << Apow(3.3) << "\n\n"
14 | "A^3.7 is:\n" << Apow(3.7) << "\n\n"
15 | "A^3.9 is:\n" << Apow(3.9) << std::endl;
16 | return 0;
17 | }
18 |
--------------------------------------------------------------------------------
/MCVO/thirdparty/eigen/unsupported/doc/examples/MatrixSquareRoot.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | using namespace Eigen;
5 |
6 | int main()
7 | {
8 | const double pi = std::acos(-1.0);
9 |
10 | MatrixXd A(2,2);
11 | A << cos(pi/3), -sin(pi/3),
12 | sin(pi/3), cos(pi/3);
13 | std::cout << "The matrix A is:\n" << A << "\n\n";
14 | std::cout << "The matrix square root of A is:\n" << A.sqrt() << "\n\n";
15 | std::cout << "The square of the last matrix is:\n" << A.sqrt() * A.sqrt() << "\n";
16 | }
17 |
--------------------------------------------------------------------------------
/camera_model/instruction:
--------------------------------------------------------------------------------
1 | rosrun camera_model Calibration -w 8 -h 11 -s 70 -i ~/bag/PX/calib/
2 |
--------------------------------------------------------------------------------
/pose_graph/src/utility/utility.cpp:
--------------------------------------------------------------------------------
1 | #include "utility.h"
2 |
3 | Eigen::Matrix3d Utility::g2R(const Eigen::Vector3d &g)
4 | {
5 | Eigen::Matrix3d R0;
6 | Eigen::Vector3d ng1 = g.normalized();
7 | Eigen::Vector3d ng2{0, 0, 1.0};
8 | R0 = Eigen::Quaterniond::FromTwoVectors(ng1, ng2).toRotationMatrix();
9 | double yaw = Utility::R2ypr(R0).x();
10 | R0 = Utility::ypr2R(Eigen::Vector3d{-yaw, 0, 0}) * R0;
11 | // R0 = Utility::ypr2R(Eigen::Vector3d{-90, 0, 0}) * R0;
12 | return R0;
13 | }
14 |
--------------------------------------------------------------------------------