Task: Minimize a Black-Box Convex Function on [a, b] Using Only Function Evaluations
Context
You are given a real-valued, convex function F(x) defined on a closed interval [a, b]. The function is a black box: you can evaluate F(x) at chosen x but cannot access derivatives or internal structure.
Requirements
Implement in Python an algorithm to find x* ∈ [a, b] that minimizes F(x), using only function evaluations. Specifically:
-
Choose and justify an appropriate method (e.g., golden-section search or ternary search).
-
Specify stopping criteria (tolerance and maximum iterations).
-
Analyze time and space complexity and the number of function evaluations.
-
Discuss handling of:
-
Numerical precision
-
Non-strict convexity and flat regions
-
Boundary optima
-
Provide clear, well-documented code.
-
Explain how you would test and verify correctness.