diff options
author | Gael Guennebaud <g.gael@free.fr> | 2009-12-14 10:25:21 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2009-12-14 10:25:21 +0100 |
commit | 7a9988ebb6e87da84134901c568c00a5cb561809 (patch) | |
tree | 29958cf762066b360bbf04937437122abee1a423 /test/sparse_solvers.cpp | |
parent | 9facdaf7b9fa65d7f669af0bfabd34e23698f446 (diff) |
fix spasre triangular solve for row major lower matrices
Diffstat (limited to 'test/sparse_solvers.cpp')
-rw-r--r-- | test/sparse_solvers.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/test/sparse_solvers.cpp b/test/sparse_solvers.cpp index 24107977c..b88fa1cc9 100644 --- a/test/sparse_solvers.cpp +++ b/test/sparse_solvers.cpp @@ -73,7 +73,15 @@ template<typename Scalar> void sparse_solvers(int rows, int cols) VERIFY_IS_APPROX(refMat2.template triangularView<UpperTriangular>().solve(vec2), m2.template triangularView<UpperTriangular>().solve(vec3)); - // TODO test row major + // lower - transpose + initSparse<Scalar>(density, refMat2, m2, ForceNonZeroDiag|MakeLowerTriangular, &zeroCoords, &nonzeroCoords); + VERIFY_IS_APPROX(refMat2.template marked<LowerTriangular>().transpose().solveTriangular(vec2), + m2.template marked<LowerTriangular>().transpose().solveTriangular(vec3)); + + // upper - transpose + initSparse<Scalar>(density, refMat2, m2, ForceNonZeroDiag|MakeUpperTriangular, &zeroCoords, &nonzeroCoords); + VERIFY_IS_APPROX(refMat2.template marked<UpperTriangular>().transpose().solveTriangular(vec2), + m2.template marked<UpperTriangular>().transpose().solveTriangular(vec3)); SparseMatrix<Scalar> matB(rows, rows); DenseMatrix refMatB = DenseMatrix::Zero(rows, rows); |