Fix bug #894: the sign of LDLT was not re-initialized at each call of compute()

(grafted from d04f23260d
)
This commit is contained in:
Gael Guennebaud
2014-10-20 10:48:40 +02:00
parent 235c97ba92
commit a72eabec9b
2 changed files with 8 additions and 5 deletions

View File

@@ -442,6 +442,7 @@ LDLT<MatrixType,_UpLo>& LDLT<MatrixType,_UpLo>::compute(const MatrixType& a)
m_transpositions.resize(size);
m_isInitialized = false;
m_temporary.resize(size);
m_sign = internal::ZeroSign;
internal::ldlt_inplace<UpLo>::unblocked(m_matrix, m_transpositions, m_temporary, m_sign);