📚 本章内容
本章介绍数列与级数的基本概念,从芝诺悖论引入数列思想,讨论数列的分类方法, 详细讲解等差数列的性质和应用,介绍求和符号Σ的使用,以及数列极限在估算圆周率和微积分中的重要应用。
14.1 芝诺悖论:阿基里斯追不上乌龟
芝诺悖论(Zeno's paradoxes)中最有名的例子莫过于"阿基里斯追乌龟"。
阿基里斯(Achilles)是古希腊神话中的勇士,可谓飞毛腿。而乌龟的奔跑速度仅仅是阿基里斯的 1/10。赛跑比赛时,阿基里斯让乌龟在自己前面 100 米处起跑,他自己在后面追。
根据芝诺悖论,阿基里斯不可能追上乌龟。
芝诺的逻辑是这样的,赛跑过程中,阿基里斯必须先追到 100 米处,而此时乌龟已经向前爬行了 10 米。此时,相当于乌龟还是领先阿基里斯 10 米。这算是一个新的起跑点。
阿基里斯继续追乌龟,当他跑了 10 米之后,乌龟则又向前爬了 1 米。
于是,阿基里斯还需要再追上 1 米,于此同时乌龟又向前爬了 1/10 米。
如此往复,结论是阿基里斯永远也追不上乌龟。
为了方便可视化,假设乌龟爬行速度是阿基里斯奔跑速度的 1/2。设定,阿基里斯奔跑速度 10 m/s,神龟爬(飞)行速度 5 m/s。
图 1. 阿基里斯追乌龟
t₁ = 10 s,阿基里斯跑了 10 s,追到 100 m,而这段时间,乌龟向前跑了 50 m。因此,此刻乌龟领先优势为 50 m。
t₂ = 10 + 5 s,阿基里斯又跑了 5 s,又追了 50 m。5 s 时间,乌龟跑了 25 m,而此时乌龟领先优势为 25 m。
t₃ = 10 + 5 + 2.5 s,阿基里斯又跑了 2.5 s,再追了 25 m。此刻乌龟领先优势为 12.5 m。
t₄ = 10 + 5 + 2.5 + 1.25 s,阿基里斯再追了 12.5 m,此刻乌龟领先优势为 6.25 m。
时间无限可分,距离无限可分,上述过程无穷尽也。似乎阿基里斯永远也追不上乌龟。
同向追赶问题
看到这里,大家一定会有不同意见。
这介绍就是一道小学算数的"同向追赶问题"。距离之差 (100 m) 除以速度之差 (5 m/s) 就等于阿基里斯追上乌龟所需要的时间 20 s。而 20 s时间,阿基里斯一共跑了 200 m。
这种解题思路自然正确。但是,解题过程的前提条件是,假设阿基里斯恰好追上了乌龟!
其实技巧当然算要。实际上,看似无比正确的阿基里斯追乌龟问题,其中蕴含的数学思想才是内核。
图 2. 小学数学同向追赶问题
一尺之棰,日取其半,万世不竭
下面用数列这个数学工具来分析上述问题。数列(sequence)是按接照一定规则排列的一列数。
将图 1 中每段时间隔写成一个数列:
图 3 (a) 用火柴棍图可视化 (1) 数列。
追赶时间的逐项和也写成一个数列累加:
图 3 (b) 所示火柴棍图如 (2) 数列。可以发现上述数列似乎逐渐趋向于 20,即阿基里斯追上乌龟所需要的时间。
图 3. 时间间隔序列和时间逐项和数列
(a) 时间间隔
(b) 累积时间
将阿基里斯在不同时刻之间奔跑的距离写成一列数:
容易发现,这个数列就是大家熟悉的等比数列。上述数列的逐项和构成了一个新数列:
可以发现上述数列似乎逐渐趋向于 200,即阿基里斯追上乌龟总共奔跑的距离。
这体现的正是庄子的哲学观点——"一尺之棰,日取其半,万世不竭"。如图 4 所示,面积为 1 的正方形,每次取一半。如此往复,没有尽头。
图 4. 日取其半,万世不竭
14.2 数列分类
几种常见的数列:
◂ 等差数列(arithmetic sequence 或 arithmetic progression),图 5 (a) 为递增等差数列,图 5 (b) 为递减等差数列;
◂ 等比数列(geometric sequence 或 geometric progression),图 5 (c) 为递增等比数列,图 5 (d) 为递减等比数列;
◂ 正负相间数列(sign sequence 或 bipolar sequence),如图 5 (e) 和 (f) 所示;
◂ 斐波那契数列(Fibonacci sequence),如图 5 (g) 所示;
◂ 随机数列(random sequence),如图 5 (h) 所示。
此外,根据数列项的数量,数列可以分为有限项数列(finite sequence)和无限项数列(infinite sequence)。
图 5. 几种数列
(a) 递增等差
(b) 递减等差
(c) 递增等比
(d) 递减等比
(e) 正负相间1
(f) 正负相间2
(g) 斐波那契
(h) 随机数列
等比数列探索器
探索不同公比下的等比数列行为
数列公式
选择公比 q
行为分类
所有公比对比
📊 等比数列特征
指数增长 (q >1): 快速增大
指数衰减 (0<q<1): 逐渐趋近0
常数列 (q=1): 所有项相等
振荡 (q<0): 正负交替
14.3 等差数列:相邻两项差相等
等差数列定义
等差数列(arithmetic progression,也称 arithmetic sequence)指相邻两项差值相等的数列。
等差数列定义如下:
其中,d 为公差(common difference)。
公差可正可负。公差为正,等差数列递增;公差为负,等差数列递减;公差为零,等差数列为常数列。
通项公式
等差数列的通项公式(general term)如下:
其中,a₁ 为首项,d 为公差,k 为项数(k = 1, 2, 3, ...)。
例如,等差数列 2, 5, 8, 11, 14, ... 的首项 a₁ = 2,公差 d = 3,通项公式为 aₖ = 2 + (k - 1)×3 = 3k - 1。
图 6. 等差数列可视化
递增等差数列 (d > 0)
递减等差数列 (d < 0)
常数列 (d = 0)
前 n 项和公式
等差数列前 n 项和记作 Sₙ,计算公式有两种形式:
形式一:首项 + 末项
形式二:首项 + 公差
这两个公式本质相同,因为 aₙ = a₁ + (n - 1)d。
例如,求等差数列 2, 5, 8, 11, 14 的前 5 项和:S₅ = 5×(2 + 14) / 2 = 40。
等差中项
如果三个数 a, b, c 成等差数列,那么 b 叫做 a 和 c 的等差中项(arithmetic mean)。
等差中项实际上就是两个数的算术平均值。
图 7. 等差数列性质图示
线性增长
前 n 项和(二次增长)
等差数列的应用
等差数列常用于描述均匀变化的时间序列,如匀速运动的位移。
等额本金还款方式中,每期还款额构成等差数列。
循环嵌套的时间复杂度分析中,经常用到等差数列求和。
高斯小时候巧算 1+2+...+100,利用的就是等差数列求和公式。
等差数列探索器
调节首项a和公差d,观察数列和累积和的变化
数列公式
参数设置
视图模式
计算结果
📈 等差数列特征
• 线性增长:每项比前一项增加固定的公差d
• 图形特征:在坐标系中,各项在一条直线上
• 累积和:二次函数增长(d≠0时)
• 求和公式:Sₙ = n·(首项 + 末项)/2
14.4 用正多边形估算π
古希腊数学家阿基米德的方法:用圆内接和外接正多边形的周长从上下两侧逼近圆周长。 随着边数n增加,上界和下界都趋向π。
用正多边形估算圆周率
观察π的上界和下界如何随着多边形边数增加而收敛
真实值
下界估计(内接多边形)
上界估计(外接多边形)
估计区间
14.6 累加:大写西格玛
求和符号
求和符号(summation symbol)——大写西格玛 Σ (capital sigma)——是表达求和的便捷记法。
以下式为例,aᵢ 指这求和中的每一项。下角标 i 代表索引(index variable 或 index),也叫序号:
Σ 下侧和上侧的数字分别代表了求和索引下限(lower bound of summation)和求和索引上限(upper bound of summation)。如图 11 所示。
图 11. 大写西格玛求和记号
常用表达索引的字母有 i、j、k、m、n 等。采用什么索引字母并不影响求和结果。比如:
Σ 中索引上下限可以都是具体正整数。比如:
Σ 中索引上下限也可以都是代数符号。比如:
Σ 的索引也可以是满足集合运算的标签:
降维
如图 12 所示,当索引 i 在一定范围变化时,比如 1 ~ n,数列 {aᵢ} (i = 1 ~ n) 本身相当于一个数组,而索引 i 像是为向。
对 {aᵢ} (i = 1 ~ n) 求和,相当于在 i 方向上将数组"压扁",得到一个标量 ∑ aᵢ。∑ aᵢ 除以 n(也就是数列元素个数),便得到平均数。
从空间角度来看,数列 {aᵢ} 是一维数组,索引 i 就是它的维度,而求和运算 ∑ aᵢ 相当于千降维,得到的"和"只是一个数值,没有维度。
图 12. 从数组角度看求和
线性代数运算
看到这里,大家是否想得到,此处第 12 数列 {aᵢ} 相当于一个列向量 a,即:
本书第 2 章曾讲向量和矩阵时提到过,对列向量 a 所有元素求和可以利用如下向量内积或矩阵运算得到。
图 13. 从向量内积和矩阵乘法角度看求和
下面介绍几个有关求和和符号的重要法则。
14.7 数列极限:微积分的一块基石
数列极限
数列 {aₙ} 极限存在必满足定义如下。
设 {aₙ} 为一数列。如果存在常数 C。对于任意给定的正数 ε,不管 ε 有多小,总存在正整数 N,使得 n > N 时,如下不等式均成立。
那么我称数 C 是数列 {aₙ} 的极限。也可以说,数列 {aₙ} 收敛于 C:
其中,lim 意为"limit"的缩写。n → ∞ 表达"n 趋向无穷"。
如果,极限 C 不存在,则称数列 {aₙ} 极限不存在。
几个例子
给定如下等比数列:
当 n 趋向于无穷,数列值趋向于零:
图 28. 收敛数列
(a)
(b)
(c)
对于如下数列,当 n 趋向于无穷时,数列值恒为 0,不定性极限值:因此,不存在极限:
对于如下数列,当 n 趋向于无穷时,数列值急速增加至无穷,即发散:因此,也不存在极限:
收敛的数列,可以由下而上收敛、且上而下收敛、振荡收敛。
图 28 给出了三个收敛数列的例子。图 28 (c) 对应的数列如下:
数列和的极限
此外,数列之和也可以收敛,下面就是一个收敛的数列之和。数列之和随 n 变化趋势如图 29 (a) 所示。
如图 29 (b) 所示,以下数列之和也是收敛数于 1:
如图 29 (c) 所示,目对于数反数 e 也可以用数列和的极限来求出:
但是 1/n 这个数列之和并非一顶级而元素之和:
如果在以上数列中每一项都加元素 0 之类,这个数列之和收敛:
图 29. 数列和的收敛
(a)
(b)
(c)
数列收敛演示
观察不同数列的部分和如何收敛到极限值
当前数列
选择数列
收敛说明
部分和: Sₙ = ∑ₖ₌₀ⁿ aₖ
收敛: lim(n→∞) Sₙ = L
红色虚线: 表示极限值
x轴对数刻度: 便于观察大n下的趋势
🎯 收敛速度对比
几何级数
指数快速收敛
调和级数变形
较快收敛
阶乘倒数
极快收敛到e
14.8 数列极限估算圆周率
本书第 3 章介绍,古代数学家通过割圆法不断增加圆周率的估算精度。随着数学方法的发展,很多数学家发现可以用数列和来逼近圆周率。这是圆周率估算的一次颠覆性进步。
比如莱布尼茨发现,如下数列之和逼近 π/4:
即
图 30. 数列之和逼近圆周率
Bk3_Ch14_06.py 绘制图 30。
图 30 所示为上式随着 k 不断增加逼近圆周率的值,随着这两个数学工具是微积分的基础。
大家在学习大百格玛求和时,请务必从几何、数据、维度、矩阵这四个视角去分析和运算;不然,复杂层层叠叠和运算会让大家垂头转向。
此外,有了数列和极限这两个数学概念,我们在圆周率估算方法上又进一步。
章节总结
关键要点
核心概念
- ▸芝诺悖论:通过无限分割时间和空间,引出数列和极限的思想,阿基里斯追乌龟问题
- ▸等差数列:aₖ = a + (k-1)d,前 n 项和 Sₙ = n(2a+(n-1)d)/2,线性增长特性
- ▸等比数列:aₖ = a·qᵏ⁻¹,q的绝对值决定增长或衰减,符号决定是否振荡
- ▸求和符号Σ:∑ᵢ₌₁ⁿ aᵢ = a₁ + a₂ + ⋯ + aₙ,降维操作,可用向量内积和矩阵运算表示
- ▸数列极限:lim(n→∞) aₙ = C,当 |aₙ - C| < ε 对任意 ε > 0 成立时,数列收敛于C
- ▸级数收敛:几何级数 ∑(1/2ᵏ) = 2,阶乘倒数级数 ∑(1/k!) = e ≈ 2.718
- ▸莱布尼茨公式:π = 4∑ (-1)ᵏ⁻¹/(2k-1),用交替级数估算圆周率
- ▸正多边形估算π:n·sin(π/n) < π < n·tan(π/n),n→∞ 时两边都趋向π
🎯 实际应用
数列极限是微积分的核心概念,连续性、导数和积分都建立在极限基础上。
求和符号Σ用于分析算法时间复杂度,如等差数列和为O(n²),循环嵌套分析。
求和可用向量内积和矩阵乘法表示,连接离散数学和线性代数。
自然底数e由阶乘倒数级数定义,圆周率π用莱布尼茨级数估算。
用级数展开计算特殊函数值,如sin、cos、exp等,是数值分析的基本方法。
梯度下降、批量处理、损失函数都大量使用求和符号和极限概念。