用途:处理常微分方程(ODE)与偏微分方程(PDE)中的边值问题(BVP),提供问题分类、求解策略和工具命令。
主要能力:
- 问题分类:区分两点边值问题、Sturm-Liouville 特征值问题及混合边界条件(Dirichlet、Neumann、Robin)。
- 打靶法:将 BVP 转为 IVP,猜测缺失初始条件并迭代满足边界条件,配合 scipy.integrate.solve_ivp 与求根方法。
- 有限差分法:离散化域 x_i = a + i*h,用差分近似导数 y'' ~ (y_{i+1} - 2y_i + y_{i-1})/h^2,求解所得线性系统。
- 配点/BVP 求解器:使用 scipy.integrate.solve_bvp(ode, bc, x, y_init),需提供初始网格与猜测,并检查残差精度。
- 特征值问题:Sturm-Liouville 形式 -(p(x)y')' + q(x)y = lambda*w(x)*y;若 p, w > 0 则特征值为实数,特征函数关于权重 w 正交。
使用方式(示例命令保持原样):
- uv run python -c "from scipy.integrate import solve_bvp; import numpy as np; ode = lambda x, y: [y[1], -y[0]]; bc = lambda ya, yb: [ya[0], yb[0]-1]; x = np.linspace(0, np.pi, 10); y = np.zeros((2, 10)); sol = solve_bvp(ode, bc, x, y); print('Solution at pi/2:', sol.sol(np.pi/2)[0])"
- uv run python -m runtime.harness scripts/sympy_compute.py linsolve "tridiagonal_matrix" "boundary_vector"
- uv run python -m runtime.harness scripts/z3_solve.py prove "eigenvalue_real"
适用场景:需要数值或符号求解 ODE/PDE 边值问题、特征值问题、非齐次边值问题的数学与工程计算。
限制:资料未提供具体的性能边界、精度保证或平台依赖说明;部分工具命令依赖 runtime.harness 与脚本路径,需自行确认环境。详细工具文档参见 .claude/skills/math-mode/SKILL.md。