From f162f7c32388b269b15bcae0000eca4e1d162d2e Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Mon, 8 Aug 2011 10:46:26 +0200 Subject: [PATCH] fix a numerical issue in the direct 3x3 eigenvector extraction --- Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h b/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h index 02174b0d2..742048153 100644 --- a/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +++ b/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h @@ -554,6 +554,7 @@ template struct direct_selfadjoint_eigenvalues struct direct_selfadjoint_eigenvaluesn02) + eivecs.col(2) = cross01 / sqrt(n01); + else + eivecs.col(2) = cross02 / sqrt(n02); + tmp = scaledMat; tmp.diagonal().array() -= eivals(1); eivecs.col(1) = tmp.row(0).cross(tmp.row(1)); @@ -600,7 +608,6 @@ template struct direct_selfadjoint_eigenvalues