Get the FREE Ultimate OpenClaw Setup Guide →

second-order-odes

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

Second Order Odes

When to Use

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

Decision Tree

  1. Classify the ODE

    • Constant coefficients: ay'' + by' + cy = f(x)?
    • Variable coefficients: y'' + P(x)y' + Q(x)y = R(x)?
    • Cauchy-Euler: x^2 y'' + bxy' + cy = 0?
  2. Homogeneous with Constant Coefficients

    • Characteristic equation: ar^2 + br + c = 0
    • Distinct real roots: y = c1e^{r1x} + c2e^{r2x}
    • Repeated root: y = (c1 + c2x)e^{rx}
    • Complex roots a +/- bi: y = e^{ax}(c1cos(bx) + c2sin(bx))
    • sympy_compute.py solve "a*r**2 + b*r + c" --var r
  3. Particular Solution (Non-homogeneous)

    • Undetermined coefficients: guess based on f(x)
    • Variation of parameters: y_p = u1y1 + u2y2
    • sympy_compute.py dsolve "y'' + y = sin(x)"
  4. Numerical Solution

    • Convert to first-order system: let v = y', then v' = y''
    • solve_ivp(system, [t0, tf], [y0, v0])
  5. Boundary Value Problems

    • Shooting method: guess initial slope, iterate
    • scipy.integrate.solve_bvp(ode, bc, x, y_init)

Tool Commands

Scipy_Solve_Ivp_System

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

Sympy_Charpoly

uv run python -m runtime.harness scripts/sympy_compute.py solve "r**2 + r + 1" --var r

Sympy_Dsolve_2Nd

uv run python -m runtime.harness scripts/sympy_compute.py dsolve "Derivative(y,x,2) + y"

Key Techniques

From indexed textbooks:

  • [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)] Riccati equation and that y1(t) = 1 is one solution. Use the transformation suggested in Problem 33, and nd the linear equation satised by v(t). Find v(t) in the case that x(t) = at, where a is a constant.
  • [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.
  • [Elementary Differential Equations and... (Z-Library)] Two papers by Robert May cited in the text are R. May,“Biological Populations with Nonoverlapping Generations: Stable Points, Stable Cycles, and Chaos,” Science 186 (1974), pp. Biological Populations Obeying Difference Equations: Stable Points, Stable Cycles, and Chaos,” Journal of Theoretical Biology 51 (1975), pp.
  • [An Introduction to Numerical Analysis... (Z-Library)] COLSYS: collocation software for boundary-value ODEs, ACM Trans. Numerical Solutions of Boundary Value Problems for Ordinary Differential Equations. Elementary Differential Equations and Boundary Value Problems, 4th ed.

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/second-order-odes/SKILL.mdView on GitHub

Overview

This skill guides solving second-order ODEs in ODEs PDEs, covering classification, homogeneous and non-homogeneous solutions, numerical methods, and boundary value problems. It provides decision steps, example commands, and practical techniques.

How This Skill Works

Start by classifying the equation as constant coefficients, variable coefficients, or Cauchy-Euler. Then choose a solution pathway (homogeneous, particular, numerical, or boundary-value) and apply the appropriate method, using example commands for symbolic and numeric tools as guidance.

When to Use It

  • When you need to classify a second-order ODE as constant coefficients, variable coefficients, or Cauchy-Euler.
  • When solving homogeneous second-order ODEs with constant coefficients to form the general solution.
  • When the equation is non-homogeneous and requires a particular solution (undetermined coefficients or variation of parameters).
  • When solving numerically by converting to a first-order system for methods like solve_ivp.
  • When dealing with boundary-value problems, using shooting or a BVP solver like solve_bvp.

Quick Start

  1. Step 1: Classify the ODE (constant, variable, or Cauchy-Euler).
  2. Step 2: Solve the homogeneous part via the characteristic equation or Symbolic solver.
  3. Step 3: Address the non-homogeneous part (undetermined coefficients or variation of parameters) or switch to numerical/BVP methods as needed.

Best Practices

  • Classify early: constant, variable, or Cauchy-Euler.
  • Use the characteristic equation ar^2 + br + c for homogeneous constant-coefficient cases.
  • For non-homogeneous parts, choose between undetermined coefficients and variation of parameters.
  • Cross-check analytic results with symbolic solvers (Symbolic) and numeric solvers (solve_ivp, solve_bvp).
  • For BVPs, provide a reasonable initial guess and verify boundary conditions.

Example Use Cases

  • Solve r^2 + r + 1 = 0 with SymPy to get r values and the general solution.
  • Solve y'' + y = 0 using SymPy's dsolve (Sympy_Dsolve_2Nd).
  • Solve y'' + y = sin(x) with SymPy to obtain a particular solution.
  • Compute an IVP numerically: solve_ivp for y'' = -y with y(0)=1, y'(0)=0 over [0,10].
  • Solve a boundary value problem with scipy.integrate.solve_bvp using a system of first-order equations and boundary conditions.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers