sparse module: new API proposal for triangular solves and experimental

solver support with a sparse matrix as the rhs.
This commit is contained in:
Gael Guennebaud
2009-04-05 16:30:10 +00:00
parent 5a628567b0
commit 5b1d0cebc5
13 changed files with 335 additions and 64 deletions

View File

@@ -191,15 +191,15 @@ bool SparseLLT<MatrixType, Backend>::solveInPlace(MatrixBase<Derived> &b) const
const int size = m_matrix.rows();
ei_assert(size==b.rows());
m_matrix.template triangular<LowerTriangular>.solveInPlace(b);
m_matrix.template triangular<LowerTriangular>().solveInPlace(b);
// FIXME should be simply .adjoint() but it fails to compile...
if (NumTraits<Scalar>::IsComplex)
{
CholMatrixType aux = m_matrix.conjugate();
aux.transpose().template triangular<UpperTriangular>.solveInPlace(b);
aux.transpose().template triangular<UpperTriangular>().solveInPlace(b);
}
else
m_matrix.transpose().template triangular<UpperTriangular>.solveInPlace(b);
m_matrix.transpose().template triangular<UpperTriangular>().solveInPlace(b);
return true;
}