SuperAPI AI 工具集

sympy

编程与开发

查看项目

更新于 10-15 21:46

技能介绍

用途:该技能面向 Python 符号数学任务,使用数学符号进行精确计算而非数值近似,适用于符号代数、微积分、线性代数、方程求解、物理计算、数论、几何与代码生成等场景。

主要能力:

  1. 符号计算基础:用 symbols/Symbol 定义符号与表达式,支持 simplify、expand、factor、cancel,并可用 real、positive、integer 等假设条件改善化简。
  2. 微积分:diff 求导(含高阶与偏导)、integrate 求不定/定积分及反常积分、limit 求极限、series 展开级数。
  3. 方程求解:solve、solveset 解代数方程,linsolve 解线性方程组,nonlinsolve 解非线性方程组,dsolve 解微分方程。
  4. 矩阵与线性代数:Matrix 创建与运算,求逆、行列式、转置、特征值与特征向量、对角化,以及 A.solve(b) 解线性系统。
  5. 物理与力学:经典力学(如 LagrangesMethod)、矢量分析(dot/cross)、量子力学(Ket/Bra/Commutator)等。
  6. 进阶数学:几何、数论、组合数学、逻辑与集合、统计学、特殊函数、多项式与 Groebner 基。
  7. 代码生成与输出:lambdify 转为 NumPy 等可执行函数,codegen 生成 C/Fortran 代码,latex/pprint 生成格式化输出。

必要用法与最佳实践:先定义符号再使用;用 Rational 或 S 保持精确算术,避免 0.5 这类浮点引入近似;需要数值结果时用 evalf,循环大量求值建议 lambdify 转 NumPy 函数;按问题选择合适求解器。

适用场景:需要精确数学结果(如 sqrt(2) 而非 1.414)、符号推导、公式文档化,以及与 NumPy、Matplotlib、SciPy 结合的科学计算流程。

限制:资料未提供该技能的安装命令、收费方式、平台支持与性能基准;遇到无法求解的方程可尝试不同求解器或 nsolve 数值方法;化简结果不理想时可尝试不同化简函数或为符号添加假设。