From 8356bc8d067d0f291284b256c515b1be0766856c Mon Sep 17 00:00:00 2001 From: Benoit Jacob Date: Sun, 17 Oct 2010 09:40:52 -0400 Subject: add jacobiSvd() method, update test & docs --- test/jacobisvd.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'test/jacobisvd.cpp') diff --git a/test/jacobisvd.cpp b/test/jacobisvd.cpp index 7d8c36308..212f7f1d7 100644 --- a/test/jacobisvd.cpp +++ b/test/jacobisvd.cpp @@ -196,6 +196,19 @@ template void jacobisvd_verify_assert(const MatrixType& m) } } +template +void jacobisvd_method() +{ + enum { Size = MatrixType::RowsAtCompileTime }; + typedef typename MatrixType::RealScalar RealScalar; + typedef Matrix RealVecType; + MatrixType m = MatrixType::Identity(); + VERIFY_IS_APPROX(m.jacobiSvd().singularValues(), RealVecType::Ones()); + VERIFY_RAISES_ASSERT(m.jacobiSvd().matrixU()); + VERIFY_RAISES_ASSERT(m.jacobiSvd().matrixV()); + VERIFY_IS_APPROX(m.jacobiSvd(ComputeFullU|ComputeFullV).solve(m), m); +} + template void jacobisvd_inf_nan() { @@ -256,6 +269,10 @@ void test_jacobisvd() CALL_SUBTEST_7(( jacobisvd(MatrixXf(ei_random(100, 150), ei_random(100, 150))) )); CALL_SUBTEST_8(( jacobisvd(MatrixXcd(ei_random(80, 100), ei_random(80, 100))) )); + // test matrixbase method + CALL_SUBTEST_1(( jacobisvd_method() )); + CALL_SUBTEST_3(( jacobisvd_method() )); + // Test problem size constructors CALL_SUBTEST_7( JacobiSVD(10,10) ); } -- cgit v1.2.3