Skip to content

Commit f558ad2

Browse files
committed
Fix incorrect ldvt in LAPACKE call from JacobiSVD
1 parent 22de74a commit f558ad2

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

Eigen/src/SVD/JacobiSVD_LAPACKE.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,10 @@ JacobiSVD<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW, Dynamic, Dynamic>, ColPiv
6161
u = (LAPACKE_TYPE*)m_matrixU.data(); \
6262
} else { ldu=1; u=&dummy; }\
6363
MatrixType localV; \
64-
ldvt = (m_computeFullV) ? internal::convert_index<lapack_int>(m_cols) : (m_computeThinV) ? internal::convert_index<lapack_int>(m_diagSize) : 1; \
64+
lapack_int vt_rows = (m_computeFullV) ? internal::convert_index<lapack_int>(m_cols) : (m_computeThinV) ? internal::convert_index<lapack_int>(m_diagSize) : 1; \
6565
if (computeV()) { \
66-
localV.resize(ldvt, m_cols); \
66+
localV.resize(vt_rows, m_cols); \
67+
ldvt = internal::convert_index<lapack_int>(localV.outerStride()); \
6768
vt = (LAPACKE_TYPE*)localV.data(); \
6869
} else { ldvt=1; vt=&dummy; }\
6970
Matrix<LAPACKE_RTYPE, Dynamic, Dynamic> superb; superb.resize(m_diagSize, 1); \

0 commit comments

Comments
 (0)