Use numext::sqrt in ConjugateGradient.

(cherry picked from commit 7896c7dc6b)
This commit is contained in:
Antonio Sánchez
2022-07-29 20:17:23 +00:00
committed by Antonio Sanchez
parent a5469a6f0f
commit 61efca2e90
2 changed files with 5 additions and 7 deletions

View File

@@ -29,8 +29,6 @@ void conjugate_gradient(const MatrixType& mat, const Rhs& rhs, Dest& x,
const Preconditioner& precond, Index& iters,
typename Dest::RealScalar& tol_error)
{
using std::sqrt;
using std::abs;
typedef typename Dest::RealScalar RealScalar;
typedef typename Dest::Scalar Scalar;
typedef Matrix<Scalar,Dynamic,1> VectorType;
@@ -56,7 +54,7 @@ void conjugate_gradient(const MatrixType& mat, const Rhs& rhs, Dest& x,
if (residualNorm2 < threshold)
{
iters = 0;
tol_error = sqrt(residualNorm2 / rhsNorm2);
tol_error = numext::sqrt(residualNorm2 / rhsNorm2);
return;
}
@@ -86,7 +84,7 @@ void conjugate_gradient(const MatrixType& mat, const Rhs& rhs, Dest& x,
p = z + beta * p; // update search direction
i++;
}
tol_error = sqrt(residualNorm2 / rhsNorm2);
tol_error = numext::sqrt(residualNorm2 / rhsNorm2);
iters = i;
}