diff --git a/src/samplefunctional.hh b/src/samplefunctional.hh index f4b9509180d87ff20ff0b9ffe4887dfc634f036f..0a1dc654abee63e58c9b361e3306b00801cd91d1 100644 --- a/src/samplefunctional.hh +++ b/src/samplefunctional.hh @@ -119,7 +119,16 @@ template <int dimension> class SampleFunctional { template <class Functional> void minimise(const Functional J, const typename Functional::SmallVector x, - typename Functional::SmallVector &corr) { + typename Functional::SmallVector &corr, + Bisection const &bisection = + Bisection(0.0, // acceptError: Stop if the search interval has + // become smaller than this number + 1.0, // acceptFactor: ? + 1e-12, // requiredResidual: ? + true, // fastQuadratic + 0)) // safety: acceptance factor for inexact + // minimization +{ typedef typename Functional::SmallVector SmallVector; SmallVector descDir; J.descentDirection(x, descDir); @@ -165,12 +174,6 @@ void minimise(const Functional J, const typename Functional::SmallVector x, 0); // We should not be minimising in this direction otherwise } - Bisection bisection(0.0, // acceptError: Stop if the search interval has - // become smaller than this number - 1.0, // acceptFactor: ? - 1e-12, // requiredResidual: ? - true, // fastQuadratic - 0); // safety: acceptance factor for inexact minimization int count; // FIXME: The value of x_old should not matter if the factor is 1.0, correct? double const stepsize = bisection.minimize(JRest, 0.0, 1.0, count);