diff options
Diffstat (limited to 'test/inverse.cpp')
-rw-r--r-- | test/inverse.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/inverse.cpp b/test/inverse.cpp index b8170a738..269678fd4 100644 --- a/test/inverse.cpp +++ b/test/inverse.cpp @@ -68,17 +68,26 @@ template<typename MatrixType> void inverse(const MatrixType& m) //First: an invertible matrix bool invertible; RealScalar det; + + m2.setZero(); m1.computeInverseAndDetWithCheck(m2, det, invertible); VERIFY(invertible); VERIFY_IS_APPROX(identity, m1*m2); VERIFY_IS_APPROX(det, m1.determinant()); + m2.setZero(); + m1.computeInverseWithCheck(m2, invertible); + VERIFY(invertible); + VERIFY_IS_APPROX(identity, m1*m2); + //Second: a rank one matrix (not invertible, except for 1x1 matrices) VectorType v3 = VectorType::Random(rows); MatrixType m3 = v3*v3.transpose(), m4(rows,cols); m3.computeInverseAndDetWithCheck(m4, det, invertible); VERIFY( rows==1 ? invertible : !invertible ); VERIFY_IS_APPROX(det, m3.determinant()); + m3.computeInverseWithCheck(m4, invertible); + VERIFY( rows==1 ? invertible : !invertible ); #endif } |