从利滚利到指数

正指数

   人字拖从我这借了高利贷,年利率是 100%,借 1 元钱,第二年要还我 2 元。 过了半年,他中了彩票,发了财,打算提前还钱。由于只借了半年, 那么利率应该折半,他应该还我 1.5 元。可我寻思着,他这是发了横财, 得好好捞他一笔,好好发扬高利贷利滚利的精神。如果我按季度结算利息, 每个季度,应该是 25% 的利率。第一个季度,本息合计 (1+25%)×1=1.25 (1 + 25\%) \times 1元 = 1.25元 。 这笔钱将作为第二季度的本金。第二个季度过后应还的本息为 (1+25%)×1.25=1.5625 (1 + 25\%) \times 1.25元 = 1.5625元 。 很棒,这下,他得多还 0.0625 元。 还不够,如果我一个月一个月计算利息,是不是能赚更多呢? 第一个月的本息,应该是 (1+100%12)×1 (1 + \frac{100\%}{12}) \times 1元 , 而后续每个月,都以上一个月的本息作为本金计算。六个月以后,应当是 (1+100%12)6×11.6165 (1 + \frac{100\%}{12})^6 \times 1元 \approx 1.6165元 。 若是每天计算一次,我能得到 (1+100%366)366×12×11.6476 (1 + \frac{100\%}{366})^{366 \times \frac{1}{2}} \times 1元 \approx 1.6476元 (那年是闰年)。 计算得越密集,利滚利就发挥得越充分,我能得到的收益就越高。 如果一年中计算 n 次,半年后,我能得到的本息为 (1+100%n)n×12×1 (1 + \frac{100\%}{n})^{n \times \frac{1}{2}} \times 1元 。 如果 n 趋向 ∞,则达到无限利滚利。 limn(1+100%n)n×12×1=e12×11.6487 \lim\limits_{n\rarr\infty}(1 + \frac{100\%}{n})^{n \times \frac{1}{2}} \times 1元 = e^\frac{1}{2} \times 1元 \approx 1.6487元 。 我们将问题一般化,一年的增长周期替换为 T ,而经历的时间不再是半年,而是任意时间。 limn(1+100%n)n×tT=etT \lim\limits_{n\rarr\infty}(1 + \frac{100\%}{n})^{n \times \frac{t}{T}} = e^\frac{t}{T} 。 这便是指数增长,是一种越来越快,无法控制的增长。因此,可不要随便去借高利贷。 据说人字拖和人赌棋,输了一棋盘的麦子,这辈子都没法还清了。

   现实世界中,“利滚利”的现象比比皆是。细菌的分裂,人口的增长(资源充足的情况下)…… 以细菌分裂为例,在微观的层面上,它们是离散的一分为二,二分为四。到了宏观层面, 由于分裂的频率很快,就化为了连续的指数增长。凡是自由增长的事物,都会满足指数规律。

负指数

   另一方面,增长率有时也会是负数,比如粒子的衰变。假设有一试管的某种粒子,共 N 个。 这种粒子的寿命为 T。那么,和我借给人字拖的高利贷相反,T 时间后, 粒子的数量似乎应该减少 100%。然而,粒子和行为和宏观物体不同,可不会等到寿命终了才开始衰变。 它们的行为依据概率,每一个时刻,都有衰变的可能性。 而大自然总是将利滚利发挥到极致。经过时间 t 以后,粒子的数量为: limn(1+100%n)n×tT×N=etT×N \lim\limits_{n\rarr\infty}(1 + \frac{-100\%}{n})^{n \times \frac{t}{T}} \times N = e^\frac{-t}{T} \times N 这便是指数衰减,迅速衰减,却又连绵不绝。即便粒子的寿命 T 是有限的, 我这一试管粒子,却能永远有一部分存在下去,真正的日取其半,万世不绝。

   我们发现自然界中,许多事物的增长还是衰减,都满足指数规律。 为什么大自然会偏爱指数呢?让我们找找这其中的共同点: 不论是细菌的分裂,还是粒子的衰变,都是内源性的。其增长或衰减的缘由,都来自其本身。 而那些外源性的增长和衰减,比如自由落体的速度增长,冰在阳光下融化等等。他们都不符合指数规律。 内源性的增长/衰减,若增长率/衰减率保持恒定的话,增长/衰减应该正比于当前的基数。 这便是指数,一种基于当前数量的,最简单纯粹的改变。

