无穷级数写到第三篇,主题基本已经锁定:幂级数。前两篇一直在数项级数里打转,正项级数用比值、根值、比较判别法轮番上阵,交错级数交给莱布尼茨,绝对收敛和条件收敛分清界限,本质都是同一件事——给你一串固定的数,判断它加起来收不收敛、收到多少。幂级数把难度往上抬了一层,通项里多了 $x$ 的幂,你判定的不再是一个数,而是整段区间里的每一个 $x$。这就要求我们先划出这块"地盘"(收敛半径与收敛域),再研究地盘上这个函数长什么样(和函数),最后反过来把常见函数写成幂级数(泰勒展开),并拿它去做近似计算、控制误差。这篇文章就是把收敛半径怎么求、端点怎么单独判、和函数怎么凑、展开式怎么背、余项怎么估这几件事串成一条完整的操作链。如果你正在准备考研数学、期末复习,或者工作中需要拿级数做数值估算,这篇可以直接当流程手册用。
1. 为什么第三篇才动幂级数
1.1 从"数项"到"函数"这一步的思维跃迁
前两篇处理的都是 $\sum u_n$,这里的 $u_n$ 是写死的数。幂级数写成 $\sum_{n=0}^{\infty} a_n (x-x_0)^n$,形式上和数项级数只差一个因子 $(x-x_0)^n$,但性质完全变了。同一个级数,代 $x=0.1$ 可能收敛得飞快,代 $x=2$ 可能直接发散,代 $x=R$(半径端点)还要单独拿出来判断。所以幂级数天然带一个"定义域"的概念,这个定义域不是随手给的,是被级数本身的收敛性逼出来的。
我习惯把幂级数理解成一台"函数加工机":给定一串系数 $a_n$,机器就吐出一个函数 $S(x)$,但这台机器只在某个区间内开机,出了区间它就罢工。第一篇讲的是"这台机器会不会罢工",第二篇讲的是"罢工的判据有哪些",第三篇才真正开始用这台机器干活——算函数值、做近似、求导积分。顺序不能颠倒,因为后面的每一步操作都要先确认"我在不在有效区间内"。
很多人卡在第三篇,根子不在技巧,而在没意识到"区间先行"这个原则。做题时一看是幂级数就急着套公式求导求和,结果求出来的东西在端点不成立、在区间外发散,白忙一场。所以我在下文里始终把"先定域、后运算"当成第一条纪律来写。
1.2 幂级数要解决的四个核心问题
把幂级数这一章的考点和实际用途摊开,核心问题无非四个,而且它们之间有严格的先后依赖关系。
- 收敛半径是多少:这决定地盘的直径,方法有比值法、根值法,缺项级数还要特殊处理。
- 端点收不收敛:半径只告诉你 $|x-x_0|<R$ 内部绝对收敛,两个端点 $x=x_0 \pm R$ 必须代数项级数单独判,这一步漏了,收敛域就是错的。
- 和函数怎么求:地盘定了,才轮到在这个地盘上求和函数,主要靠逐项求导、逐项积分、配凑母级数三板斧。
- 函数怎么展开:这是反方向的问题,把已知函数写成幂级数,为的是做近似计算和误差估计。
这四个问题的顺序不能乱。现实中我见过太多"半径算错、端点没判、和函数乱凑"的连锁翻车,因为每一步都建立在上一题的结论上。下面几个章节就按这个顺序一层层拆。
1.3 一个贯穿全篇的操作纪律
先说清楚一条纪律,后面反复要用:任何对幂级数的逐项求导、逐项积分、逐项代入,都必须在你已经确认的收敛区间内部进行。具体来说,逐项求导和逐项积分不会改变收敛半径,但可能改变端点处的收敛性——$x=R$ 处原本收敛,求导后可能发散;原本发散,积分后可能收敛。这不是小概率事件,而是常见陷阱。
举个我印象最深的例子:$\sum_{n=1}^{\infty} \frac{x^n}{n}$ 在 $x=-1$ 处收敛(交错调和级数),在 $x=1$ 处发散(调和级数),收敛域是 $[-1, 1)$。我一度想直接对它逐项求导得到 $\sum x^{n-1}$,然后在 $x=-1$ 处代值,结果求导后级数在 $x=-1$ 处是 $1-1+1-1+\cdots$,发散。求导这一步把端点性质改掉了。所以逐项求导后的结果,只能在开区间 $(-1,1)$ 内使用,端点得退回去重新讨论。这条纪律我写在最前面,是因为它是后面所有实操的前提。
2. 收敛半径:幂级数的地盘是怎么划出来的
2.1 阿贝尔定理给出的"三段式"结构
幂级数的收敛性有一条非常漂亮的结构定理,通常叫阿贝尔定理,它把整个实数轴切成三段。
设幂级数 $\sum_{n=0}^{\infty} a_n (x-x_0)^n$。如果它在某点 $x_1 \neq x_0$ 处收敛,那么在满足 $|x-x_0| < |x_1-x_0|$ 的所有 $x$ 处,它不仅收敛,而且绝对收敛;进一步,在任何闭子区间 $|x-x_0| \le r < |x_1-x_0|$ 上,它还是一致收敛的。反过来,如果它在某点 $x_2$ 处发散,那么在所有 $|x-x_0| > |x_2 - x_0|$ 的 $x$ 处必定发散。
把这两句话合起来看,就得到三段式:靠近中心 $x_0$ 的一团绝对收敛,远离中心的一团必定发散,中间只剩一个临界值 $R$,称为收敛半径。收敛区间就是 $(x_0-R, x_0+R)$ 内部全部绝对收敛,两端点状态未知、需要单判。这就是为什么求收敛域永远是"先求半径,再判两端"两步走,没有捷径。我见过有人想直接一次性判断整个区间,结果在端点上反复出错,就是因为忽略了阿贝尔定理只保证开区间的结论。
提示:阿贝尔定理的一致性结论在后续逐项积分、逐项求导里是"合法性许可证",考试里如果题目要求证明逐项积分成立,往往要把这条定理搬出来。
2.2 收敛半径的三种求法与适用场景
标准幂级数(每一项都带 $(x-x_0)^n$,不跳幂次)的收敛半径求法,本质是数项级数的比值/根值判别法搬过来用。
比值法:设 $\lim_{n\to\infty} \left| \frac{a_{n+1}}{a_n} \right| = \rho$,则 $R = 1/\rho$,约定 $\rho=0$ 时 $R=+\infty$,$\rho=+\infty$ 时 $R=0$。
根值法:设 $\lim_{n\to\infty} \sqrt[n]{|a_n|} = \rho$,同样 $R = 1/\rho$。
柯西-阿达马公式:$R = 1 / \limsup_{n\to\infty} \sqrt[n]{|a_n|}$。这是最一般的形式,前两个公式在极限存在时是它的特例。
三种方法的取舍我总结成一张表,做题时按这张表选就不会绕弯路。
| 系数特征 | 推荐方法 | 理由与提醒 |
|---|---|---|
| $a_n$ 含 $n!$、$n^n$ 之类的连乘/乘方 | 比值法 | 阶乘比值约分干净,一步到位 |
| $a_n$ 是 $n$ 次方形式,如 $a_n = (2^n + 3^n)$ | 根值法 | 开 $n$ 次方直接把幂次拆开 |
| $a_n$ 是分式,分子分母都是 $n$ 的多项式 | 比值法或根值法皆可 | 两者极限一致,选算得顺手的 |
| 级数缺项,如只有 $x^{2n}$ 项 | 都不能直接用 | 必须令 $t=x^m$ 换元,或直接对通项做比 |
缺项这一条要单独强调。比如 $\sum_{n=1}^{\infty} \frac{x^{2n}}{n}$,你如果硬套 $a_n = 1/n$ 得到 $R=1$,虽然答案碰巧对,但过程是错的——这里的"系数"其实是隔项非零的。正确的做法是令 $t = x^2$,级数变成 $\sum t^n / n$,对 $t$ 的收敛半径是 1,即 $|x^2|<1$,回到 $|x|<1$,所以 $R=1$。如果直接对通项用比值判别:$|u_{n+1}/u_n| = |x|^2 \cdot \frac{n}{n+1} \to |x|^2$,要求小于 1,同样得 $|x|<1$。两条路都通,但都比乱套公式靠谱。
2.3 端点判定:最容易被漏掉的一步
半径拿到手,$x_0 \pm R$ 这两个点必须分别代入原级数,变成一个普通的数项级数再判。这一步看着简单,实际上是最容易丢分的地方,因为两个端点的敛散性可以相同,也可以不同,没有规律可循,只能老实算。
拿几个经典级数对照着记,效率最高:
| 幂级数 | 收敛半径 | 收敛域 | 端点分析关键 |
|---|---|---|---|
| $\sum x^n$ | 1 | $(-1,1)$ | 两端通项都不趋于 0,均发散 |
| $\sum \frac{x^n}{n}$ | 1 | $[-1,1)$ | $x=1$ 调和发散,$x=-1$ 交错收敛 |
| $\sum \frac{x^n}{n^2}$ | 1 | $[-1,1]$ | 两端都是 $p=2$ 级数,绝对收敛 |
| $\sum \frac{x^n}{\sqrt{n}}$ | 1 | $[-1,1)$ | $x=1$ 是 $p=1/2$ 发散,$x=-1$ 交错收敛 |
| $\sum n! x^n$ | 0 | ${0}$ | 半径为零,只有中心点收敛 |
| $\sum \frac{x^n}{n!}$ | $+\infty$ | $(-\infty,+\infty)$ | 半径无穷,全轴收敛 |
这张表建议直接背下来,因为它同时覆盖了四种典型端点形态:两端都发散、一端收敛一端发散(两种方向)、两端都收敛。考题里九成的端点判断都是这几个模式的变体,认出来就能秒判。
判断端点时有个判断顺序上的小技巧:先看通项在端点处是否趋于零,不趋于零直接判发散(这是必要条件,最省事);趋于零再考虑莱布尼茨(交错)、$p$ 级数、比较判别法。比如 $\sum \frac{x^n}{n}$ 在 $x=1$ 通项是 $1/n \to 0$,不能靠必要条件判,得用调和级数发散;在 $x=-1$ 通项是 $(-1)^n/n \to 0$ 且单调递减,莱布尼茨直接判收敛。这个顺序能帮你省掉一半无效计算。
3. 和函数的求法:把级数当成函数来操作
3.1 逐项求导与逐项积分的合法边界
求和函数的核心武器是两个定理:在收敛区间内部,幂级数可以逐项求导、逐项积分,且收敛半径保持不变。逐项求导后得到 $\sum n a_n (x-x_0)^{n-1}$,逐项积分后得到 $\sum \frac{a_n}{n+1}(x-x_0)^{n+1} + C$,两者的收敛半径都和原级数一样。
这里有一个很多人会混淆的点:半径不变,但端点的收敛性会变。前面已经举过 $\sum x^n/n$ 的例子,再补一个方向相反的:$\sum x^n$ 在 $x=1$ 发散,但逐项积分后得到 $\sum x^{n+1}/(n+1)$,在 $x=1$ 处变成 $\sum 1/(n+1)$,仍然发散,这个方向没变;而 $\sum (-1)^n x^n$ 在 $x=1$ 处交错发散?其实是 $(-1)^n$,通项不趋于 0,发散;逐项积分后 $\sum (-1)^n x^{n+1}/(n+1)$ 在 $x=1$ 处是交错调和,收敛。所以端点性质求导、积分后都可能翻转,用逐项运算求出的和函数,只在开区间内成立,端点是否成立要单独验证。
这条限制在实际计算里通常不影响结果,因为绝大多数题目要求的和函数本来就定义在开区间上;但如果题目明确问"$x=1$ 处的和",你就必须把端点单独拿出来讨论,不能直接把内部的表达式代进去。
3.2 五个母级数模板与配凑手法
求和函数说白了就是"把陌生级数往熟悉级数上凑"。熟悉级数一共就那几个,我称它们为母级数,务必背到条件反射。
$$ \sum_{n=0}^{\infty} x^n = \frac{1}{1-x}, \quad |x| < 1 $$
$$ \sum_{n=1}^{\infty} n x^{n-1} = \frac{1}{(1-x)^2}, \quad |x| < 1 $$
$$ \sum_{n=1}^{\infty} \frac{x^n}{n} = -\ln(1-x), \quad -1 \le x < 1 $$
$$ \sum_{n=0}^{\infty} \frac{x^n}{n!} = e^x, \quad -\infty < x < +\infty $$
$$ \sum_{n=0}^{\infty} (-1)^n \frac{x^{2n+1}}{(2n+1)!} = \sin x, \quad -\infty < x < +\infty $$
配凑的思路分几种情况。系数是常数倍,直接提出来;系数是 $n$ 的多项式,先乘 $x$ 再求导,或者先积分再求导;指数上多出一个 $x^k$,提出去或者换元。最典型的操作是处理 $\sum n^2 x^n$ 这种,做法是把 $n^2$ 拆成 $n(n-1)+n$,因为 $\sum n(n-1)x^{n-2}$ 正好是 $\frac{1}{1-x}$ 求二阶导的结果。
具体写一遍:设 $S = \sum_{n=1}^{\infty} n^2 x^n$($|x|<1$)。第一步把系数拆开 $n^2 = n(n-1) + n$,于是
$$ S = x^2 \sum_{n=2}^{\infty} n(n-1)x^{n-2} + x \sum_{n=1}^{\infty} n x^{n-1} $$
第一项里 $\sum n(n-1)x^{n-2}$ 是 $\frac{1}{1-x}$ 的二阶导数,等于 $\frac{2}{(1-x)^3}$;第二项是 $\frac{1}{(1-x)^2}$。合并:
$$ S = \frac{2x^2}{(1-x)^3} + \frac{x}{(1-x)^2} = \frac{2x^2 + x(1-x)}{(1-x)^3} = \frac{x + x^2}{(1-x)^3} $$
这个结果在 $-1<x<1$ 内成立,端点不成立,因为端点处 $\sum n^2 x^n$ 的通项不趋于零,原级数本身就发散。
3.3 系数带 n、n² 时怎么处理
系数越复杂,配凑越要讲章法。我把常见系数形态和对应处理手法做成对照表,遇到新题先对号入座。
| 系数形态 | 处理手法 | 用到的母级数 |
|---|---|---|
| $a_n = 1$ | 直接用 | $\sum x^n$ |
| $a_n = n$ | 乘 $x$ 后求导 | $\sum x^n$ 的一阶导 |
| $a_n = n^2$ | 拆成 $n(n-1)+n$,二阶导加一阶导 | $\sum x^n$ 的二阶导 |
| $a_n = \frac{1}{n}$ | 直接积分 | $\sum x^{n-1}$ 积分 |
| $a_n = \frac{1}{n+1}$ | 乘 $x$ 后积分,或先积分再调整 | $\sum x^n$ 积分 |
| $a_n = \frac{1}{n(n+1)}$ | 拆成 $\frac{1}{n} - \frac{1}{n+1}$ 分别求和 | 两个积分型母级数 |
| $a_n = 2n+1$ | 拆成 $2n+1$,线性组合 | 一阶导与常数级数 |
其中"裂项"这一步在实战里特别有用。$\frac{1}{n(n+1)} = \frac{1}{n} - \frac{1}{n+1}$ 这种拆法,能把复合系数变成两个能用母级数直接写出的部分。我做过一道题求 $\sum_{n=1}^{\infty} \frac{x^n}{n(n+1)}$ 的和函数,如果硬求导会越算越乱,裂项之后两步就出结果,收敛域也顺便看清楚了。
注意:裂项时要把 $n=1$ 起点的通项和母级数的起点对齐,母级数 $\sum_{n=1}^{\infty} x^n/n$ 起点是 $n=1$,$\sum_{n=0}^{\infty} x^n$ 起点是 $n=0$,起点错位会导致多出或漏掉常数项。我最初做这类题时,最大的一类错误就是起点对不上,结果差一个常数或者差一项,反复检查才发现问题。
3.4 数值验算:别信手推,跑一遍代码
和函数推完之后,强烈建议花两分钟做数值验算。方法很简单:取区间内某个具体的 $x$,用 Python 把原级数的前若干项加一遍,再把求出来的和函数代入算一遍,两个数应该对得上。这一步能抓住九成的符号错误和系数错误。
import math def series_sum(x, terms=5000): # 原级数 sum n^2 x^n,手工指定项数 s = 0.0 for n in range(1, terms + 1): s += n * n * x ** n return s def closed_form(x): # 推导结果 (x + x^2) / (1 - x)^3 return (x + x * x) / (1 - x) ** 3 for x in [0.3, 0.5, 0.7, -0.4]: a = series_sum(x) b = closed_form(x) print(f"x={x:>5} 级数={a:.10f} 闭式={b:.10f} 差={abs(a-b):.2e}")跑出来四个点的差都在 $10^{-9}$ 量级以下,说明这个和函数是对的。如果差在 $10^{-1}$ 甚至符号相反,那基本就是推导错了。这套验算流程我用得很多,尤其在考试前复习阶段,它比反复看答案更能建立信心。
4. 函数展开成幂级数:从"求和"倒过来做
4.1 直接展开法与间接展开法的取舍
把函数 $f(x)$ 展开成幂级数,方法有两条路。直接展开法是按泰勒公式硬算:求 $f^{(n)}(x_0)$,写出 $\sum \frac{f^{(n)}(x_0)}{n!}(x-x_0)^n$,再验证余项 $R_n(x) \to 0$。间接展开法是利用已知展开式做代换、求导、积分、四则运算,把目标函数凑成已知形式。
直接法唯一的优点是"理论上完备",缺点是求高阶导数极其痛苦。$f(x) = e^{x^2}$ 这样的函数,直接求 $n$ 阶导数足以让人崩溃,但用间接法,把 $e^t$ 的展开式里 $t$ 换成 $x^2$ 就行,一行搞定。所以实战原则很简单:能用间接法就用间接法,直接法只在题目明确要求"用泰勒公式推导"或者函数本身的高阶导数有明显规律时才用。
4.2 必背展开式清单与收敛区间对照
间接展开的前提是手里有足够多的母展开式。下面这张表是必须背下来的,我把收敛区间也一起列上,因为展开式的适用区间经常是考点。
| 函数 | 幂级数展开式 | 收敛区间 |
|---|---|---|
| $\frac{1}{1-x}$ | $\sum_{n=0}^{\infty} x^n$ | $(-1,1)$ |
| $\frac{1}{1+x}$ | $\sum_{n=0}^{\infty} (-1)^n x^n$ | $(-1,1)$ |
| $e^x$ | $\sum_{n=0}^{\infty} \frac{x^n}{n!}$ | $(-\infty,+\infty)$ |
| $\sin x$ | $\sum_{n=0}^{\infty} \frac{(-1)^n x^{2n+1}}{(2n+1)!}$ | $(-\infty,+\infty)$ |
| $\cos x$ | $\sum_{n=0}^{\infty} \frac{(-1)^n x^{2n}}{(2n)!}$ | $(-\infty,+\infty)$ |
| $\ln(1+x)$ | $\sum_{n=1}^{\infty} \frac{(-1)^{n-1} x^n}{n}$ | $(-1,1]$ |
| $-\ln(1-x)$ | $\sum_{n=1}^{\infty} \frac{x^n}{n}$ | $[-1,1)$ |
| $\arctan x$ | $\sum_{n=0}^{\infty} \frac{(-1)^n x^{2n+1}}{2n+1}$ | $[-1,1]$ |
| $(1+x)^\alpha$ | $1 + \sum_{n=1}^{\infty} \frac{\alpha(\alpha-1)\cdots(\alpha-n+1)}{n!} x^n$ | $\alpha>0$ 时 $(-1,1]$,否则 $(-1,1)$ |
注意 $\ln(1+x)$ 和 $-\ln(1-x)$ 这两行,收敛区间不对称,一个左开右闭,一个左闭右开。这不是笔误,是端点处通项敛散性不同导致的。考试里专门有题目问"展开式在 $x=1$ 处成立吗",考的就是这个细节。
4.3 展开过程中最容易翻车的三个细节
细节一,换元后区间要跟着变。把 $e^t$ 的展开式里 $t$ 换成 $-x^2$,原来的 $t \in (-\infty,+\infty)$ 换成 $x^2 \in (-\infty,+\infty)$,也就是 $x$ 全轴。但如果换成 $t = 2x$,那 $t$ 的收敛区间不变,$x$ 的区间也不变。关键是换元的表达式是否把收敛区间压缩。
细节二,展开起点要统一。很多函数展开后需要把常数项单独拎出来,比如把 $\frac{1}{1+x^2}$ 展开成 $\sum (-1)^n x^{2n}$ 是 $n$ 从 0 开始,但如果题目要写成 $\sum_{n=1}^{\infty}$ 的形式,就必须把 $n=0$ 项(也就是常数 1)提出来,写成 $1 + \sum_{n=1}^{\infty}(-1)^n x^{2n}$。少一个 1 或者多一个 1,整道题就错。
细节三,系数里的 $n!$ 不要抄错位置。$\sin x$ 的展开式分母是 $(2n+1)!$,$\cos x$ 是 $(2n)!$,这两个极容易搞混。检验方法是看首项:$\sin x \approx x$,所以 $n=0$ 时通项应该是 $x^1/1! = x$,对应分母 $(2\cdot 0 + 1)! = 1!$,正确;$\cos x \approx 1$,$n=0$ 时通项 $x^0/0! = 1$,正确。养成"首项验算"的习惯,能挡掉很多手滑。
提示:间接展开做完后,同样建议做数值验算。比如把 $\ln(1+x)$ 展成级数后,取 $x=0.5$ 算前 20 项,和
math.log(1.5)比较,差应该在合理范围内。这一步花不了多少时间,但能立刻暴露系数和区间的错误。
5. 幂级数做近似计算:误差怎么控
5.1 两类余项估计思路
用幂级数做近似计算,核心不是算得快,而是算得准并且知道自己有多准。误差估计分两类情况。
第一类是交错级数型余项。如果余项本身是一个满足莱布尼茨条件的交错级数,那么余项的绝对值不超过第一个被舍弃项(也就是截断后的下一项)的绝对值。这个结论极其好用,因为不需要任何额外计算,直接把下一项拿出来当作误差上界就行。比如算 $\ln 2 = 1 - 1/2 + 1/3 - 1/4 + \cdots$,如果你取前 4 项,误差就小于 $1/5 = 0.2$,简单粗暴。
第二类是正项级数型余项。余项全是正数,没法用交错级数的漂亮结论,需要靠放缩。常见手法有:把余项中每一项的分母换成最小的那个(或分子换成最大的那个)放大成等比级数;或者用积分估计 $\sum_{k=n+1}^{\infty} \frac{1}{k^p}$ 的尾部。前者操作简单,适合 $q$ 型比值接近的级数;后者精度更高,适合需要严格上界的场合。
5.2 算例:把 ln2 算到小数点后 6 位
直接用 $\ln 2 = \sum_{n=1}^{\infty} (-1)^{n-1}/n$ 去算,收敛速度是 $1/n$ 级别,要精确到 $10^{-6}$ 需要算大约一百万项,完全不可行。这就是为什么必须换展开式。
利用 $\ln\frac{1+x}{1-x} = \ln(1+x) - \ln(1-x) = 2\left(x + \frac{x^3}{3} + \frac{x^5}{5} + \cdots\right)$。取 $x = 1/3$,左边就是 $\ln 2$。于是
$$ \ln 2 = 2\left( \frac{1}{3} + \frac{1}{3 \cdot 3^3} + \frac{1}{5 \cdot 3^5} + \frac{1}{7 \cdot 3^7} + \cdots \right) $$
这个级数每项大约乘上 $1/9$,收敛极快。取前 7 项手算一下(保留 9 位):$1/3 = 0.333333333$,$1/(3\cdot27) = 0.012345679$,$1/(5\cdot243) = 0.000823045$,$1/(7\cdot2187) = 0.000065321$,$1/(9\cdot19683) = 0.000005645$,$1/(11\cdot177147) = 0.000000513$,$1/(13\cdot1594323) = 0.000000048$。求和得 $0.346573584$,乘以 2 得 $0.693147169$。而真实值 $\ln 2 = 0.6931471806$,前 6 位小数完全正确,第 7 位开始有偏差。
误差有多大?下一项是 $1/(15 \cdot 3^{15})$,乘 2 之后大约 $2/(15 \cdot 14348907) \approx 9.3\times 10^{-9}$,和实际偏差 $1.2\times10^{-8}$ 量级一致。这就验证了交错型余项估计是可靠的。
from fractions import Fraction def ln2_approx(n): x = Fraction(1, 3) s = Fraction(0) for k in range(n): s += Fraction(1, 2 * k + 1) * x ** (2 * k + 1) return 2 * s true = 0.6931471805599453 for n in [3, 5, 7, 9, 11]: v = float(ln2_approx(n)) print(f"取{n:>3}项: {v:.12f} 误差 {abs(v - true):.2e}")跑出来的误差序列大致是 $10^{-4}$、$10^{-6}$、$10^{-8}$、$10^{-10}$、$10^{-12}$ 量级,每多取两项精度提升约 $10^2$,和每项 $1/9$ 的衰减速率完全吻合(两次项对应 $1/81 \approx 10^{-1.9}$)。
5.3 加速收敛的换元技巧
上面这个换元本质上是用参数化把慢收敛级数改成快收敛级数。思路是:$\ln\frac{1+x}{1-x}$ 这个构造把两个对数差变成一个奇次幂的快速级数,$x = 1/3$ 时每项衰减 $1/9$。这个技巧可以再推广。
选 $x$ 的原则是让 $x$ 尽可能小,但左边必须能凑出你想算的数。算 $\ln 2$ 时只能用 $x = 1/3$(因为 $\frac{1+x}{1-x}=2$ 解得 $x=1/3$)。但如果算 $\ln 1.5$,可以让 $\frac{1+x}{1-x}=1.5$,解出 $x = 0.2$,每项衰减 $1/25$,收敛更快。所以遇到对数计算题,先解方程找最优的 $x$,再列级数,往往能把计算量压到最低。
同样的思路也适用于 $\arctan$ 类级数。$\arctan 1 = \pi/4$ 用 $\arctan x$ 的展开式在 $x=1$ 处收敛极慢(每项 $1/(2n+1)$,端点处是莱布尼茨型,衰减只有 $1/n$),实际计算要用 $\pi/4 = \arctan(1/2) + \arctan(1/3)$ 这样的分解,让每一项的 $x$ 都远小于 1,收敛速度立刻上去。这是数值计算里常见的"角度分解"技巧,思路和 $\ln$ 的换元完全一致。
| 目标量 | 直接展开 | 换元/分解后 | 收敛速度对比 |
|---|---|---|---|
| $\ln 2$ | $1-1/2+1/3-\cdots$ | $2\sum \frac{(1/3)^{2k+1}}{2k+1}$ | $1/n$ 提升到 $9^{-k}$ |
| $\pi$ | $4\arctan 1$ | $4[\arctan(1/2)+\arctan(1/3)]$ | $1/n$ 提升到 $(1/4)^k$ 量级 |
| $\sqrt{1.1}$ | 直接代二项式 | 二项式本身已够快 | 每项衰减 $10^{-1}$ 量级 |
6. 常见问题与排查实录
6.1 高频错误速查表
幂级数这块的错误高度集中,我把这些年见过、自己犯过的都整理成一张排查表,做题时对照检查。
| 症状 | 可能原因 | 排查动作 |
|---|---|---|
| 收敛域写成 $[x_0-R, x_0+R]$ | 漏判端点,默认端点收敛 | 两端代回原级数分别判定 |
| 收敛半径算成 $1/\rho$ 的反数 | 比值、根值结果取倒数时搞反 | 用 $\sum x^n$ 做对照验算 |
| 端点代入后算错 | 混淆了逐项运算后的端点性质 | 端点判断必须用原级数,不用运算后的形式 |
| 和函数差一个常数 | 积分常数未确定或起点错位 | 代入 $x=x_0$ 定常数,检查起点对齐 |
| 展开式收敛区间写错 | 忽略换元对区间的影响 | 每次换元后重新推导区间 |
| 近似计算误差不受控 | 用了慢收敛形式且未估余项 | 先换元加速,再估余项上界 |
| $\sin$、$\cos$ 展开式分母写反 | $(2n+1)!$ 与 $(2n)!$ 混淆 | 用首项 $x$ 和 $1$ 做验算 |
6.2 我踩过的几个坑
第一个坑是收敛半径算完就以为收敛域定了。刚学的时候我做完半径就直接写 $(-R,R)$,把端点当默认发散处理,结果像 $\sum x^n/n^2$ 这种两端都收敛的题全错,一整个单元分数都不好看。后来我强迫自己:只要题目问收敛域,动笔前先在草稿纸角落写上"端点要判"四个字,这个习惯一养成,正确率立刻上来。
第二个坑是逐项求导后直接代端点。前面说过的 $\sum x^n/n$,我在 $x=-1$ 处逐项求导代值,得到发散的结论,然后反过来怀疑原级数在 $x=-1$ 处也不收敛,绕了一大圈。后来想明白了:逐项求导只能保证在开区间内成立,端点是独立事件,必须退回原级数判断。这个教训我记了很久,因为它不是计算错误,而是概念上的混淆。
第三个坑是展开式换元后区间忘改。把 $e^{x^2}$ 展开的时候,我用 $e^t$ 的展开式,$t$ 换成 $x^2$,区间本来是 $t$ 的全轴,到 $x$ 这里还是全轴,没问题;但后来处理 $\frac{1}{1-x^2}$ 时,$t$ 换成 $x^2$,$t$ 的区间是 $(-1,1)$,那 $x^2$ 也得在 $(-1,1)$ 里,也就是 $|x|<1$。我一开始直接照抄写成 $(-\infty,+\infty)$,被这个错误坑了整整一道大题。
第四个坑是近似计算的项数没有提前估。有一次算 $\ln 2$ 用交错级数算到 10 项,心算以为够精确了,结果只对到小数点后一位。后来学会先用余项公式估项数:交错级数误差不超过第一项舍弃项,想要 $10^{-6}$ 精度就要让舍弃项小于 $10^{-6}$,也就是算到大约第 $10^6$ 项——这显然是荒谬的,于是果断换展开式。这个"先估再算"的习惯救了我很多次,尤其在考场上,能避免在错误的展开形式上耗时间。
第五个坑是把绝对收敛和条件收敛的判断混进端点讨论。端点处收敛只说明该点收敛,不一定是绝对收敛。$\sum x^n/n$ 在 $x=-1$ 处是条件收敛,因为取绝对值后是调和级数,发散。这个区别在黑板上写收敛域的时候经常被忽略,但考试里确实有题目专门追问端点处的收敛性质。所以我的建议是:判端点时顺手把"绝对收敛还是条件收敛"也标出来,一步到位,既不影响做题速度,又能防住这类追问。
最后一个,算是偏工程的经验。如果不是为了考试,而是真的要用级数算数值,那么收敛速度和区间大小都要看,不能只看收敛半径。半径是 1 的级数,在靠近端点的位置可能几百万项才收敛,而在靠近中心的位置几十项就够了。实际计算时,先选一个让 $|x-x_0|$ 尽量小的展开点,比死磕一个固定展开式有用得多。这是我在用级数做数值估算时最实在的一条体会。