mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-29 08:34:37 +08:00
Support Eigen3 5.0.0
Change-Id: I5cf476a6d8c090861f4ea4a254a35d39e36a6d68
This commit is contained in:
@@ -724,8 +724,13 @@ bool CovarianceImpl::ComputeCovarianceValuesUsingDenseSVD() {
|
||||
}
|
||||
event_logger.AddEvent("ConvertToDenseMatrix");
|
||||
|
||||
#if EIGEN_VERSION_AT_LEAST(5, 0, 0)
|
||||
Eigen::BDCSVD<Matrix, Eigen::ComputeThinU | Eigen::ComputeThinV> svd(
|
||||
dense_jacobian);
|
||||
#else // !EIGEN_VERSION_AT_LEAST(5, 0, 0)
|
||||
Eigen::BDCSVD<Matrix> svd(dense_jacobian,
|
||||
Eigen::ComputeThinU | Eigen::ComputeThinV);
|
||||
#endif // EIGEN_VERSION_AT_LEAST(5, 0, 0)
|
||||
|
||||
event_logger.AddEvent("SingularValueDecomposition");
|
||||
|
||||
|
||||
@@ -67,7 +67,11 @@ typename EigenTypes<kSize, kSize>::Matrix InvertPSDMatrix(
|
||||
|
||||
// For a thin SVD the number of columns of the matrix need to be dynamic.
|
||||
using SVDMType = typename EigenTypes<kSize, Eigen::Dynamic>::Matrix;
|
||||
#if EIGEN_VERSION_AT_LEAST(5, 0, 0)
|
||||
Eigen::JacobiSVD<SVDMType, Eigen::ComputeThinU | Eigen::ComputeThinV> svd(m);
|
||||
#else // !EIGEN_VERSION_AT_LEAST(5, 0, 0)
|
||||
Eigen::JacobiSVD<SVDMType> svd(m, Eigen::ComputeThinU | Eigen::ComputeThinV);
|
||||
#endif // EIGEN_VERSION_AT_LEAST(5, 0, 0)
|
||||
return svd.solve(MType::Identity(size, size));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user