From d0b1aef6f64643ad5c47738f803ccccee0bfedc7 Mon Sep 17 00:00:00 2001 From: Zhuo Zhang Date: Thu, 3 Mar 2022 15:53:40 +0800 Subject: [PATCH] Speed lscg by using .noalias --- Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h b/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h index f9feb7284..a76f3f87a 100644 --- a/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +++ b/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h @@ -75,7 +75,7 @@ void least_square_conjugate_gradient(const MatrixType& mat, const Rhs& rhs, Dest Scalar alpha = absNew / tmp.squaredNorm(); // the amount we travel on dir x += alpha * p; // update solution residual -= alpha * tmp; // update residual - normal_residual = mat.adjoint() * residual; // update residual of the normal equation + normal_residual.noalias() = mat.adjoint() * residual; // update residual of the normal equation residualNorm2 = normal_residual.squaredNorm(); if(residualNorm2 < threshold)