diff options
author | Gael Guennebaud <g.gael@free.fr> | 2012-07-24 18:16:22 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2012-07-24 18:16:22 +0200 |
commit | e7c07de549ace45f11c000c15f6a9fcb1c9b8170 (patch) | |
tree | 4e9b5180cc7de5b5f94072e6ec699ec3c2e5bb06 /Eigen/src/Eigenvalues/EigenSolver.h | |
parent | c1cab7b8ed8e419f88c167d67167f8dc485fc1e9 (diff) |
RealQZ: optimize general hessenberg to not apply rotations to zero entries.
Diffstat (limited to 'Eigen/src/Eigenvalues/EigenSolver.h')
-rw-r--r-- | Eigen/src/Eigenvalues/EigenSolver.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Eigen/src/Eigenvalues/EigenSolver.h b/Eigen/src/Eigenvalues/EigenSolver.h index 315958421..7f1c94162 100644 --- a/Eigen/src/Eigenvalues/EigenSolver.h +++ b/Eigen/src/Eigenvalues/EigenSolver.h @@ -560,7 +560,7 @@ void EigenSolver<MatrixType>::doComputeEigenvectors() if ((vr == 0.0) && (vi == 0.0)) vr = eps * norm * (internal::abs(w) + internal::abs(q) + internal::abs(x) + internal::abs(y) + internal::abs(lastw)); - std::complex<Scalar> cc = cdiv(x*lastra-lastw*ra+q*sa,x*lastsa-lastw*sa-q*ra,vr,vi); + std::complex<Scalar> cc = cdiv(x*lastra-lastw*ra+q*sa,x*lastsa-lastw*sa-q*ra,vr,vi); m_matT.coeffRef(i,n-1) = internal::real(cc); m_matT.coeffRef(i,n) = internal::imag(cc); if (internal::abs(x) > (internal::abs(lastw) + internal::abs(q))) |