用途:SymPy 是 Python 的符号数学库,用数学符号做精确计算而非数值近似。本技能为使用 SymPy 进行符号代数、微积分、线性代数、方程求解、物理计算和代码生成提供指导。
主要能力:包括符号运算基础(符号、表达式、化简、代换)、微积分(求导、积分、极限、级数)、方程求解(solve、solveset、线性与非线性方程组、常微分方程)、符号矩阵与线性代数、物理与力学、数论与几何等进阶主题,以及代码生成与输出(lambdify、codegen、LaTeX)。参考资料按模块拆分为 core-capabilities.md、matrices-linear-algebra.md、physics-mechanics.md、advanced-topics.md、code-generation-printing.md。
安装:uv pip install "sympy==1.14.0";lambdify 与绘图可选安装 numpy scipy matplotlib。核心 SymPy 需 Python 3.9+,SymPy 1.14.0 需 mpmath>=1.1,<1.4(用 1.3.0)。
用法要点:先定义符号;合理使用假设(如 positive=True);用 Rational 或 S(1)/2 保持精确运算;需要数值时用 evalf,循环中改用 lambdify 提速;按问题选择 solveset、linsolve、nonlinsolve、dsolve 或 solve,solveset 默认复数域,实数问题需指定 domain=S.Reals。
限制:parse_expr、字符串 sympify、lambdify 可执行代码,只接受可信输入,正则或 evaluate=False 不是安全边界;ConditionSet 表示未解析的求解条件而非无解,nsolve 结果是局部根;假设谓词可能返回 None,对数与幂恒等式受分支影响;simplify 无通用、分支安全的 force=True。官方文档:https://docs.sympy.org/。该技能属于 Scientific Agent Skills by K-Dense。