Created attachment 462 [details]
Small C++ program reproducing the bug
I am running on Ubuntu 12.04.4. Using Eigen 3.2.1 and current trunk (4a429f5e0483) the computation of a determinant using the SparseLU module is broken for my small test case.
Given the Matrix:
SuperLU::absDeterminant() computes 2, where the expected output should be 3.
Solving linear equations using SuperLU::solve works without problems.
I investigated as far as MappedSuperNodalMatrix::InnerIterator, which seem to skip the last diagonal entries, as m_rowind(_colptr) does not have an appropriate entry:
m_nzval_colptr 0 2 4
m_nzval 2 -0.5 -1 -1.5
m_rowind_colptr 0 2 2
m_rowind 0 1 1
I have attached a small test case that reproduces the problem.
Addendum: make check on trunk produces three failures for me:
362 - eigensolver_generic_2 (OTHER_FAULT)
622 - mpreal_support (OTHER_FAULT)
651 - levenberg_marquardt (OTHER_FAULT)