SuperAPI AI 工具集

linear-solvers

通用与其它

查看项目

更新于 10-15 22:13

技能介绍

用途:为数值模拟中出现的线性系统 Ax=b 提供通用工作流,帮助选择求解器、评估矩阵条件数并诊断迭代收敛问题。

主要能力:包含六个脚本。solver_selector.py 依据对称性、正定性、稀疏性与规模推荐求解器及备选方案;sparsity_stats.py 统计非零元、密度、带宽与对称性;preconditioner_advisor.py 给出预条件子建议;scaling_equilibration.py 做缩放均衡;convergence_diagnostics.py 计算收敛率与渐近率并判断停滞;residual_norms.py 计算残差范数与相对范数。

选型逻辑:稠密且可容纳分解时用直接法(按对称性选 Cholesky/LDLᵀ/LU);稀疏对称正定用 CG 配 AMG/IC;对称不定用 MINRES;非对称用 GMRES 或 BiCGSTAB 配 ILU/AMG;鞍点问题用 Schur 补或 Uzawa 配块预条件子。

使用方式:需 Python 3.10+ 与 NumPy、SciPy。示例命令:python3 scripts/solver_selector.py --symmetric --positive-definite --sparse --size 1000000 --json;python3 scripts/sparsity_stats.py --matrix A.npy --json;python3 scripts/convergence_diagnostics.py --residuals 1,0.2,0.05,0.01 --json。

限制:大型稠密矩阵直接法可能内存不足;高度不定矩阵标准预条件子可能失效;鞍点问题需专门块预条件子。矩阵文件仅支持 .npy 且不超过 500MB,维度上限 100000。技能不启用 Bash,仅读写操作。具体依赖与版本细节以各脚本为准。