用途:SymPy 是 Python 的符号数学库,用符号而非数值近似进行精确计算。本技能用于符号代数、微积分、线性代数、方程求解、物理计算与代码生成等任务。
主要能力:符号与表达式创建(symbols、Symbol,可带 real、positive、integer 等假设);化简与变形(simplify、expand、factor、cancel);微积分(diff 求导、integrate 积分含定积分与反常积分、limit 极限、series 级数);方程求解(solveset、solve、linsolve、nonlinsolve、dsolve 解微分方程);矩阵与线性代数(Matrix、行列式、逆、转置、特征值、对角化、解线性方程组);物理与力学(经典力学拉格朗日方法、矢量分析、量子力学);进阶主题(几何、数论、组合、逻辑与集合、统计、特殊函数、多项式);代码生成与输出(lambdify 转 NumPy 函数、codegen 生成 C/Fortran、latex 输出)。
使用方式:先定义符号再构建表达式;用假设提升化简效果;用 Rational 或 S() 保持精确算术;需要数值时用 evalf 或 lambdify 转 NumPy 提速;按问题类型选择合适求解器。技能按模块组织参考文件:core-capabilities.md、matrices-linear-algebra.md、physics-mechanics.md、advanced-topics.md、code-generation-printing.md。
适用场景:需要精确结果(如 sqrt(2) 而非 1.414)、符号推导、公式验证、生成 LaTeX 文档、与 NumPy/Matplotlib/SciPy 配合的科学计算流程。
限制:资料未提供收费、价格、平台与效果信息;循环中反复 subs 与 evalf 性能较差,应改用 lambdify;部分方程可能无闭式解,需改用数值方法;化简效果依赖函数选择与符号假设。