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(m, ComputeThinU | ComputeFullV); jacobisvd_solve(m, ComputeThinU | ComputeThinV); + // test reconstruction + typedef typename MatrixType::Index Index; + Index diagSize = (std::min)(m.rows(), m.cols()); JacobiSVD 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()); } }