Problem-solving strategies for gradient methods in optimization
Use this skill when working on gradient-methods problems in optimization.
Basic Gradient Descent
Step Size Selection
| Method | Approach |
|---|---|
| Fixed | alpha constant (requires tuning) |
| Backtracking | Armijo condition: f(x - alphagrad) <= f(x) - calpha* |
| Exact line search | minimize f(x - alpha*grad) over alpha |
| Adaptive | Adam, RMSprop (ML applications) |
Accelerated Methods
scipy.optimize.minimize(f, x0, method='CG') - conjugate gradientNewton's Method
scipy.optimize.minimize(f, x0, method='BFGS')Convergence Diagnostics
sympy_compute.py diff "f" --var x for gradientuv run python -c "from scipy.optimize import minimize; res = minimize(lambda x: (x[0]-1)**2 + 100*(x[1]-x[0]**2)**2, [0, 0], method='BFGS'); print('Rosenbrock min at', res.x)"
uv run python -c "from scipy.optimize import minimize; res = minimize(lambda x: x[0]**2 + x[1]**2, [1, 1], method='CG'); print('Min at', res.x)"
uv run python -m runtime.harness scripts/sympy_compute.py diff "x**2 + y**2" --var "[x, y]"
From indexed textbooks:
See .claude/skills/math-mode/SKILL.md for full tool documentation.