12 #define EIGEN_STACK_ALLOCATION_LIMIT 0 13 #define EIGEN_RUNTIME_NO_MALLOC 17 #define SVD_DEFAULT(M) JacobiSVD<M> 18 #define SVD_FOR_MIN_NORM(M) JacobiSVD<M,ColPivHouseholderQRPreconditioner> 22 template<
typename MatrixType>
32 if(m.rows()==m.cols())
38 svd_verify_assert<JacobiSVD<MatrixType> >(
m);
43 ColsAtCompileTime = MatrixType::ColsAtCompileTime
50 if (ColsAtCompileTime ==
Dynamic)
59 template<typename MatrixType>
62 enum { Size = MatrixType::RowsAtCompileTime };
98 CALL_SUBTEST_3(( jacobisvd<Matrix3f>() ));
99 CALL_SUBTEST_4(( jacobisvd<Matrix4d>() ));
103 int r = internal::random<int>(1, 30),
104 c = internal::random<int>(1, 30);
109 CALL_SUBTEST_10(( jacobisvd<MatrixXd>(MatrixXd(r,
c)) ));
110 CALL_SUBTEST_7(( jacobisvd<MatrixXf>(MatrixXf(r,
c)) ));
111 CALL_SUBTEST_8(( jacobisvd<MatrixXcd>(MatrixXcd(r,
c)) ));
130 CALL_SUBTEST_1(( jacobisvd_method<Matrix2cd>() ));
131 CALL_SUBTEST_3(( jacobisvd_method<Matrix3f>() ));
137 CALL_SUBTEST_9( svd_preallocate<void>() );
139 CALL_SUBTEST_2( svd_underoverflow<void>() );
void svd_test_all_computation_options(const MatrixType &m, bool full_only)
void svd_fill_random(MatrixType &m, int Option=0)
#define VERIFY_RAISES_ASSERT(a)
#define EIGEN_NOT_A_MACRO
bool operator<(const Bar &, const Bar &)
void jacobisvd_verify_assert(const MatrixType &m)
#define VERIFY_IS_APPROX(a, b)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
NumTraits< Scalar >::Real RealScalar
#define TEST_SET_BUT_UNUSED_VARIABLE(X)
void jacobisvd(const MatrixType &a=MatrixType(), bool pickrandom=true)
#define CALL_SUBTEST(FUNC)
#define EIGEN_TEST_MAX_SIZE
Two-sided Jacobi SVD decomposition of a rectangular matrix.
JacobiSVD & compute(const MatrixType &matrix, unsigned int computationOptions)
Method performing the decomposition of given matrix using custom options.
void svd_all_trivial_2x2(void(*cb)(const MatrixType &, bool))
The matrix class, also used for vectors and row-vectors.