一眼万年 | 逝者如斯,还是一往而深◔ ‸◔?

一眼万年 | 逝者如斯,还是一往而深◔ ‸◔?


逝者如斯乎,不舍昼夜。— 《论语·子在川上》
情不知所起,一往而深。— 《牡丹亭·题记》

1. 岁月的选择偏好

1.1 消亡和暴涨

孔子消逝的江水

“逝者如斯乎,不舍昼夜”。孔子站在河边,望着奔流的江水,突然领悟到大时间尺度下的不可抵御的消亡,感概到“过去的就这样一去不回头了,没日没夜的”。摧毁美好,似乎是岁月的恶趣味。

汤显祖暴涨的爱情

“情不知所起,一往而深”。太多的例子表明控制爱情会导致悲剧。因为这种东西你“不知什么时候开始,哪怕是一点点,它便一发不可收拾”。汤显祖洞察到了岁月的另一个偏好,有些东西它注定要被成全。

1.2 永恒

摧毁也好,成全也罢,关心岁月所至的终局,是人性使然,因为时间的意义,说到底还是人赋予的。几千年过去了,不管是贤者还是凡人仍然在探寻长时间过程的幸存者——那种经过岁月杀猪刀的屠戮,仍然或多或少地维持了某种相似性的,或许可以称为永恒的东西。

1.3 定量讨论

因为孔子、汤显祖都太厉害了,断不敢与他们文斗。这里班门弄斧是受了哥德尔不完备性的鼓舞。中文中可意会不可言传的部分,英文或许有优势,仍然不行,try一下表情包可能有会有奇效。

关于表情包我是战五渣。既然最近在线性代数新手村练级,触景生情,寻思着在线性世界,也就是矩阵控制的演化里,能不能统一理解岁月的选择偏好?这是个可定量讨论的问题。为了方便讨论,我们假设对象的状态可以用向量描述,而时间对对象的影响,就体现在状态向量随时间的演化上。比如外貌协会会员眼中人的状态:

\boldsymbol{x}=\left[ \begin{array}{c} x_1\\ x_2\\ \end{array} \right]= \left[ \begin{array}{c} 颜值\\ 体重\\ \end{array} \right] \\

而岁月的刻痕,就是颜值和体重的起起伏伏。值得注意的是,岁月是通过杀猪刀来施加作用的,也就是说,真正能使状态向量改变的是施加在对象上的操作。比如,你的嘴花一个小时进行了吃火锅操作,后果是体重涨了1斤:

T_{吃火锅}(\boldsymbol{x})=\left[ \begin{matrix} 1& 0\\ 0& 1.01\\ \end{matrix} \right] \left[ \begin{array}{c} 颜值=100\\ 体重=100\\ \end{array} \right]= \left[ \begin{array}{c} 100\\ 101\\ \end{array} \right] \\

接下来我们通过强行播撒人性的光辉,建模永恒的定义。根据直觉,只要状态能扛得住时间施加在其上的变换操作,它就是永恒。那么什么叫扛得住呢?这里定义为,每次时间的操作,状态向量都能维持自我的相似。

换句话说,永恒意味着有些东西不变,但容许一定的不同,它是高级的相似。根据向量和永恒的特点,我们用向量方向相同来代表自相似,用向量长度变化来刻画永恒允许的差异。因为长度有深浅的意味,同时还有量变引起质变的潜能,在某些极端条件下,比如长度为0,可以让任何特定方向消亡(0向量),而方向却不具有这种性质。进一步,我们把时间杀猪刀可用的招式限定在线性变换(可以开心地使用矩阵 ),那么追求永恒就是找到在杀猪刀的屠戮下,状态向量的方向仍然保持不变的情况,写成矩阵形式:

\boldsymbol{x(t+1)} = \boldsymbol{A}\boldsymbol{x(t)}=\lambda \boldsymbol{x(t)} \\

它仅仅是一类特殊的线性方程组(感谢我硬核的初中生涯)。

下面以月为时间单位,揭示岁月选择偏好的实施过程。我们看状态随时间改变的规律:

  • 一个月后,

