NumPy allowed · plain Python earns 10 bonus points
θ ← θ − 0.14 · ∂L/∂θ
Approximate the multivariable gradient vector using second-order accurate central finite differences.
Implement finite_difference_gradient(f_center, f_plus, f_minus, h=0.0001): given perturbed function values f_plus (evaluated at x + h*e_i) and f_minus (evaluated at x - h*e_i), compute g_i = (f_plus[i] - f_minus[i]) / (2 * h). Return gradient vector rounded to 4 decimals.
finite_difference_gradient(f_center: float, f_plus: list[float], f_minus: list[float], h: float = 0.0001) -> list[float]