虚指数

   指数增长和指数衰减,增长率分别为正数和负数,分别是向着实数轴的两个方向变化。 在数学上,除了实数轴,还有虚数方向。设有一种虚数增长,增长周期为 T 增长率为 i100%。 limn(1+i100%n)n×tT=cos(tT)+isin(tT)=etT \lim\limits_{n\rarr\infty}(1 + \frac{i100\%}{n})^{n \times \frac{t}{T}} = \cos(\frac{t}{T}) + i\sin(\frac{t}{T}) = e^\frac{-t}{T} 随着 t 的增长,其结果绕着复平面的单位圆转。这便是虚指数。 为什么虚指数会表现为旋转呢?我们思考指数的现实意义:它表示一种恒定增长率的均匀改变, 每一刻的增长与当前基数成正比,与历史无关,也与其它因素无关。 而在起点时刻,若基数为 1。正数的增长率使得基数越来越大,向着数轴正方向; 负数的增长率使得基数越来越小,向着数轴的负方向; 同理,虚数的增长率,应该是垂直于实数轴的方向。 实指数,即实数增长率的情况下,增长量与基数是同一方向(幅角相同)。 因此贡献了模长的增减,产生利滚利效果。而虚数的增长率,使得增长量总是垂直于基数。 我们知道垂直方向的加速,不会改变速度大小,只会改变速度的方向。 同样,虚数的增长率不会改变基数的模,只会改变其幅角。 因此,虚指数,表现为转圈。理解了这一点,相信读者对欧拉公式会有原理性的认识。 eiθ=cos(θ)+isin(θ) ,θR e^{i\theta} = \cos(\theta) + i\sin(\theta) \,, \quad \theta \in \reals

指数的幂级数展开

   通过泰勒展开,我们得到指数函数的的幂级数: ex=n=0xnn!=1+x+x22+x36 ...xR e^x = \sum_{n=0}^\infty \frac{x^n}{n!} = 1 + x + \frac{x^2}{2} + \frac{x^3}{6} \, ... \quad x \in \reals

   函数的级数展开,是一种类似矢量的坐标分解的数学方法。区别在于函数世界的“坐标系”是无穷多维的。 而不同的展开方法,相当于采用不同的“坐标系”。常用的“坐标系”有:泰勒-洛朗“坐标系”,傅里叶“坐标系” 等(此处为笔者自造的称呼,并非公认叫法)。 幂级数展开,即笔者所谓“泰勒-洛朗坐标系”下的分解,本质上是将函数某一点的变化趋势进行分解。 不同的项,表征了不同阶的变化趋势。若级数收敛,我们可以只取前 n 项,来一定精度地模拟原函数。 这在数值计算中十分有用。

复指数

   此外,由于幂函数的解析性。我们可以利用幂级数展开,将实函数的定义延拓到复数域。 比如对于指数函数和三角函数,利用幂级数延拓到复数域为: ez=n=0znn! ,zC e^z = \sum_{n=0}^\infty \frac{z^n}{n!} \,, \quad z \in \Complex 当 z 为纯虚数时,可表示为 z=iθ z = i\theta 代入上式得: eiθ=n=0inθnn! ,θR e^{i\theta} = \sum_{n=0}^\infty \frac{i^n \theta^n}{n!} \,, \quad \theta \in \reals 我们令 k=n2 k = \frac{n}{2} 使实部和虚部分离,得: eiθ=k=0i2kθ2k(2k)!+k=0ii2kθ2k+1(2k+1)!=k=0(1)kθ2k(2k)!+ik=0(1)kθ2k+1(2k+1)! \begin{aligned} e^{i\theta} &= \sum_{k=0}^\infty \frac{i^{2k} \theta^{2k}}{(2k)!} + \sum_{k=0}^\infty \frac{ii^{2k} \theta^{2k+1}}{(2k+1)!} \\ &= \sum_{k=0}^\infty \frac{(-1)^k \theta^{2k}}{(2k)!} + i\sum_{k=0}^\infty \frac{(-1)^k \theta^{2k+1}}{(2k+1)!} \end{aligned} 实部和虚部分别是 cos 与 sin 的幂级数,欧拉公式得证。

   同样的方法,我们也能得到普通复数的指数运算公式: ea+ib=ea(cos(b)+isin(b)) e^{a+ib} = e^a(\cos(b)+i\sin(b))

