بنقرة واحدة
root-finding
Problem-solving strategies for root finding in numerical methods
القائمة
Problem-solving strategies for root finding in numerical methods
| name | root-finding |
| description | Problem-solving strategies for root finding in numerical methods |
| allowed-tools | ["Bash","Read"] |
Use this skill when working on root-finding problems in numerical methods.
Characterize the Problem
Method Selection
| Situation | Method | Implementation |
|---|---|---|
| Bracketed, no derivatives | Bisection, Brent | scipy.optimize.brentq |
| Derivatives available | Newton-Raphson | scipy.optimize.newton |
| No derivatives | Secant method | scipy.optimize.newton (no fprime) |
| System of equations | scipy.optimize.fsolve | Requires Jacobian ideally |
Implement Root Finding
scipy.optimize.brentq(f, a, b) - guaranteed convergence if bracketedscipy.optimize.newton(f, x0, fprime=df) - quadratic convergence near rootscipy.optimize.fsolve(F, x0)Handle Multiple Roots
sympy_compute.py solve "f(x)" --var x for symbolic solutionsVerify Solutions
z3_solve.py prove "f(root) == 0"uv run python -c "from scipy.optimize import brentq; root = brentq(lambda x: x**2 - 2, 0, 2); print('Root:', root)"
uv run python -c "from scipy.optimize import newton; root = newton(lambda x: x**2 - 2, 1.0, fprime=lambda x: 2*x); print('Root:', root)"
uv run python -m runtime.harness scripts/sympy_compute.py solve "x**3 - x - 1" --var x
From indexed textbooks:
See .claude/skills/math-mode/SKILL.md for full tool documentation.
Create git commits with user approval and no Claude attribution
Create or update continuity ledger for state preservation across clears
Create handoff document for transferring work to another session
Generate comprehensive PR descriptions following repository templates
Deep interview process to transform vague ideas into detailed specs. Works for technical and non-technical users.
Search Mathlib for lemmas by type signature pattern