Get the FREE Ultimate OpenClaw Setup Guide →

first-order-odes

npx machina-cli add skill parcadei/Continuous-Claude-v3/first-order-odes --openclaw
Files (1)
SKILL.md
3.3 KB

First Order Odes

When to Use

Use this skill when working on first-order-odes problems in odes pdes.

Decision Tree

  1. Classify the ODE

    • Linear: y' + P(x)y = Q(x)?
    • Separable: y' = f(x)g(y)?
    • Exact: M(x,y)dx + N(x,y)dy = 0 with dM/dy = dN/dx?
    • Bernoulli: y' + P(x)y = Q(x)y^n?
  2. Select Solution Method

    TypeMethod
    SeparableSeparate and integrate
    LinearIntegrating factor e^{int P dx}
    ExactFind potential function
    BernoulliSubstitute v = y^{1-n}
  3. Numerical Solution (IVP)

    • scipy.integrate.solve_ivp(f, [t0, tf], y0, method='RK45')
    • For stiff systems: method='Radau' or method='BDF'
    • Adaptive step size: specify rtol/atol, not step size
  4. Verify Solution

    • Substitute back into ODE
    • Check initial/boundary conditions
    • sympy_compute.py dsolve "y' + y = x" --ics "{y(0): 1}"
  5. Phase Portrait (Autonomous)

    • Find equilibria: f(y*) = 0
    • Analyze stability: sign of f'(y*)
    • z3_solve.py solve "dy/dt == 0"

Tool Commands

Scipy_Solve_Ivp

uv run python -c "from scipy.integrate import solve_ivp; sol = solve_ivp(lambda t, y: -y, [0, 5], [1]); print('y(5) =', sol.y[0][-1])"

Sympy_Dsolve

uv run python -m runtime.harness scripts/sympy_compute.py dsolve "Derivative(y,x) + y" --ics "{y(0): 1}"

Z3_Equilibrium

uv run python -m runtime.harness scripts/z3_solve.py solve "f(y_star) == 0"

Key Techniques

From indexed textbooks:

  • [Elementary Differential Equations and... (Z-Library)] Solving ODEs with MATLAB (New York: Cambridge REFERENCES cyan black NJ: Prentice-Hall, 1971). Mattheij, Robert, and Molenaar, Jaap, Ordinary Differential Equations in Theory and Practice Shampine, Lawrence F. Numerical Solution of Ordinary Differential Equations (New York: Chapman and Shampine, L.
  • [Elementary Differential Equations and... (Z-Library)] Differential Equations: An Introduction to Modern Methods and Applications (2nd ed. Use the Laplace transform to solve the system 2e−t 3t α1 α2 , where α1 and α2 are arbitrary. How must α1 and α2 be chosen so that the solution is identical to Eq.
  • [An Introduction to Numerical Analysis... (Z-Library)] Modern Numerical Methods for Ordinary Wiley, New York. User's guide for DVERK: A subroutine for solving non-stiff ODEs. Keller (1966), Analysis of Numerical Methods.
  • [Elementary Differential Equations and... (Z-Library)] Show that the rst order Adams–Bashforth method is the Euler method and that the rst order Adams–Moulton method is the backward Euler method. Show that the third order Adams–Moulton formula is yn+1 = yn + (h/12)(5fn+1 + 8fn − fn−1). Derive the second order backward differentiation formula given by Eq.
  • [An Introduction to Numerical Analysis... (Z-Library)] Test results on initial value methods for non-stiff ordinary differential equations, SIAM J. Comparing numerical methods for Fehlberg, E. Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnumg mit Schrittweiten-Kontrolle und ihre Anwendung auf Warme leitungsprobleme, Computing 6, 61-71.

Cognitive Tools Reference

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

Source

git clone https://github.com/parcadei/Continuous-Claude-v3/blob/main/.claude/skills/math/odes-pdes/first-order-odes/SKILL.mdView on GitHub

Overview

Guides classification of first-order ODEs (linear, separable, exact, Bernoulli) and matching solution methods, with practical steps for analytical and numerical IVP solutions, verification, and phase-portrait analysis.

How This Skill Works

Begin by classifying the ODE as linear, separable, exact, or Bernoulli. Choose the corresponding method: integrating factor for linear, separation for separable, potential function for exact, or a Bernoulli substitution. For IVPs, use SciPy solve_ivp with appropriate tolerances and consider stiff solvers like Radau or BDF, then verify the solution and, if autonomous, analyze equilibria and stability through a phase portrait.

When to Use It

  • You need to identify the ODE type to select an effective solution method.
  • You are solving a first-order ODE that is separable, linear, exact, or Bernoulli.
  • You are solving an initial value problem (IVP) and may need a numerical method.
  • You want to verify the obtained solution by substitution and boundary conditions.
  • You are analyzing long-term behavior via a phase portrait and equilibria.

Quick Start

  1. Step 1: Classify the ODE as linear, separable, exact, or Bernoulli.
  2. Step 2: Apply the appropriate analytical method (integrating factor, separation, exact function, or Bernoulli substitution).
  3. Step 3: If solving a numerical IVP, use SciPy solve_ivp with a suitable method and tolerances; verify the solution and, for autonomous cases, inspect equilibria.

Best Practices

  • Classify the ODE first (linear, separable, exact, Bernoulli) to pick a targeted method.
  • Use the integrating factor e^{∫P dx} for linear equations of the form y' + P(x)y = Q(x).
  • For separable equations, rewrite as dy/dx = f(x)g(y) and integrate both sides.
  • When solving numerically, choose solve_ivp and, for stiff problems, Radau or BDF with appropriate rtol/atol.
  • Always verify by substituting back and checking initial/boundary conditions; analyze equilibrium for autonomous systems.

Example Use Cases

  • Solve a linear ODE: y' + P(x)y = Q(x) using an integrating factor.
  • Solve a separable ODE: y' = f(x)g(y) by separation and direct integration.
  • Solve an exact ODE: M(x,y)dx + N(x,y)dy = 0 with dM/dy = dN/dx.
  • Solve a Bernoulli equation: y' + P(x)y = Q(x)y^n by substituting v = y^{1-n}.
  • Numerical IVP: solve y' = -y with y(0)=1 from t=0 to 5 using solve_ivp.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers