Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Root Finding

ASecurity

Use when a task asks for a root finder, zero finding, nonlinear equation solving, compressible flow Mach number solution, or implicit performance equation inversion in aerospace analysis. Determine the root of a nonlinear scalar equation f(x) = 0 numerically with the bisection method, Newton-Raphson, the secant method, or fixed-point iteration: bracket the root or supply an initial guess, apply the iteration, and produce the root to a specified tolerance under function tolerance, step toleran...

2 stars
0 votes
0 copies
0 views
Added 9/27/2026
ai-agentspythonrustgitperformance

Works with

claude codecli

Security Analysis

A100/100

Scanned 9/27/2026

Install to Claude Code

$npx -y skills add ashfordeOU/aero-agent-skills --skill root-finding --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Root Finding?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Root Finding
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ashfordeou-root-finding/badge)](https://www.skillsdirectory.com/skills/ashfordeou-root-finding)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: root-finding
description: "Use when a task asks for a root finder, zero finding, nonlinear equation solving, compressible flow Mach number solution, or implicit performance equation inversion in aerospace analysis. Determine the root of a nonlinear scalar equation f(x) = 0 numerically with the bisection method, Newton-Raphson, the secant method, or fixed-point iteration: bracket the root or supply an initial guess, apply the iteration, and produce the root to a specified tolerance under function tolerance, step tolerance, and max iteration convergence criteria. Produces the root, the method, and the iteration count. Trigger: root-finding, bisection, newton-raphson, secant-method, fixed-point iteration, mach number root, nonlinear equation, zero finding."
license: Apache-2.0
compliance: STANDARDS-REF
standards:
  - id: naca-tr-824
    reference-only: true
gated: false
domain: cross-cutting
pack: cross-cutting
compatibility: "agentskills.io SKILL.md; any SKILL.md host (Claude Code, Hermes, OpenClaw)"
metadata:
  domain: cross-cutting
  subdomain: numerics
  tags: [root-finding, bisection, newton-raphson, secant-method, secant, fixed-point-iteration, mach-number, nonlinear-equation, zero-finding, convergence-criteria, initial-guess, bracket]
  version: 0.1.0
  author: Aero Agent Skills
---

# Root Finding (cross-cutting/numerics/root-finding)

Use when the task is solving a nonlinear scalar equation f(x) = 0
numerically: choosing the bracketing or iteration method, supplying
the bracket or initial guess, and reporting the root to a specified
tolerance.

## Domain quick reference

All worked numbers are for f(x) = x**2 - 2, whose positive root is
sqrt(2) = 1.4142135623730951.

- Bisection: with f(a) * f(b) < 0 (a sign change is bracketed),
  evaluate the midpoint c = (a + b) / 2 and halve the interval on
  the side that keeps the sign change. Linear convergence: one
  binary digit per step, error bounded by the interval half-width,
  so about 34 steps take [1, 2] to sqrt(2) at tol = 1e-10. Robust
  and derivative-free; needs only sign information.
- Newton-Raphson: x_{k+1} = x_k - f(x_k) / f'(x_k). Quadratic
  convergence for a simple root when the initial guess is close
  enough; needs the derivative f'. From x0 = 1.5 on x**2 - 2 the
  iterate reaches 1.41421356237 in three steps. Fails when f'(x) is
  zero at a step (the update is undefined).
- Secant method: x_{k+1} = x_k - f(x_k) * (x_k - x_{k-1}) /
  (f(x_k) - f(x_{k-1})). Approximates the derivative with the secant
  slope, so no analytic derivative is needed; superlinear convergence
  of order about 1.618 for a simple root. Fails when the two function
  values are equal (the slope is zero).
- Fixed-point iteration: rewrite f(x) = 0 as x = g(x) and iterate
  x_{k+1} = g(x_k). Converges when g is a contraction at the fixed
  point, in practice when abs(g'(x*)) < 1; a repelling fixed point
  with abs(g'(x*)) > 1 diverges.
- Bracketing and initial guess requirements: bisection needs a
  bracket whose endpoints straddle zero; Newton-Raphson and the
  secant method need initial guesses near the root; fixed-point
  iteration needs a contractive rewrite. There is no global method
  for arbitrary nonlinear equations.
- Convergence criteria: the function tolerance abs(f(x)) < tol
  declares convergence for Newton-Raphson and the secant method; the
  step tolerance (interval half-width, or abs(x_{k+1} - x_k) for
  fixed-point iteration) declares convergence for bisection and
  fixed-point iteration; every method stops with an error after
  max_iter iterations.
- Non-monotonic and ill-conditioned behavior: bisection still
  converges on a non-monotonic function as long as the endpoints
  straddle zero, but a double root (f touches zero without a sign
  change, e.g. x**2 = 0) has no straddle; Newton-Raphson can
  overshoot on non-convex functions or converge to a different root;
  a near-zero derivative amplifies function error and makes the
  problem ill-conditioned; the secant method can blow up when
  f(x_k) is close to f(x_{k-1}).
- Aerospace application: the isentropic area-Mach relation
  A/A* = (1/M) * ((2/(gamma+1)) * (1 + (gamma-1)/2 * M**2)) **
  ((gamma+1)/(2*(gamma-1))) with gamma = 1.4 is solved for M given
  A/A*; A/A* = 1.2 gives the subsonic root M = 0.59024876099 and the
  supersonic root M = 1.53414976720. Implicit performance equations
  (range, climb, thrust balance) are inverted the same way.
- All functions are deterministic and stdlib-only; no network, no
  third-party numerical libraries.

## Workflow

1. Write the problem as f(x) = 0 and record the tolerance and the
   max iteration budget.
2. Bracket the root when possible: find a and b with f(a) * f(b) < 0
   and call bisection(f, a, b, tol, max_iter); otherwise pick initial
   guesses for the derivative-based methods.
3. Pick the method: bisection for robustness and guaranteed
   convergence on a bracket, newton_raphson when the derivative is
   cheap, secant when it is not, fixed_point_iteration when a
   contractive rewrite x = g(x) is natural.
4. Call the method; a ValueError means the bracket did not straddle
   zero, the derivative or secant slope was zero, or the iteration
   did not converge within max_iter.
5. Verify the result: evaluate f(root) and confirm it is below the
   function tolerance, and report the root, the method, and the
   iteration count together.

## Pitfalls

- Confusing root finding with ODE solving: ode-solvers marches a
  state y(t) forward in time from an initial condition; root finding
  solves f(x) = 0 for a single scalar. A task that says "solve the
  equation" without time marching is a root-finding problem and
  routes here, not to ode-solvers.
- Confusing root finding with numerical integration: quadrature
  returns a definite integral, a single number, in one pass; root
  finding locates where a function vanishes. Integrals route to
  numerical-integration.
- Confusing root finding with interpolation: interpolation fits a
  curve through given data points; root finding locates zeros of a
  given function. Fitting questions route to interpolation.
- Confusing root finding with convergence verification: that leaf
  estimates discretization error with Richardson extrapolation, it
  does not locate zeros. Error estimation routes to
  convergence-verification.
- Calling bisection without a straddle: f(a) * f(b) >= 0 raises
  ValueError, never silently searches. A double root (x**2 = 0)
  touches zero without changing sign and cannot be bracketed by
  bisection alone.
- Calling newton_raphson where the derivative vanishes: f'(x) = 0 at
  a step raises ValueError; the update x - f/f' is undefined there.
- Trusting a root without the residual check: always evaluate f(root)
  against the function tolerance; a non-converged or wrong-branch
  root is caught by the residual, not by the iteration count.
- Using a loose max_iter with a tight tol: bisection needs about
  log2((b - a) / tol) steps; a max_iter below that raises
  ValueError on convergence failure, which is the contract, not a
  bug.
- Expecting one method to work everywhere: no method is global.
  Newton-Raphson and the secant method converge locally and can
  diverge or land on a different root; fixed-point iteration needs a
  contractive rewrite. Report the bracket or initial guess so the
  result is reproducible.
- Routing compressible-flow Mach table lookups here: closed-form
  property tables and airfoil data stay with their data leaves; the
  inversion of a compressible-flow relation for a Mach root is the
  root-finding task and routes here.

## Behavior contract (gate 3)

The bisection, Newton-Raphson, secant, and fixed-point iteration
logic, the bracket and initial guess requirements, the convergence
criteria, and the ValueError contracts (non-straddling bracket, zero
derivative or secant slope, convergence failure) are exercised by the
gate 3 contract test: scripts/test_root_finding_logic.py against
scripts/root_finding_logic.py (stdlib unittest, offline). Run:
python3 scripts/test_root_finding_logic.py

## Compliance

- Standards referenced, not reproduced: NACA TR-824 anchors the
  compressible-flow tables and isentropic area-Mach relations that
  these root-finding methods invert; the numerical methods themselves
  are classical numerical-analysis methodology, summary-only per
  standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.

Attribution

ashfordeOUashfordeOU
View sourceMore from ashfordeOU →
SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

694821 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →