Skip to content

Commit 9bc2399

Browse files
committed
Fix matrix-svd.hh
1 parent 5169c8d commit 9bc2399

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

include/sot/core/matrix-svd.hh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ void dampedInverse( const JacobiSVD <dg::Matrix>& svd,
5555
ArrayWrapper<const SV_t> sigmas (svd.singularValues());
5656

5757
SV_t sv_inv (sigmas / (sigmas.cwiseAbs2() + threshold * threshold));
58-
const dg::Matrix::Index m = std::min(svd.rows(), svd.cols());
58+
const dg::Matrix::Index m = sv_inv.size();
5959

6060
_inverseMatrix.noalias() =
61-
( svd.matrixV().rightCols(m) * sv_inv.asDiagonal() * svd.matrixU().rightCols(m).transpose());
61+
( svd.matrixV().leftCols(m) * sv_inv.asDiagonal() * svd.matrixU().leftCols(m).transpose());
6262
}
6363

6464
void dampedInverse( const dg::Matrix& _inputMatrix,
@@ -86,7 +86,7 @@ void dampedInverse( const dg::Matrix& _inputMatrix,
8686
sotDEBUGIN(15);
8787
sotDEBUG(5) << "Input Matrix: "<<_inputMatrix<<std::endl;
8888

89-
JacobiSVD<dg::Matrix> svd(_inputMatrix, ComputeThinU | ComputeThinV);
89+
JacobiSVD<dg::Matrix> svd(_inputMatrix, ComputeThinU | ComputeFullV);
9090
dampedInverse (svd, _inverseMatrix, threshold);
9191

9292
sotDEBUGOUT(15);

0 commit comments

Comments
 (0)