若只清楚数学推导,而不了解原理,令人迷惑。反之只了解过原理,而没有数学推导,则无异于纸上谈兵,终等于零。 上一节我们从原理上理解了什么是虚指数,这一节则在数学上证明之。两者结合,才能既透彻,又巩固。 当然,这并不代表达到了完美理解。在复指数的各种应用中,还会有更多的领悟。

矩阵指数

   幂级数不但能将函数的定义域延拓到复数域,还能扩展到更多的系统中。 只要这个系统中能定义整数次幂和加法两个运算,例如矩阵。 矩阵的指数运算定义如下: eA=n=0Ann! e^\bold{A} = \sum_{n=0}^\infty \frac{\bold{A}^n}{n!} 这种运算有什么意义呢?让我们看一个例子。

   我们知道矩阵可以理解为线性变换。例如空间中的旋转、斜切、缩放、反射、投影等变换,皆可用矩阵表示。 就拿平面上角度为 θ 的旋转而言,可用如下的变换矩阵表示: [cos(θ)sin(θ)sin(θ)cos(θ)] \begin{bmatrix} \cos(\theta) & \sin(\theta) \\ -\sin(\theta) & \cos(\theta) \end{bmatrix} 事实上,我们可用一个更简洁的矩阵--生成元矩阵表示这个旋转: [0θθ0] \begin{bmatrix} 0 & \theta \\ -\theta & 0 \end{bmatrix} 通过指数,我们可由生成元得到变换矩阵: e[0θθ0]=[cos(θ)sin(θ)sin(θ)cos(θ)] e^{ \begin{bmatrix} 0 & \theta \\ -\theta & 0 \end{bmatrix} } = \begin{bmatrix} \cos(\theta) & \sin(\theta) \\ -\sin(\theta) & \cos(\theta) \end{bmatrix} 我们用 Θ \bold{\Theta} 表示旋转生成元,有: Θ=[0θθ0]eΘ=[cos(θ)sin(θ)sin(θ)cos(θ)] \bold{\Theta} = \begin{bmatrix} 0 & \theta \\ -\theta & 0 \end{bmatrix} \\ e^\bold{\Theta} = \begin{bmatrix} \cos(\theta) & \sin(\theta) \\ -\sin(\theta) & \cos(\theta) \end{bmatrix}

当然,这个关系适用于任何线性变换,并不限于旋转。为了方便,我们仅以旋转为例进行说明。 生成元矩阵有一个很好的特性,直接以角度表示矩阵,便于角度的相加,在多维的情况下,便于处理。

