aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Eigen/src/SVD/JacobiSVD.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/Eigen/src/SVD/JacobiSVD.h b/Eigen/src/SVD/JacobiSVD.h
index 2f7ebb160..5792c5767 100644
--- a/Eigen/src/SVD/JacobiSVD.h
+++ b/Eigen/src/SVD/JacobiSVD.h
@@ -294,8 +294,6 @@ JacobiSVD<MatrixType, Options>& JacobiSVD<MatrixType, Options>::compute(const Ma
int rows = matrix.rows();
int cols = matrix.cols();
int diagSize = std::min(rows, cols);
- if(ComputeU) m_matrixU = MatrixUType::Zero(rows,rows);
- if(ComputeV) m_matrixV = MatrixVType::Zero(cols,cols);
m_singularValues.resize(diagSize);
const RealScalar precision = 2 * epsilon<Scalar>();
@@ -303,8 +301,8 @@ JacobiSVD<MatrixType, Options>& JacobiSVD<MatrixType, Options>::compute(const Ma
&& !ei_svd_precondition_if_more_cols_than_rows<MatrixType, Options>::run(matrix, work_matrix, *this))
{
work_matrix = matrix.block(0,0,diagSize,diagSize);
- if(ComputeU) m_matrixU.diagonal().setOnes();
- if(ComputeV) m_matrixV.diagonal().setOnes();
+ if(ComputeU) m_matrixU.setIdentity(rows,rows);
+ if(ComputeV) m_matrixV.setIdentity(cols,cols);
}
bool finished = false;