aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
authorGravatar Desire NUENTSA <desire.nuentsa_wakam@inria.fr>2012-09-04 11:36:57 +0200
committerGravatar Desire NUENTSA <desire.nuentsa_wakam@inria.fr>2012-09-04 11:36:57 +0200
commit2e38666d01e395ecb4ffb41e3d031aff1f984308 (patch)
tree55ba73b84f07ad0b904d1da615b684258f13788a /Eigen
parent3a22c47fb5ab1d34498fdaa5b1263c1426d97a37 (diff)
correct bug in Blas 3 2D block update
Diffstat (limited to 'Eigen')
-rw-r--r--Eigen/src/SparseLU/SparseLU_panel_bmod.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/Eigen/src/SparseLU/SparseLU_panel_bmod.h b/Eigen/src/SparseLU/SparseLU_panel_bmod.h
index 90d3297a1..36b4f74df 100644
--- a/Eigen/src/SparseLU/SparseLU_panel_bmod.h
+++ b/Eigen/src/SparseLU/SparseLU_panel_bmod.h
@@ -49,7 +49,7 @@
*
*/
template <typename DenseIndexBlock, typename IndexVector, typename ScalarVector>
-void LU_panel_bmod(const int m, const int w, const int jcol, const int nseg, ScalarVector& dense, ScalarVector& tempv, DenseIndexBlock& segrep, DenseIndexBlock& repfnz, LU_GlobalLU_t<IndexVector,ScalarVector>& glu)
+void LU_panel_bmod(const int m, const int w, const int jcol, const int nseg, ScalarVector& dense, ScalarVector& tempv, DenseIndexBlock& segrep, DenseIndexBlock& repfnz, LU_GlobalLU_t<IndexVector,ScalarVector>& glu)
{
typedef typename ScalarVector::Scalar Scalar;
@@ -95,7 +95,7 @@ void LU_panel_bmod(const int m, const int w, const int jcol, const int nseg, Sca
// if the blocks are large enough, use level 3
// TODO find better heuristics!
- if(true /*nsupc >= 50 && nrow > 50 && u_cols>6*/)
+ if( nsupc >= 50 && nrow > 50 && u_cols>6)
{
Map<Matrix<Scalar,Dynamic,Dynamic> > U(tempv.data(), u_rows, u_cols);
@@ -117,13 +117,13 @@ void LU_panel_bmod(const int m, const int w, const int jcol, const int nseg, Sca
int isub = lptr + no_zeros;
int off = u_rows-segsize;
+ for (int i = 0; i < off; i++) U(i,u_col) = 0;
for (int i = 0; i < segsize; i++)
{
int irow = glu.lsub(isub);
U(i+off,u_col) = dense_col(irow);
++isub;
}
-
u_col++;
}
// solve U = A^-1 U