# 极限与级数 · 无穷的符号化

> 极限和 Taylor 级数是分析学的两块基石，符号计算把它们也变成了机械操作。这一章看 SymPy 怎么精确求极限（包括 0/0、∞ 这些棘手情形）、怎么把函数展成幂级数，以及这些能力在近似、渐近分析里的用处。

- 作者：David（道雾轩）
- 专栏：符号计算的艺术（https://daiw.org/manual/symbolic-computing.md）
- 最后更新：2026-07-14
- 原文：https://daiw.org/manual/symbolic-computing/limits-series
- 转载与引用：请注明出处并附原文链接（https://daiw.org/about/copyright）

# 极限与级数 · 无穷的符号化

[积分](https://daiw.org/manual/symbolic-computing/symbolic-integration)讲完，再看微积分符号版的另外两件利器——**极限**和**级数**。它们都和「无穷逼近」有关，是分析学的基石，而符号计算把它们也变成了能精确执行的操作。

## 极限：精确处理「趋近」

`limit` 求极限，连那些手算容易出错的 $\frac00$、$\frac\infty\infty$、$1^\infty$ 型都能精确拿下：

```python
from sympy import *
x = symbols('x')

print(limit(sin(x)/x, x, 0))        # 1     —— 经典的 0/0 型
print(limit((1 + 1/x)**x, x, oo))   # E     —— 1^∞ 型,极限是自然常数 e
print(limit(1/x, x, 0, '+'))        # oo    —— 单侧极限(从右趋近)
```

$\frac{\sin x}{x}$ 在 $x\to0$ 时是 $\frac00$，极限却精确是 $1$；$(1+\frac1x)^x$ 在 $x\to\infty$ 时精确趋于 $e$。注意第三个的 `'+'`——它求**单侧**（从右）极限，得到 $+\infty$；符号系统能精确区分左极限、右极限、双侧极限，以及 $\pm\infty$ 这些「值」。

<Callout type="info">
  **计算机怎么求极限？不是「代一个很接近的数进去看看」——那是[数值](https://daiw.org/manual/numerical-computing)的做法，会被误差和振荡骗。** 现代 CAS（含 SymPy）多用 **Gruntz 算法**：它把函数按「趋于无穷的快慢」分层（所谓渐近尺度），从而**精确**判定极限——即使遇到 $\frac{e^x}{x^{100}}$ 这种「指数 vs 多项式」的较量，也能一眼看穿谁跑得快（$e^x$ 完胜，极限是 $\infty$）。这是符号方法对数值方法的一个漂亮胜利：**极限是关于「无穷」的精确断言，只有符号推理配得上它。**
</Callout>

## 级数：把函数摊成幂级数

`series` 把函数在某点展成 **Taylor（泰勒）级数**——用多项式一项项逼近：

```python
print(series(exp(x), x, 0, 5))      # 1 + x + x**2/2 + x**3/6 + x**4/24 + O(x**5)
print(sin(x).series(x, 0, 8))       # x - x**3/6 + x**5/120 - x**7/5040 + O(x**8)
```

$e^x$ 在 $0$ 附近约等于 $1+x+\frac{x^2}{2}+\frac{x^3}{6}+\cdots$，$\sin x\approx x-\frac{x^3}{6}+\frac{x^5}{120}-\cdots$。末尾那个 $O(x^5)$ 是**大 O 记号**，诚实地标注「剩下的都是 $x^5$ 及更高阶的项，这里略去」——它精确记录了**截断到几阶**。

级数展开用处极广：

- **近似计算**：$x$ 很小时，用前几项就能高精度近似函数（计算器算 $\sin$、$\exp$ 就靠它）。
- **渐近分析**：看函数在某点附近的**主导行为**（最低阶项说了算）。
- **推导极限**：很多极限，把分子分母各展成级数、比最低阶项，一眼就出来。
- **数值方法的理论**：孪生专栏里[数值微分 / 积分的误差阶](https://daiw.org/manual/numerical-computing/differentiation)（$O(h^2)$、$O(h^4)$），正是从 Taylor 级数推出来的。

<Callout type="info">
  **符号级数 vs 数值近似，是一对互补。** 符号级数给你**精确的系数**和**明确的误差阶**（$O(x^5)$），让你**理解**逼近的结构；而真要算某点的值，再把符号级数代入数值（[lambdify](https://daiw.org/manual/symbolic-computing/symbolic-vs-numeric)）。「先符号推导出公式与阶、再数值求值」，是科学计算里极常见的高效套路。
</Callout>

## 小结与下一章

**极限** `limit` 精确处理趋近（含 $\frac00$、$1^\infty$、单侧、$\pm\infty$），靠的是 **Gruntz 渐近算法**而非数值代入——只有符号推理配得上「无穷」。**级数** `series` 把函数摊成 Taylor 幂级数，`O(xⁿ)` 精确标注截断阶，用于近似、渐近分析、推极限，以及支撑[数值方法的误差阶](https://daiw.org/manual/numerical-computing/differentiation)理论。符号与数值在这里互补：符号给公式与阶，数值给具体值。

微积分符号版还剩最后一块，也是应用最广的一块——**微分方程**。已知一个函数和它导数的关系，反求这个函数，能不能像解代数方程一样精确解出？下一章见分晓。👉 [符号解微分方程](https://daiw.org/manual/symbolic-computing/symbolic-ode)。

## 参考文献

- [1] Dominik Gruntz.「On Computing Limits in a Symbolic Manipulation System.」(博士论文)1996. —— Gruntz 极限算法。
- [2] SymPy 文档.「Calculus: Limits, Series.」https://docs.sympy.org/latest/tutorials/intro-tutorial/calculus.html
- [3] Graham, Knuth & Patashnik.《Concrete Mathematics》, ch. 9 —— 渐近与级数。
