change solveTriangularInPlace() to take a pointer as input (as discussed on IRC).

extended the documentation of the triangular solver.
This commit is contained in:
Gael Guennebaud
2008-08-12 07:49:59 +00:00
parent 13ad88736e
commit 8a3e6b1ee2
4 changed files with 41 additions and 23 deletions

View File

@@ -399,7 +399,7 @@ void LU<MatrixType>::computeKernel(Matrix<typename MatrixType::Scalar,
m_lu.corner(TopLeft, m_rank, m_rank)
.template marked<Upper>()
.solveTriangularInPlace(y);
.solveTriangularInPlace(&y);
for(int i = 0; i < m_rank; i++)
result->row(m_q.coeff(i)) = y.row(i);
@@ -451,7 +451,7 @@ bool LU<MatrixType>::solve(
l.setZero();
l.corner(Eigen::TopLeft,rows,smalldim)
= m_lu.corner(Eigen::TopLeft,rows,smalldim);
l.template marked<UnitLower>().solveTriangularInPlace(c);
l.template marked<UnitLower>().solveTriangularInPlace(&c);
// Step 3
if(!isSurjective())
@@ -468,7 +468,7 @@ bool LU<MatrixType>::solve(
d(c.corner(TopLeft, m_rank, c.cols()));
m_lu.corner(TopLeft, m_rank, m_rank)
.template marked<Upper>()
.solveTriangularInPlace(d);
.solveTriangularInPlace(&d);
// Step 4
result->resize(m_lu.cols(), b.cols());