SuperAPI AI 工具集

sympy

数据与分析

查看项目

更新于 10-16 03:14

技能介绍

用途:SymPy 是 Python 符号数学库,用符号精确计算而非数值近似。本技能用于符号方程求解、微积分、代数表达式化简、矩阵线性代数、物理计算、数论、几何,以及把数学表达式转换为可执行代码或 LaTeX 输出,并获取精确结果(如 sqrt(2) 而非 1.414...)。

主要能力:符号与表达式创建(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 输出)。

必要用法:先定义符号,如 x, y, z = symbols('x y z');用假设提升化简效果,如 x = symbols('x', positive=True, real=True) 使 sqrt(x**2) 返回 x;用 Rational(1, 2) 或 S(1)/2 保持精确算术,避免 0.5 这类浮点近似;需要数值结果用 evalf() 或 evalf(50) 控制精度;大批量求值用 lambdify(x, expr, 'numpy') 转换为快速数值函数。可选参考文件按主题划分:core-capabilities.md、matrices-linear-algebra.md、physics-mechanics.md、advanced-topics.md、code-generation-printing.md。

适用场景:需要精确数学结果的科学计算、公式推导与验证、符号到数值的计算管线、数学文档与 LaTeX 生成、把表达式导出为代码。

限制:方程无法代数求解时需改用 nsolve 等数值方法;循环中反复 subs() 与 evalf() 性能较差;简化效果依赖函数选择与符号假设,可能需要尝试多种方式或加 force=True;浮点输入会影响精确性。官方文档 https://docs.sympy.org/ ,教程 https://docs.sympy.org/latest/tutorials/intro-tutorial/index.html ,API https://docs.sympy.org/latest/reference/index.html ,示例 https://github.com/sympy/sympy/tree/master/examples 。本资料未提供收费、价格与平台信息。