aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/jacobisvd.cpp
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2011-12-23 23:22:31 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2011-12-23 23:22:31 +0100
commit15ea999f84f65e7664fc9b662f79d37e2fb5fd4d (patch)
tree505419d5c2f24b0fa3fe3ba57881d6972fec870c /test/jacobisvd.cpp
parent901bcdd2a807d70466632c899d0fa68c66e6ecbb (diff)
pushed too fast the previous one
Diffstat (limited to 'test/jacobisvd.cpp')
-rw-r--r--test/jacobisvd.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/test/jacobisvd.cpp b/test/jacobisvd.cpp
index 9ce4d8b29..fb44dae95 100644
--- a/test/jacobisvd.cpp
+++ b/test/jacobisvd.cpp
@@ -132,8 +132,11 @@ void jacobisvd_test_all_computation_options(const MatrixType& m)
jacobisvd_solve<MatrixType, QRPreconditioner>(m, ComputeThinU | ComputeFullV);
jacobisvd_solve<MatrixType, QRPreconditioner>(m, ComputeThinU | ComputeThinV);
+ // test reconstruction
+ typedef typename MatrixType::Index Index;
+ Index diagSize = (std::min)(m.rows(), m.cols());
JacobiSVD<MatrixType, QRPreconditioner> svd(m, ComputeThinU | ComputeThinV);
- VERIFY_IS_APPROX(m, svd.matrixU() * svd.singularValues().asDiagonal() * svd.matrixV().transpose());
+ VERIFY_IS_APPROX(m, svd.matrixU().leftCols(diagSize) * svd.singularValues().asDiagonal() * svd.matrixV().leftCols(diagSize).adjoint());
}
}