跳到主要内容
知仓学习社ZHICANG

root-finding

Problem-solving strategies for root finding in numerical methods

不碰外部(只输出文字)无严重或高危命中parcadei/Continuous-Claude-v3

它会碰到什么

扫了多少1 个文本文件,3 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Root Finding

When to Use

Use this skill when working on root-finding problems in numerical methods.

Decision Tree

  1. Characterize the Problem
  • Single root or multiple roots?
  • Bracketed (know interval containing root)?
  • Derivatives available?
  1. 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 |

  1. Implement Root Finding
  • scipy.optimize.brentq(f, a, b) - guaranteed convergence if bracketed
  • scipy.optimize.newton(f, x0, fprime=df) - quadratic convergence near root
  • For systems: scipy.optimize.fsolve(F, x0)
  1. Handle Multiple Roots
  • Deflation: divide out found roots
  • Multiple starting points
  • sympy_compute.py solve "f(x)" --var x for symbolic solutions
  1. Verify Solutions
  • Check |f(root)| < tolerance
  • Verify root is in expected domain
  • z3_solve.py prove "f(root) == 0"

Tool Commands

Scipy_Brentq

uv run python -c "from scipy.optimize import brentq; root = brentq(lambda x: x**2 - 2, 0, 2); print('Root:', root)"

Scipy_Newton

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)"

Sympy_Solve

uv run python -m runtime.harness scripts/sympy_compute.py solve "x**3 - x - 1" --var x

Key Techniques

From indexed textbooks:

  • [Numerical analysis (Burden R.L., Fair... (Z-Library)] How accurate was his approximation? C H A P T E R 2 Solutions of Equations in One Variable 2. Survey of Methods and Software In this chapter we have considered the problem of solving the equation f (x) = 0, where f is a given continuous function.
  • [An Introduction to Numerical Analysis... (Z-Library)] Computational Solution of Nonlinear Operator Equations. Methods for Solving Systems of Nonlinear Equations. Society for Industrial and Applied Mathematics, Philadelphia.
  • [An Introduction to Numerical Analysis... (Z-Library)] General polynomial rootfinding methods There are a large number of rootfind ing algorithms designed especially for polynomials. Many of these are taken up in detail in the books Dejon and Henrici (1969), Henrici (1974, chap. There are far too many types of such methods to attempt to describe them all here.
  • [An Introduction to Numerical Analysis... (Z-Library)] J n Consider the product a 0 a 1 ••• am, where a 0 , a1, ••• , am are m + 1 num bers stored in a computer that uses n digit base fJ arithmetic. What is a rigorous bound for w? What is a statistical estimate for the size of w?
  • [An Introduction to Numerical Analysis... (Z-Library)] Discussion of the Literature There is a large literature on methods for calculating the roots of a single equation. See the books by Householder (1970), Ostrowski (1973), and Traub (1964) for a more extensive development than has been given here. Newton's method is one of the most widely used methods, and its development is due to many people.

Cognitive Tools Reference

See .claude/skills/math-mode/SKILL.md for full tool documentation.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。