diff options
author | Desire NUENTSA <desire.nuentsa_wakam@inria.fr> | 2012-07-09 19:09:48 +0200 |
---|---|---|
committer | Desire NUENTSA <desire.nuentsa_wakam@inria.fr> | 2012-07-09 19:09:48 +0200 |
commit | 3095e4a5f92d41c0b60b2c01b0a73903c70c1218 (patch) | |
tree | 882ddb228033a538643d1e972f82a10bcbe1e0f8 /Eigen/src/SparseLU/SparseLU_column_bmod.h | |
parent | b5a83867cac92a539b3a4d1cf8fcdcf8e9e9f5b2 (diff) |
Correct bug for triangular solve within supernodes
Diffstat (limited to 'Eigen/src/SparseLU/SparseLU_column_bmod.h')
-rw-r--r-- | Eigen/src/SparseLU/SparseLU_column_bmod.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Eigen/src/SparseLU/SparseLU_column_bmod.h b/Eigen/src/SparseLU/SparseLU_column_bmod.h index 02ea7c360..3042eb5f8 100644 --- a/Eigen/src/SparseLU/SparseLU_column_bmod.h +++ b/Eigen/src/SparseLU/SparseLU_column_bmod.h @@ -137,7 +137,7 @@ int LU_column_bmod(const int jcol, const int nseg, BlockScalarVector& dense, Sca Map<Matrix<Scalar,Dynamic,Dynamic>, 0, OuterStride<> > A( &(lusup.data()[luptr]), segsize, segsize, OuterStride<>(nsupr) ); VectorBlock<ScalarVector> u(tempv, 0, segsize); - u = A.template triangularView<Lower>().solve(u); + u = A.template triangularView<UnitLower>().solve(u); // Dense matrix-vector product y <-- A*x luptr += segsize; @@ -213,7 +213,7 @@ int LU_column_bmod(const int jcol, const int nseg, BlockScalarVector& dense, Sca ufirst = xlusup(jcol) + d_fsupc; Map<Matrix<Scalar,Dynamic,Dynamic>, 0, OuterStride<> > A( &(lusup.data()[luptr]), nsupc, nsupc, OuterStride<>(nsupr) ); VectorBlock<ScalarVector> u(lusup, ufirst, nsupc); - u = A.template triangularView<Lower>().solve(u); + u = A.template triangularView<UnitLower>().solve(u); new (&A) Map<Matrix<Scalar,Dynamic,Dynamic>, 0, OuterStride<> > ( &(lusup.data()[luptr+nsupc]), nrow, nsupc, OuterStride<>(nsupr) ); VectorBlock<ScalarVector> l(lusup, ufirst+nsupc, nrow); |