用途:为非线性问题选择求解器、配置全局化策略并诊断收敛,适用于求根、优化与最小二乘问题。
主要能力:提供求解器选择流程与快速参考(小规模求根首选 Newton,替代 Broyden,全局化用线搜索;大规模求根用 Newton-Krylov 或 Anderson,全局化用信赖域;优化用 L-BFGS 或 BFGS,配 Wolfe 线搜索;最小二乘用 Levenberg-Marquardt 或 Gauss-Newton;有界约束用 L-BFGS-B 或信赖域反射法)。脚本输出 JSON,包含推荐解、诊断收敛类型与速率、雅可比条件数与质量、全局化策略建议、残差模式告警、信赖域步质量等。
使用方式:按“表征问题—选求解器—定全局化—分析雅可比—监控残差—分析收敛—评估步质量”流程执行。示例命令:python3 scripts/solver_selector.py --size 50000 --smooth --memory-limited --json;python3 scripts/convergence_analyzer.py --residuals 1,0.1,0.01,0.001,0.0001 --tolerance 1e-6 --json;python3 scripts/jacobian_diagnostics.py --matrix jacobian.txt --json。收敛类型分为二次、超线性、线性、次线性、停滞、发散;雅可比质量按条件数分档(good < 10⁶,moderately 10⁶-10¹⁰,ill-conditioned > 10¹⁰,near-singular)。
限制:不保证全局收敛;有限差分雅可比在不连续处可能不准;大型稠密问题需专门求解器;复杂约束需 SQP 或内点法。另有错误处理提示(问题规模须为正、约束类型枚举、残差非负、矩阵文件须存在)。