stack 0x7fd702503010 - 0x7fd702d03010 testcase: /usr/include/eigen3/Eigen/src/Householder/HouseholderSequence.h:198: const EssentialVectorType Eigen::HouseholderSequence, Eigen::Matrix, 1>::essentialVector(Index) const [VectorsType = Eigen::Matrix, CoeffsType = Eigen::Matrix, Side = 1]: Assertion `k >= 0 && k < m_length' failed. 1 2 3 4 5 6 7 8 9 10 11 12Stack trace (most recent call last): #14 Object "", at 0xffffffffffffffff, in #13 Object "/tmp/testcase", at 0x460738, in _start #12 Object "/usr/lib/libc-2.17.so", at 0x7fd70335aa14, in __libc_start_main #11 Source "/tmp/testcase.cpp", line 15, in main [0x460a87] 12: std::cout << m; 13: 14: Eigen::JacobiSVD svd( > 15: m, Eigen::ComputeFullU | Eigen::ComputeFullV); 16: 17: return 0; 18: } #10 Source "/usr/include/eigen3/Eigen/src/SVD/JacobiSVD.h", line 568, in JacobiSVD [0x461262] 565: m_rows(-1), m_cols(-1) 566: { 567: compute(matrix, computationOptions); > 568: } 569: 570: /** \brief Method performing the decomposition of given matrix using custom options. 571: * #9 Source "/usr/include/eigen3/Eigen/src/SVD/JacobiSVD.h", line 567, in JacobiSVD [0x461389] 564: m_computationOptions(0), 565: m_rows(-1), m_cols(-1) 566: { > 567: compute(matrix, computationOptions); 568: } 569: 570: /** \brief Method performing the decomposition of given matrix using custom options. #8 Source "/usr/include/eigen3/Eigen/src/SVD/JacobiSVD.h", line 756, in compute [0x4615aa] 754: /*** step 1. The R-SVD step: we use a QR decomposition to reduce to the case of a square matrix */ 755: > 756: if(!m_qr_precond_morecols.run(*this, matrix) && !m_qr_precond_morerows.run(*this, matrix)) 757: { 758: m_workMatrix = matrix.block(0,0,m_diagSize,m_diagSize); 759: if(m_computeFullU) m_matrixU.setIdentity(m_rows,m_rows); #7 Source "/usr/include/eigen3/Eigen/src/SVD/JacobiSVD.h", line 234, in run [0x4629cc] 231: m_qr.compute(m_adjoint); 232: 233: svd.m_workMatrix = m_qr.matrixQR().block(0,0,matrix.rows(),matrix.rows()).template triangularView().adjoint(); > 234: if(svd.m_computeFullV) m_qr.householderQ().evalTo(svd.m_matrixV, m_workspace); 235: else if(svd.m_computeThinV) 236: { 237: svd.m_matrixV.setIdentity(matrix.cols(), matrix.rows()); #6 Source "/usr/include/eigen3/Eigen/src/Householder/HouseholderSequence.h", line 274, in evalTo, Eigen::Matrix > [0x488e14] 271: .applyHouseholderOnTheRight(essentialVector(k), m_coeffs.coeff(k), &workspace.coeffRef(0)); 272: else 273: dst.bottomRightCorner(cornerSize, cornerSize) > 274: .applyHouseholderOnTheLeft(essentialVector(k), m_coeffs.coeff(k), &workspace.coeffRef(0)); 275: } 276: } 277: } #5 Source "/usr/include/eigen3/Eigen/src/Householder/HouseholderSequence.h", line 198, in essentialVector [0x46be85] 195: */ 196: const EssentialVectorType essentialVector(Index k) const 197: { > 198: eigen_assert(k >= 0 && k < m_length); 199: return internal::hseq_side_dependent_impl::essentialVector(*this, k); 200: } #4 Object "/usr/lib/libc-2.17.so", at 0x7fd703367401, in __assert_fail #3 Object "/usr/lib/libc-2.17.so", at 0x7fd703367355, in __assert_fail_base #2 Object "/usr/lib/libc-2.17.so", at 0x7fd70336f5c7, in abort #1 Object "/usr/lib/libc-2.17.so", at 0x7fd70336e1c9, in gsignal Aborted (Signal sent by tkill() 17451 1000)