Module Max1D


module Max1D: sig .. end
One dimensional maximization routines.

val brent : ?tol:float -> (float -> float) -> float -> float -> float * float
brent f a b uses Bent's method to return (x, f x) where x is the best approximation to a maximum point of f on the interval [a,b].
tol : Default: sqrt epsilon_float. The algorithm reduces the interval [a,b] containing an approximation x of the minimum until |x - (a+b)/2| + |b-a|/2 <= 2 sqrt epsilon_float |x| + tol / 3.

Algorithm: G.Forsythe, M.Malcolm, C.Moler, Computer methods for mathematical computations. M., Mir, 1980.

val golden_search : ?tol:float -> (float -> float) -> float -> float -> float -> float * float
golden_search f a b c returns (x, f x) where x is an approximaion of a maximum point of f inside the interval [a,c]. The point b must be between a and c and such that f(b) is greater than f(a) and f(c).
tol : Default: sqrt epsilon_float. The algorithm reduces the interval [a,c] until |a - c| <= tol (|a| + |c|).