\boldsymbol{x(t=1)}=\boldsymbol{A}\boldsymbol{x(t=0)}=\lambda \boldsymbol{x(t=0)} \\

  • 两个月后

\boldsymbol{x(t=2)}=\boldsymbol{A}\boldsymbol{x(t=1)}=\boldsymbol{A}\lambda \boldsymbol{x(t=0)}=\lambda ^2\boldsymbol{x(t=0))} \\

  • n个月后

\boldsymbol{x(t=n)}=\boldsymbol{A}...\boldsymbol{A}\lambda \boldsymbol{x}=\boldsymbol{A}^n\boldsymbol{x}=\lambda ^n\boldsymbol{x} \\

  • 汤显祖的暴涨:当\lambda > 1 爱情与日俱增。
  • 孔子的消逝:当\lambda < 1 流水渐行渐远。
  • 完美的稳定:当\lambda = 1 亘古不变。

该方程如此的优秀,值得拥有姓名——本征方程。其中\lambda 叫做矩阵\boldsymbol{A}的本征值,\boldsymbol{x}叫做矩阵\boldsymbol{A}的本征矢。值得注意的是,本征值和本征矢都是由矩阵\boldsymbol{A}具体值决定的,也就是说时间杀猪刀的刀法细节决定了状态的去留。其中亘古不变的绝对稳定是极其罕见的(数轴上的唯一点),当刀法有一点点变化,可能都会造成\lambda \ne 1,从而引发暴涨和消退。

2. 求解永恒方程

以下重在回忆,不求严格,如果熟悉直接跳过。独家解决方案,请见还未动笔的《线性代数新手村报告(续)》 。

2.1 本征值与本征矢

\boldsymbol{A}\boldsymbol{x}=\lambda \boldsymbol{x} \\

等式右边移到左边,

(\boldsymbol{A}-\lambda I_n)\boldsymbol{x}=0 \\

其中I_nn维单位矩阵,比如

I_2=\left[ \begin{matrix} 1& 0\\ 0& 1\\ \end{matrix} \right] \\

我们解读下这个方程,如果该方程有非零解,矩阵(\boldsymbol{A}-\lambda I)的列向量在经过\boldsymbol{x}线性组合后,得到了零向量。这意味着矩阵(\boldsymbol{A}-\lambda I_n)的列向量线性相关。其行列式的值必然为零。其对应方程成为特征方程。

det(\boldsymbol{A}-\lambda I_n)=f(\lambda)=0 \\

这个行列式展开会得到一个多项式,解这个多项式你会得到一系列的\lambda_1,...。将这些\lambda代回本征方程,比如\lambda_1

\boldsymbol{A}\boldsymbol{x_1}=\lambda_1\boldsymbol{x_1} \\

你就得到一个普通的线性方程组,解这个方程组,得到与本征值\lambda_1对应的本征矢\boldsymbol{x_1}

2.2 特征空间

对于n维矩阵,如果特征方程有n个不同的特征值\lambda_1,...,\lambda_n,那么其对应的n个特征矢\boldsymbol{x_1},...,\boldsymbol{x_n}是线性无关的。换句话说,这n个特征矢可以张开一个n维线性空间。任何其它矢量(状态)都可以用它们的线性组合表示:

\boldsymbol{x}=c_1\boldsymbol{x_1}+...+c_n\boldsymbol{x_n} \\

那么

\boldsymbol{A} \boldsymbol{x}=c_1\lambda_1 \boldsymbol{x_1}+...+c_n \lambda_n \boldsymbol{x_n} \\

2.3 状态在时间长河中的演化

有了空间就好办了,在杀猪刀\boldsymbol{A}的屠戮下,从任何初始状态t=0开始,经过时间n后,状态变为

\boldsymbol{x(t=n)}=\boldsymbol{A}^n\boldsymbol{x(t=0)} \\

将初始状态x(t=0)用特征矢展开,用A作用一次:

\boldsymbol{A} \boldsymbol{x(t=0)}=c_1\lambda_1 \boldsymbol{x_1}+...+c_n \lambda_n \boldsymbol{x_n} \\

