diff options
author | Gael Guennebaud <g.gael@free.fr> | 2008-08-16 07:09:39 +0000 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2008-08-16 07:09:39 +0000 |
commit | 5546e963c922aeafd5a9f1abc47a3f0ff9081ff8 (patch) | |
tree | aa1b8a2b0448c0aa791369168b225bd7a87ad356 /test/cholesky.cpp | |
parent | d9d69de38240d57ae211c9f10c657bc9dfaf2e7f (diff) |
bugfix in CholeskyWithoutSquareRoot::solve found by Timothy Hunter
Diffstat (limited to 'test/cholesky.cpp')
-rw-r--r-- | test/cholesky.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/test/cholesky.cpp b/test/cholesky.cpp index eab1febf2..55a74c477 100644 --- a/test/cholesky.cpp +++ b/test/cholesky.cpp @@ -39,16 +39,19 @@ template<typename MatrixType> void cholesky(const MatrixType& m) typedef Matrix<Scalar, MatrixType::RowsAtCompileTime, 1> VectorType; MatrixType a = MatrixType::Random(rows,cols); - VectorType b = VectorType::Random(rows); + VectorType vecB = VectorType::Random(rows); + MatrixType matB = MatrixType::Random(rows,cols); SquareMatrixType covMat = a * a.adjoint(); CholeskyWithoutSquareRoot<SquareMatrixType> cholnosqrt(covMat); VERIFY_IS_APPROX(covMat, cholnosqrt.matrixL() * cholnosqrt.vectorD().asDiagonal() * cholnosqrt.matrixL().adjoint()); - VERIFY_IS_APPROX(covMat * cholnosqrt.solve(b), b); + VERIFY_IS_APPROX(covMat * cholnosqrt.solve(vecB), vecB); + VERIFY_IS_APPROX(covMat * cholnosqrt.solve(matB), matB); Cholesky<SquareMatrixType> chol(covMat); VERIFY_IS_APPROX(covMat, chol.matrixL() * chol.matrixL().adjoint()); - VERIFY_IS_APPROX(covMat * chol.solve(b), b); + VERIFY_IS_APPROX(covMat * chol.solve(vecB), vecB); + VERIFY_IS_APPROX(covMat * chol.solve(matB), matB); } void test_cholesky() |