mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-02-23 18:20:47 +08:00
fix bug in svd solve reported on forum, was apparently assuming square matrix, not sure how the unit test could work.
This commit is contained in:
parent
3979f6d8aa
commit
4c456d4211
@ -426,8 +426,11 @@ bool SVD<MatrixType>::solve(const MatrixBase<OtherDerived> &b, ResultType* resul
|
||||
else
|
||||
aux.coeffRef(i) /= si;
|
||||
}
|
||||
|
||||
result->col(j) = m_matV * aux;
|
||||
const int cols = m_matV.rows();
|
||||
const int minsize = std::min(rows,cols);
|
||||
result->col(j).start(minsize) = aux.start(minsize);
|
||||
if(cols>rows) result->col(j).end(cols-minsize).setZero();
|
||||
result->col(j) = m_matV * result->col(j);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user