那么n次后,

\boldsymbol{x(t=n)}=\boldsymbol{A^n} \boldsymbol{x}=c_1\lambda_1^n \boldsymbol{x_1}+...+c_n \lambda_n^n \boldsymbol{x_n} \\

这个结论值得深入guò dù解读,首先看初始状态

\boldsymbol{x(t=0)}=c_1\boldsymbol{x_1}+...+c_n\boldsymbol{x_n} \\

如果初始时,某个本征矢方向的分量为0(c_i=0),那么不管岁月如何努力(花多长时间),其本征值多大,它都不会出现在未来中。因为

0 \cdot \lambda_i^n = 0 \\

无论\lambda多大。所以在线性世界,如果没有开始,就没有以后。

如果初始时,某个本征矢对应的本征值|\lambda|<1,那么,岁月将很快让它消逝。因为此时

\lim_{n\rightarrow +\infty} \left( c_i \cdot \lambda_i^n \right) =0 \\

是指数衰减,不管c_i多大。所以在线性世界,有些消亡你无法阻止。

如果初始时,某个本征矢对应的本征值\lambda>1,那么,岁月将很快让它成长。因为此时

\lim_{n\rightarrow +\infty} \left( c_i \cdot \lambda_i^n \right) =\infty \\

是指数暴涨,不管c_i多小。所以在线性世界,有些意外你可以期待。

3. 二师兄的例子

如果,对于猪群,时间的屠刀是这样安排的:

  1. 出生当年,杀掉一半的猪;
  2. 剩下一半的猪,在它们一岁时再杀掉一半;
  3. 两岁的猪全部杀光。
  4. 初生的猪不产仔,一岁的猪年产6个,两岁的猪年产8个。 第n年,猪种群的状态矢量为\boldsymbol{x}(n)

\left[ \begin{array}{c} x_1(n)=0岁猪的数量\\ x_2(n)=1岁猪的数量\\ x_3(n)=2岁猪的数量\\ \end{array} \right] \\

那么第n+1年,猪的种群为:

\begin{aligned} &x_1(n+1)=\quad \quad 6 x_2(n)+8 x_3(n)\\ &x_2(n+1)=\frac{1}{2} x_1(n)\\ &x_3(n+1)=\quad \quad \frac{1}{2} x_2(n) \end{aligned} \\

也就是说时间的杀猪矩阵[3]为,

\left[ \begin{matrix} 0& 6 & 8\\ \frac{1}{2}& 0 & 0\\ 0& \frac{1}{2}& 0\\ \end{matrix} \right] \\

该矩阵的本征值为\lambda_1 = 2;\lambda_2 =-1;\lambda_3 =-1,其中\lambda_1 = 2对应的本征矢为

\left[ \begin{array}{c} 16\\ 4\\ 1\\ \end{array} \right] \\

后两个本征值都为-1,意味着不管最初猪种群的情况怎么样,很快本征值为2对应的本征矢将起绝对主导(2^n 增长很快)。猪种群的数量每年翻一倍,最终比例接近16:4:1。

\boldsymbol{x(t=n)}=c_1 \cdot 2^n \left[ \begin{array}{c} 16\\ 4\\ 1\\ \end{array} \right]+...+c_3 \cdot (-1)^n \boldsymbol{x_n} \\

4. 结语

如果矩阵不变,那么线性世界孕育着宿命。随着时间的流逝它们或消亡,或暴涨,或不变。有时候初始状态对终局并不那么重要,规则本身会快速抹平出身的差异。所以我们才那么怀念少年。

不过好在真实世界,充满线性也允许非线性,即使困在线性世界,通过稍微改变矩阵,结局也可以翻天覆地。所以,换个环境,假以时日,你可能大不一样。

Reference

[1]

图片来源: 百度图片,未见版权信息,如有侵权请联系删除。

[2]

图片来源: 百度图片,未见版权信息,如有侵权请联系删除。

[3]

矩阵来自Dan Margalit和Joseph Rabinoff: textbooks.math.gatech.edu

发布于 2020-03-25 11:49