diff --git a/Eigen/src/SparseLU/SparseLU.h b/Eigen/src/SparseLU/SparseLU.h index 74f710563..8fbb794ff 100644 --- a/Eigen/src/SparseLU/SparseLU.h +++ b/Eigen/src/SparseLU/SparseLU.h @@ -186,7 +186,7 @@ class SparseLU // Triangular solve Map, 0, OuterStride<> > A( &(Lval[luptr]), nsupc, nsupc, OuterStride<>(nsupr) ); Map< Matrix, 0, OuterStride<> > U (&(X.data()[fsupc]), nsupc, nrhs, OuterStride<>(X.rows()) ); - U = A.template triangularView().solve(U); + U = A.template triangularView().solve(U); // Matrix-vector product new (&A) Map, 0, OuterStride<> > ( &(Lval[luptr+nsupc]), nrow, nsupc, OuterStride<>(nsupr) ); @@ -593,7 +593,7 @@ void SparseLU::factorize(const MatrixType& matrix) nseg = nseg1; // begin after all the panel segments //Depth-first-search for the current column VectorBlock panel_lsubk(panel_lsub, k, m); - VectorBlock repfnz_k(repfnz, k, m); + VectorBlock repfnz_k(repfnz, k, m); info = LU_column_dfs(m, jj, m_perm_r.indices(), m_maxsuper, nseg, panel_lsubk, segrep, repfnz_k, xprune, marker, parent, xplore, m_glu); if ( info ) { 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, 0, OuterStride<> > A( &(lusup.data()[luptr]), segsize, segsize, OuterStride<>(nsupr) ); VectorBlock u(tempv, 0, segsize); - u = A.template triangularView().solve(u); + u = A.template triangularView().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, 0, OuterStride<> > A( &(lusup.data()[luptr]), nsupc, nsupc, OuterStride<>(nsupr) ); VectorBlock u(lusup, ufirst, nsupc); - u = A.template triangularView().solve(u); + u = A.template triangularView().solve(u); new (&A) Map, 0, OuterStride<> > ( &(lusup.data()[luptr+nsupc]), nrow, nsupc, OuterStride<>(nsupr) ); VectorBlock l(lusup, ufirst+nsupc, nrow); diff --git a/Eigen/src/SparseLU/SparseLU_panel_bmod.h b/Eigen/src/SparseLU/SparseLU_panel_bmod.h index ffd085357..9861efa2c 100644 --- a/Eigen/src/SparseLU/SparseLU_panel_bmod.h +++ b/Eigen/src/SparseLU/SparseLU_panel_bmod.h @@ -132,8 +132,9 @@ void LU_panel_bmod(const int m, const int w, const int jcol, const int nseg, Sca luptr += nsupr * no_zeros + no_zeros; // triangular solve with Eigen Map, 0, OuterStride<> > A( &(lusup.data()[luptr]), segsize, segsize, OuterStride<>(nsupr) ); + std::cout<< " Matrix \n" << A << std::endl; VectorBlock u(tempv, 0, segsize); - u = A.template triangularView().solve(u); + u = A.template triangularView().solve(u); luptr += segsize; // Dense Matrix vector product y <-- A*x; @@ -164,7 +165,7 @@ void LU_panel_bmod(const int m, const int w, const int jcol, const int nseg, Sca l(i) = Scalar(0); ++isub; } - + std::cout<< jj << " : " << dense_col.transpose() << std::endl; } // End for each column in the panel } // End for each updating supernode diff --git a/Eigen/src/SparseLU/SparseLU_snode_bmod.h b/Eigen/src/SparseLU/SparseLU_snode_bmod.h index 47145bc0c..44438d037 100644 --- a/Eigen/src/SparseLU/SparseLU_snode_bmod.h +++ b/Eigen/src/SparseLU/SparseLU_snode_bmod.h @@ -76,7 +76,7 @@ int LU_snode_bmod (const int jcol, const int fsupc, ScalarVector& dense, LU_Glob // Solve the triangular system for U(fsupc:jcol, jcol) with L(fspuc:jcol, fsupc:jcol) Map,0,OuterStride<> > A( &(lusup.data()[luptr]), nsupc, nsupc, OuterStride<>(nsupr) ); VectorBlock u(lusup, ufirst, nsupc); - u = A.template triangularView().solve(u); // Call the Eigen dense triangular solve interface + u = A.template triangularView().solve(u); // Call the Eigen dense triangular solve interface // Update the trailing part of the column jcol U(jcol:jcol+nrow, jcol) using L(jcol:jcol+nrow, fsupc:jcol) and U(fsupc:jcol) new (&A) Map,0,OuterStride<> > ( &(lusup.data()[luptr+nsupc]), nrow, nsupc, OuterStride<>(nsupr) );