diff options
author | Eugene Chereshnev <eugene.chereshnev@intel.com> | 2018-01-03 12:55:52 -0800 |
---|---|---|
committer | Eugene Chereshnev <eugene.chereshnev@intel.com> | 2018-01-03 12:55:52 -0800 |
commit | f558ad2955ef4899f208883f46c410273e21451d (patch) | |
tree | 9ddb2c86b89865cfc45d970aaa87f2f9b575d49a /Eigen | |
parent | 22de74aa76626c350b23b726c3a999f04d23c92a (diff) |
Fix incorrect ldvt in LAPACKE call from JacobiSVD
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/SVD/JacobiSVD_LAPACKE.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Eigen/src/SVD/JacobiSVD_LAPACKE.h b/Eigen/src/SVD/JacobiSVD_LAPACKE.h index 50272154f..ff0516f61 100644 --- a/Eigen/src/SVD/JacobiSVD_LAPACKE.h +++ b/Eigen/src/SVD/JacobiSVD_LAPACKE.h @@ -61,9 +61,10 @@ JacobiSVD<Matrix<EIGTYPE, Dynamic, Dynamic, EIGCOLROW, Dynamic, Dynamic>, ColPiv u = (LAPACKE_TYPE*)m_matrixU.data(); \ } else { ldu=1; u=&dummy; }\ MatrixType localV; \ - ldvt = (m_computeFullV) ? internal::convert_index<lapack_int>(m_cols) : (m_computeThinV) ? internal::convert_index<lapack_int>(m_diagSize) : 1; \ + lapack_int vt_rows = (m_computeFullV) ? internal::convert_index<lapack_int>(m_cols) : (m_computeThinV) ? internal::convert_index<lapack_int>(m_diagSize) : 1; \ if (computeV()) { \ - localV.resize(ldvt, m_cols); \ + localV.resize(vt_rows, m_cols); \ + ldvt = internal::convert_index<lapack_int>(localV.outerStride()); \ vt = (LAPACKE_TYPE*)localV.data(); \ } else { ldvt=1; vt=&dummy; }\ Matrix<LAPACKE_RTYPE, Dynamic, Dynamic> superb; superb.resize(m_diagSize, 1); \ |