mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e1c96f3fe0 | ||
|
|
46f0fe3b4b | ||
|
|
e17e4f3654 | ||
|
|
2b006ae430 | ||
|
|
df6923fd2b |
@@ -1,7 +1,7 @@
|
|||||||
project(Eigen)
|
project(Eigen)
|
||||||
cmake_minimum_required(VERSION 2.6.2)
|
cmake_minimum_required(VERSION 2.6.2)
|
||||||
|
|
||||||
set(EIGEN_VERSION_NUMBER "2.0.7")
|
set(EIGEN_VERSION_NUMBER "2.0.8")
|
||||||
set(EIGEN_VERSION "${EIGEN_VERSION_NUMBER}")
|
set(EIGEN_VERSION "${EIGEN_VERSION_NUMBER}")
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
|
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
|
||||||
@@ -81,7 +81,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
|||||||
|
|
||||||
if(EIGEN_BUILD_PKGCONFIG)
|
if(EIGEN_BUILD_PKGCONFIG)
|
||||||
configure_file(eigen2.pc.in eigen2.pc)
|
configure_file(eigen2.pc.in eigen2.pc)
|
||||||
install(FILES eigen2.pc
|
install(FILES ${CMAKE_INSTALL_PREFIX}/eigen2.pc
|
||||||
DESTINATION lib/pkgconfig
|
DESTINATION lib/pkgconfig
|
||||||
)
|
)
|
||||||
endif(EIGEN_BUILD_PKGCONFIG)
|
endif(EIGEN_BUILD_PKGCONFIG)
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
#define EIGEN_WORLD_VERSION 2
|
#define EIGEN_WORLD_VERSION 2
|
||||||
#define EIGEN_MAJOR_VERSION 0
|
#define EIGEN_MAJOR_VERSION 0
|
||||||
#define EIGEN_MINOR_VERSION 7
|
#define EIGEN_MINOR_VERSION 8
|
||||||
|
|
||||||
#define EIGEN_VERSION_AT_LEAST(x,y,z) (EIGEN_WORLD_VERSION>x || (EIGEN_WORLD_VERSION>=x && \
|
#define EIGEN_VERSION_AT_LEAST(x,y,z) (EIGEN_WORLD_VERSION>x || (EIGEN_WORLD_VERSION>=x && \
|
||||||
(EIGEN_MAJOR_VERSION>y || (EIGEN_MAJOR_VERSION>=y && \
|
(EIGEN_MAJOR_VERSION>y || (EIGEN_MAJOR_VERSION>=y && \
|
||||||
|
|||||||
@@ -61,6 +61,8 @@ template<typename MatrixType> class SVD
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
SVD() {} // a user who relied on compiler-generated default compiler reported problems with MSVC in 2.0.7
|
||||||
|
|
||||||
SVD(const MatrixType& matrix)
|
SVD(const MatrixType& matrix)
|
||||||
: m_matU(matrix.rows(), std::min(matrix.rows(), matrix.cols())),
|
: m_matU(matrix.rows(), std::min(matrix.rows(), matrix.cols())),
|
||||||
m_matV(matrix.cols(),matrix.cols()),
|
m_matV(matrix.cols(),matrix.cols()),
|
||||||
@@ -108,6 +110,7 @@ void SVD<MatrixType>::compute(const MatrixType& matrix)
|
|||||||
const int n = matrix.cols();
|
const int n = matrix.cols();
|
||||||
const int nu = std::min(m,n);
|
const int nu = std::min(m,n);
|
||||||
ei_assert(m>=n && "In Eigen 2.0, SVD only works for MxN matrices with M>=N. Sorry!");
|
ei_assert(m>=n && "In Eigen 2.0, SVD only works for MxN matrices with M>=N. Sorry!");
|
||||||
|
ei_assert(m>1 && "In Eigen 2.0, SVD doesn't work on 1x1 matrices");
|
||||||
|
|
||||||
m_matU.resize(m, nu);
|
m_matU.resize(m, nu);
|
||||||
m_matU.setZero();
|
m_matU.setZero();
|
||||||
|
|||||||
@@ -95,5 +95,8 @@ void test_svd()
|
|||||||
// complex are not implemented yet
|
// complex are not implemented yet
|
||||||
// CALL_SUBTEST( svd(MatrixXcd(6,6)) );
|
// CALL_SUBTEST( svd(MatrixXcd(6,6)) );
|
||||||
// CALL_SUBTEST( svd(MatrixXcf(3,3)) );
|
// CALL_SUBTEST( svd(MatrixXcf(3,3)) );
|
||||||
|
SVD<MatrixXf> s;
|
||||||
|
MatrixXf m = MatrixXf::Random(10,1);
|
||||||
|
s.compute(m);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user