本文由AI(Qwen3-max)辅助撰写,主体写作为AI,行文思路本人提供。
本人对AI辅助写作的博客的评论、吐槽与纠正均以类似本段的引用格式来说明。
泰勒展开中的佩亚诺余项与高阶无穷小:不只是“小到可以忽略”
如果你已经接触过微积分,大概率听说过泰勒展开。而当你看到形如
这样的表达式时,那个神秘的 \(o(x^n)\) 就是所谓的佩亚诺余项(Peano remainder)。它不是某个具体的函数,而是一种对“误差有多小”的描述方式。今天我们就来系统地梳理一下这个记号的含义、运算规则,以及一些容易被忽略的细节。
什么是 \(o(x^n)\)?——高阶无穷小的定义
当我们说一个函数 \(R(x)\) 是 \(o(x^n)\)(读作“小 o of \(x^n\)”),意思是:当 \(x \to 0\) 时,\(R(x)\) 趋于零的速度比 \(x^n\) 更快。用极限语言精确地说,\(R(x) = o(x^n)\) 当且仅当 $$\lim_{x \to 0} \frac{R(x)}{x^n} = 0$$
举个例子:
- \(x^3 = o(x^2)\),因为 \(\frac{x^3}{x^2} = x \to 0\);
- 但 \(x^2 \neq o(x^3)\),因为 \(\frac{x^2}{x^3} = \frac{1}{x} \to \infty\)。
注意:这里的 \(x \to 0\) 是默认的极限过程。如果你在 \(x \to a\) 处展开,那就是 \(o((x-a)^n)\),道理完全一样。
这里有一点,o括号内的东西一定要趋于0,不能是别的值
换句话说,当我们写出 \(o(x^n)\) 的时候,我们默认了 \(x \to 0\),因为只有这时候 \(x^n \to 0\)
那个“等号”到底是什么意思?
你可能会疑惑:既然 \(o(x^n)\) 不是一个确定的函数,为什么还能写成等式?比如:
这里的等号其实是一种约定俗成的简写,本质上是一种“集合归属”关系。
更准确地说,这个等式的意思是,函数 \(\sin x - \left(x - \frac{x^3}{6}\right)\) 属于所有满足 \(\lim_{x\to0} \frac{R(x)}{x^3} = 0\) 的函数构成的集合。
这和不定积分中的 \(+C\) 非常类似:\(\int 2x\,dx = x^2 + C\) 并不是说右边等于左边,而是说原函数的全体是 \(\{x^2 + c \mid c \in \mathbb{R}\}\)。同理,\(o(x^3)\) 是一个“占位符”,代表某个(未知但性质明确的)高阶无穷小。
所以,不要把 \(o(x^n)\) 当成一个具体函数来代数运算,而要把它看作一类函数的“标签”。
\(o(x^n)\) 是一类函数的集合,换句话说,\(o(x^n) = \left\{f(x)|\lim_{x\to0} \frac{f(x)}{x^n}=0 \right\}\)
但是等号写着简单,而且一般来说也不会弄错意思,所以一般也这么写了。
需要注意的是,这种的等号一般不可以反过来,毕竟这里等号并不表示一般意义上的相等。
一个很显然的例子是 \(o(x^{n+1})=o(x^n)\) 但是 \(o(x^n) \neq o(x^{n+1})\)
高阶无穷小的运算规则(超全整理)
接下来我们系统列出 \(o(x^n)\) 在各种运算下的行为。以下所有极限过程都默认 \(x \to 0\)。
1. 加法与减法:谁阶数低,谁说了算
-
\(o(x^m) \pm o(x^n) = o(x^{\min(m,n)})\)
例如:\(o(x^2) + o(x^5) = o(x^2)\),因为 \(x^5\) 比 \(x^2\) 更快趋于零,加了也“看不见”。 -
如果 \(m > n\),那么 \(x^m + o(x^n) = o(x^n)\)
因为 \(x^m = o(x^n)\)(当 \(m>n\) 时),所以整个和仍是 \(o(x^n)\)。 -
常数倍不影响阶数:\(c \cdot o(x^n) = o(x^n)\),只要 \(c \neq 0\)。
\(c\) 为负的就是减法啦,所以你看第二小点就只写了个加号没有减号,没必要写了。
2. 乘法:阶数相加
-
\(x^k \cdot o(x^n) = o(x^{k+n})\)
证明:设 \(R(x) = o(x^n)\),则 \(\frac{x^k R(x)}{x^{k+n}} = \frac{R(x)}{x^n} \to 0\),故成立。 -
\(o(x^m) \cdot o(x^n) = o(x^{m+n})\)
证明:设 \(R_1 = o(x^m), R_2 = o(x^n)\),则\[\frac{R_1 R_2}{x^{m+n}} = \left(\frac{R_1}{x^m}\right)\left(\frac{R_2}{x^n}\right) \to 0 \cdot 0 = 0. \]
3. 除法:小心使用!
- \(\frac{o(x^n)}{x^k} = o(x^{n-k})\),只要 \(k \le n\)。
例如:\(\frac{o(x^4)}{x^2} = o(x^2)\)。
倒过来也一样,只要 \(k \le n\) 就趋于无穷。
- 但反过来不行! \(\frac{o(x^n)}{o(x^m)}\) 是无定义的。
为什么?因为分母可能趋于零的速度比分子快或慢,结果不确定。比如:- 若分子是 \(x^3\),分母是 \(x^2\),则比值是 \(x \to 0\);
- 若分子是 \(x^2\),分母是 \(x^3\),则比值是 \(1/x \to \infty\)。
所以这种写法要避免。
这真的是反过来吗?
4. 幂运算:指数相乘
- \((o(x^n))^k = o(x^{nk})\),其中 \(k\) 是正整数。
证明:用乘法规则递推即可。例如:\[(o(x^2))^3 = o(x^2) \cdot o(x^2) \cdot o(x^2) = o(x^{2+2+2}) = o(x^6). \]
5. 嵌套与复合函数:关键看“最低阶”
在这一切之前,有一个东西还是蛮有趣的:\(o(o(x^n))=x^n\)
这个很简单,一般做的话也遇不到写成这B样的东西,但这确实是嵌套的 😄
这是最容易出错的地方。假设我们要展开 \(f(g(x))\),其中:
- \(f(y) = a_0 + a_1 y + \cdots + a_m y^m + o(y^m)\),
- \(g(x) = b_k x^k + b_{k+1}x^{k+1} + \cdots + o(x^n)\),且 \(k \ge 1\)(即 \(g(x) \to 0\))。
那么 \(f(g(x))\) 的展开到多少阶?答案是:最终余项为 \(o(x^N)\),其中 \(N = \min(n, k \cdot m)\)。
为什么?
- \(g(x)\) 的最低阶是 \(x^k\),所以 \([g(x)]^m\) 的最低阶是 \(x^{km}\);
- 但 \(g(x)\) 本身的余项只精确到 \(o(x^n)\),所以不能指望复合后精度超过 \(n\)。
很好的解释,但是没有证明😡
那就读者自证不难了😄
反正注意展开第一项和佩亚诺余项前的那一项即可,用上面的运算规律,次方正常开,过高次全即可算出结果。\(o(f(x))\)只需要看f(x)的最低项就行。
操作步骤:
- 算出目标阶数 \(N = \min(n, k m)\);
- 把 \(g(x)\) 的多项式部分代入 \(f(y)\) 的多项式;
- 展开后,扔掉所有次数 > N 的项,它们自动被吸收到 \(o(x^N)\) 中;
- 剩下的就是最终的泰勒多项式。
例子:求 \(\sin(x^2 + x^3)\) 到 \(o(x^5)\)。
- \(f(y) = \sin y = y - \frac{y^3}{6} + o(y^3)\)(取 \(m=3\));
- \(g(x) = x^2 + x^3 = x^2(1 + x) = o(x^1)\),最低阶 \(k=2\),且 \(g(x) = x^2 + x^3 + o(x^5)\)(取 \(n=5\));
- 则 \(N = \min(5, 2 \cdot 3) = \min(5,6) = 5\);
- 代入:\(\sin(g(x)) = g(x) - \frac{g(x)^3}{6} + o(g(x)^3)\);
- \(g(x) = x^2 + x^3\);
- \(g(x)^3 = (x^2 + x^3)^3 = x^6 + 3x^7 + \cdots = o(x^5)\)(因为 \(6 > 5\));
- 所以 \(\sin(x^2 + x^3) = x^2 + x^3 + o(x^5)\)。
这个例子太憨批了,不过还有点示范作用所以留着了。
但AI为什么会认为 \(x^2 + x^3\) 会有个 \(o(x^5)\) 项啊??
真不如展 \(\sin(\ln (x+1))\) 到 \(o(x^5)\)
\(o(x^{n+\epsilon})\) 是什么?
有时候你会看到更精细的写法,比如 \(o(x^{2+\epsilon})\)。这比 \(o(x^2)\) 更强。
它的定义是:
存在某个 \(\epsilon > 0\),使得 \(\lim_{x \to 0} \frac{f(x)}{x^{2+\epsilon}} = 0\)。
换句话说,\(f(x)\) 不仅比 \(x^2\) 快,还比某个严格大于 2 的幂次更快。
为什么要引入这个?
因为有些函数“刚好”比 \(x^n\) 快一点点,但又不够快到能被 \(x^{n+\epsilon}\) 控制。典型例子:
- 它是 \(o(x^2)\) 吗?是的,因为 \(\frac{f(x)}{x^2} = \frac{1}{\log(1/x)} \to 0\)。
- 但它是 \(o(x^{2+\epsilon})\) 吗?不是!因为\[\frac{f(x)}{x^{2+\epsilon}} = \frac{1}{x^\epsilon \log(1/x)} \to \infty \quad (\text{对任意 } \epsilon > 0). \]
所以 \(f(x) \in o(x^2)\),但 \(f(x) \notin o(x^{2+\epsilon})\) 对任何 \(\epsilon > 0\) 成立。
为了排掉这个边界,数学家们创造了\(o(x^{2+\epsilon})\)
这跟开区间与闭区间的关系还有点像嘞。
这种写法在分析中很有用,特别是在需要排除“对数型慢收敛”函数的场合,比如在证明某些收敛性或正则性时。
总结
- \(o(x^n)\) 描述的是比 \(x^n\) 更高阶的无穷小;
- 等号是简写,实际表示“余项属于某类函数”;
- 运算规则有章可循:加法看最小阶,乘法阶相加,幂运算阶相乘;
- 复合函数展开时,最终精度由内层最低阶与外层展开阶数共同决定;
- \(o(x^{n+\epsilon})\) 是比 \(o(x^n)\) 更强的条件,能排除对数因子等“边缘情况”。
掌握这些,你就能更自信地处理泰勒展开中的余项问题,不再被那个小小的 \(o\) 搞得晕头转向了。
现在轮到我总结了
这次的qwen漏写的地方有点多啊,哪怕素材给全了行文思路也给了就是不给出一个能全内容包含的东西。
不过倒是没有设什么特殊的提示词,就是简单的贴上所有的计算和定理,给它个行文思路与宽泛的风格要求就让它写。不知道改一改提示词有没有用。
参考文献
无穷小的运算(包括阶运算等)与等价无穷小 - 知乎