aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Eigenvalues/Tridiagonalization.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2010-12-09 19:56:20 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2010-12-09 19:56:20 +0100
commitbacd5318629f7a003763d85cff95a7cc1971fa90 (patch)
treeca76e84decebae53bbc4d66cd545cdf09638dedf /Eigen/src/Eigenvalues/Tridiagonalization.h
parent17de59278b8ad3affad9bc3778cb0318cb5451e0 (diff)
fix bug #128 : tridiagonalization failed for 1x1 matrices
Diffstat (limited to 'Eigen/src/Eigenvalues/Tridiagonalization.h')
-rw-r--r--Eigen/src/Eigenvalues/Tridiagonalization.h5
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;