diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-12-09 19:56:20 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-12-09 19:56:20 +0100 |
commit | bacd5318629f7a003763d85cff95a7cc1971fa90 (patch) | |
tree | ca76e84decebae53bbc4d66cd545cdf09638dedf /Eigen/src/Eigenvalues/Tridiagonalization.h | |
parent | 17de59278b8ad3affad9bc3778cb0318cb5451e0 (diff) |
fix bug #128 : tridiagonalization failed for 1x1 matrices
Diffstat (limited to 'Eigen/src/Eigenvalues/Tridiagonalization.h')
-rw-r--r-- | Eigen/src/Eigenvalues/Tridiagonalization.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Eigen/src/Eigenvalues/Tridiagonalization.h b/Eigen/src/Eigenvalues/Tridiagonalization.h index 9a46fc861..66bec20d9 100644 --- a/Eigen/src/Eigenvalues/Tridiagonalization.h +++ b/Eigen/src/Eigenvalues/Tridiagonalization.h @@ -356,12 +356,13 @@ namespace internal { template<typename MatrixType, typename CoeffVectorType> void tridiagonalization_inplace(MatrixType& matA, CoeffVectorType& hCoeffs) { - eigen_assert(matA.rows()==matA.cols()); - eigen_assert(matA.rows()==hCoeffs.size()+1); typedef typename MatrixType::Index Index; typedef typename MatrixType::Scalar Scalar; typedef typename MatrixType::RealScalar RealScalar; Index n = matA.rows(); + eigen_assert(n==matA.cols()); + eigen_assert(n==hCoeffs.size()+1 || n==1); + for (Index i = 0; i<n-1; ++i) { Index remainingSize = n-i-1; |