扩展--黎曼曲率的理解

   黎曼曲率,更是与旋转生成元密切相关。为了由浅入深,我们先从曲面上的高斯曲率说起。 我们知道球面是弯曲的,而圆柱面和圆锥面是平直的(可以摊平),而越小的球面,越弯曲(难以铺平)。 那么怎么定义弯曲程度呢?我们注意一个现象:矢量(或任何事物)在平面上平移,无论经过什么样的路线, 只要平移回原点,总是和原来重合的。但球面就不是这样。假设一只螃蟹开车从赤道上的一点向北出发, 笔直前行,经过北极点后继续向前,直至又到达赤道为止。此时它下车步行,横着穿过半个赤道走回原点。 这只螃蟹一直在平移,从未旋转。但平移回原点后,方向竟然与开始时相反了。这便是曲面弯曲的内在特征。 如果仔细分析,我们会发现平移一周回到原点后,若是球面的话,偏差的角度与我们走过的路围成的面积成正比。 自然而然地,我们把偏差角度除以面积当作表征弯曲程度的量,即高斯曲率。反过来说,球面上平移一周的偏差角度, 就等于路径围成的面积乘以高斯曲率。均匀弯曲的球面用乘法即可,而一般的曲面,我们就使用面积分。 曲面上平移一周的偏差角度,就等于高斯曲率在路径围成的区域内的面积分: Δθ=SKdS \Delta \theta = \oiint_{S}K dS 其中 K 为高斯曲率。高斯曲率,本质上是环路平移偏差角度的环路面密度。 而环路面密度,本质上就是旋度。

   可是,高斯曲率只能在曲面上定义,无法向高维推广。原因是我们使用标量角度来表示旋转。 而三维及以上维度空间中的旋转,是有不同方向的,不能只用一个标量表示。 我们知道,旋转,是面上的行为。要有旋转,至少得有两个维度。旋转时,每个点总是沿着某个面运动。 (绕着某条轴转动的说法,只适用于三维空间,不具有普适性。在二维空间中,是绕着某个点而非轴转; 而四维空间中,是绕着某个平面转。而沿着平面转动的说法,适用于任何维度的空间。) 因此我们需要一个二维的,有方向的量,一个相当于“二阶矢量”的事物。关于这种量,我们以后再展开讨论。 这里,我们直接搬出答案:这样的“二阶矢量”有三种,而适合旋转的,是其中一种--反对称矩阵。 回顾上一小节,我们发现旋转生成元,便是一个反对称矩阵。旋转生成元,相当于有方向的角度。我们可称之为有向角。 用之表示旋转,即可拓展到高维。我们使用旋转生成元代替角度,高斯曲率就升级成为黎曼曲率。上面的积分式改写为: ΔΘ=SRdS \Delta \bold{\Theta} = \oiint_{S}\bold{R} dS 其中 R 为黎曼曲率。黎曼曲率,本质上是环路平移偏差有向角的环路面密度,即平移偏差有向角旋度。

矩阵的可交换积

   矩阵的乘法,通常是不可交换的。这不难理解,矩阵对应线性变换。 假设我们有一块金砖,平放在一台液压机上。我们先把金砖竖起来,再压扁;和先将金转压扁,再竖起来, 顺序不同,结果是不一样的。 但是,通过矩阵的指数和对数(为指数的逆运算,也可通过幂级数定义),我们可以定义一种可交换积: AB=eln(A)+ln(B) \bold{A} \boxtimes \bold{B} = e^{ ln(\bold{A}) + ln(\bold{B}) } 由于加法是可交换的,显然,这种乘法是可交换的。与普通积所表示的线性变换先后进行不同, 表示两个线性变换同时进行。以刚才的金块为例子,可交换积表示将金块匀速转动竖起的过程中, 液压机也在匀速下压,最后是在两个方向上都有所压扁,并有所倾斜(斜方向也有所压扁)的状态。

总结

  • 指数是恒定增长率的均匀改变,可以是正方向--利滚利,负方向--衰减,虚方向--旋转。 自然界中,凡是自发的增长或衰减都满足指数规律
  • 幂级数是对函数的一种“矢量分解”,表征某一点的各阶变化趋势。在数值计算方面上非常有用, 更能将函数推广到实数以外的领域,如复数域、矩阵。
  • 指数推广到复数域,有欧拉公式,关联了指数和三角函数。
  • 指数推广到矩阵,有变换和生成元的关系。其中旋转生成元,可以理解为有方向的角,是理解黎曼曲率的关键。
  • 通过矩阵指数和对数,还可以定义矩阵的可交换积。两个矩阵的可交换积相当于两个线性变换同时进行。