[ PROMPT_NODE_27464 ]
sympy
[ SKILL_DOCUMENTATION ]
# SymPy - Python 中的符号数学
## 概述
SymPy 是一个用于符号数学的 Python 库,能够使用数学符号而非数值近似进行精确计算。此技能为使用 SymPy 进行符号代数、微积分、线性代数、方程求解、物理计算和代码生成提供了全面的指导。
## 何时使用此技能
在以下情况使用此技能:
- 符号化求解方程(代数方程、微分方程、方程组)
- 执行微积分运算(导数、积分、极限、级数)
- 处理和简化代数表达式
- 进行矩阵和线性代数的符号运算
- 进行物理计算(力学、量子力学、向量分析)
- 数论计算(素数、因式分解、模运算)
- 几何计算(二维/三维几何、解析几何)
- 将数学表达式转换为可执行代码(Python、C、Fortran)
- 生成 LaTeX 或其他格式的数学输出
- 需要精确的数学结果(例如 `sqrt(2)` 而非 `1.414...`)
## 核心能力
### 1. 符号计算基础
**创建符号和表达式:**
python
from sympy import symbols, Symbol
x, y, z = symbols('x y z')
expr = x**2 + 2*x + 1
# 带假设条件
x = symbols('x', real=True, positive=True)
n = symbols('n', integer=True)
**简化与处理:**
python
from sympy import simplify, expand, factor, cancel
simplify(sin(x)**2 + cos(x)**2) # 返回 1
expand((x + 1)**3) # x**3 + 3*x**2 + 3*x + 1
factor(x**2 - 1) # (x - 1)*(x + 1)
**详细基础内容:** 请参阅 `references/core-capabilities.md`
### 2. 微积分
**导数:**
python
from sympy import diff
diff(x**2, x) # 2*x
diff(x**4, x, 3) # 24*x (三阶导数)
diff(x**2*y**3, x, y) # 6*x*y**2 (偏导数)
**积分:**
python
from sympy import integrate, oo
integrate(x**2, x) # x**3/3 (不定积分)
integrate(x**2, (x, 0, 1)) # 1/3 (定积分)
integrate(exp(-x), (x, 0, oo)) # 1 (广义积分)
**极限与级数:**
python
from sympy import limit, series
limit(sin(x)/x, x, 0) # 1
series(exp(x), x, 0, 6) # 1 + x + x**2/2 + x**3/6 + x**4/24 + x**5/120 + O(x**6)
**详细微积分运算:** 请参阅 `references/core-capabilities.md`
### 3. 方程求解
**代数方程:**
python
from sympy import solveset, solve, Eq
solveset(x**2 - 4, x) # {-2, 2}
solve(E