w

wxyEquation

V1

2023/04/03阅读:22主题:默认主题

矩阵指数,李代数和四元数(1)指数的流动

对于一个实数x我们可以求它的指数 ,想必读者已经非常熟悉了。不过数学上对于一个矩阵 ,我们也可以求它的指数得到一个新的矩阵 。现在我们来看看这个魔法般的操作有什么物理意义。

0.流动的表示

这算是一个前置性的章节。流体力学里为了描述流动,我们一般会使用两种方法:拉格朗日法和欧拉法。在拉格朗日法中,我们关注的对象是运动的流体。比方说假设一小块流体随着时间流动的轨迹是 ,也就是说它在t=0时从 出发,经过时间t流动到 。那么同时考虑布满整个空间V的流体,我们就可以说流动就是一个随时间变化的空间变换:空间V中的每一个向量 在时刻t都会被映射到对应的

拉格朗日法用空间随流动的变换来描述流动
拉格朗日法用空间随流动的变换来描述流动

而在欧拉法中,我们关注的对象是作为背景的空间。假设流体在时刻t经过空间上的某个位置 时的速度 ,这就给出了一个随时间变化的速度场:空间V中的每一点 都会有一个速度 与之对应。

欧拉法用一个速度场来描述流动
欧拉法用一个速度场来描述流动

如果一个速度场只和位置有关而和时间无关 ,那么我们就说它对应的流动是定常流动

之后我们会看到,整篇文章最重要的结论就是:

假设空间V上的一个定常流动的速度场可以利用某个矩阵 写成: ,那么这个矩阵的的指数 就描述着V随着这个定常流动的空间变换:

现在我们就来说明这个结论是怎么来的。

1.矩阵的指数

首先我们先来定义矩阵的实数次方。线性代数里有这样一个技巧,利用矩阵的特征向量对角化来快速地求一个矩阵A的n次方。比方说如果

这里D是由特征值构成的对角矩阵,那么就有

而D求n次方就是对每个对角项求n次方。所以矩阵的实数次方就可以定义成: ,然后认为D的t次方等于对每个对角项求t次方。

其实对于一般的数值函数f(x),我们也可以用对角化的方法定义相应的矩阵函数f(A)。比如矩阵的指数就可以直接定义成对角化之后把每个对角项取指数的结果:

尽管有了这个定义我们就可以直接开算各类矩阵的指数,但是我们并没有一个明确的图像来解释矩阵的指数是什么。

所以让我们再回到矩阵的实数次方。从图像上来看,我们刚刚定义的 有什么意义呢?我们知道一个矩阵A可以看作对整个线性空间V的线性变换,因此矩阵A的实数次方 就相当于一个连续随时间变化的线性变换。也就是说,它其实描述了一个空间的流动:对于每一个 作用在 上就得到一条随时间运动的轨迹:

粗略来看,一开始t=0时 ,所有向量 都被映射到了它本身。过了一小段时间t=dt时, 被映射到 ,然后又过了一会t=2dt时, 就去到了 ……所以在这个流动里,当t连续地增加时,我们相当于在对空间不断重复作用无穷小变换

A^t的作用相当于重复作用无穷小变换A^dt
A^t的作用相当于重复作用无穷小变换A^dt

因为我们一直重复作用的变换 和时间无关,所以这个流动应该是定常的。假设一个点在t时通过位置 ,那么一段时间dt后它就会流到 ,所以 对应的速度就是

也就是说与时间无关的矩阵 作用在 得到这一点上的速度 。因为正常指数函数的导数是 ,我们也可以记矩阵指数函数的导数是 。或者反过来,我们记 ,那么

对于一个矩阵 ,如果我们认为它表示着一个速度场: ,那么它的的指数 就会给出这个速度场对应的流动所造成的空间变换,

比较严谨的速度表达式的推导:

因为对于一个点我们有 ,所以这个点的速度是:

是一个随时间变化的矩阵,它在时刻t的值 作用在一个向量 上得到从 出发的点在时刻t运动的速度。

记不随时间变化的矩阵 ,那么最后这点的速度表达式就是

也就是说和不含时间的矩阵 作用在位置 上得到当前通过这个位置的点的速度,所以空间中一个确定的位置对应的速度 与时间无关。

当然上面的讨论完全忽视了函数的定义域的问题。实际上计算矩阵开n次方或矩阵的对数时经常会出现一点对多值(尤其是在复线性空间里)或者发散的情况,所以一般我们只关注矩阵的指数而不会去看矩阵的对数。

最后,因为如果 的特征向量,那么它对应的速度 会平行于 本身: 。所以很明显 只会沿着自身流动。

从特征向量出发沿着指数流动的结果还是特征向量
从特征向量出发沿着指数流动的结果还是特征向量

。我们有

所以矩阵指数 的特征向量就是它本身的特征向量,而特征值正好等于它本身特征值的指数。这说明我们通过流动定义的矩阵指数和一开始用对角化定义的矩阵指数是等价的。

2.指数的乘法

这里先讲一个非常重要的点:矩阵指数的乘法不能变成幂上的加法。 这是因为矩阵乘法没有交换律但是加法有:

毕竟如果你先沿着A的指数流动再沿着B的指数流动,和你先沿着B的指数再沿着A的指数流动,不一定能到同一个地方。比方说下面这张图的两个流动分别是沿y方向拉伸 倍和绕着原点顺时针旋转 度,而很明显 不等于

两个指数流动不一定可以交换:
两个指数流动不一定可以交换:

唯一可以这样操作的情况是AB=BA。也就是说在A和B本身可以交换的情况下,A和B的指数流动也是可以交换的,而只有在这种情况下A和B指数流动的复合才会等于A+B的指数流动。

当然如果你硬要算矩阵指数乘法的话,可以用这个不管是名字还是公式本身都非常长的贝克-坎贝尔-豪斯多夫公式 (Baker–Campbell–Hausdorff formula):

简称BCH公式。

不过好在无穷小的流动还是可以合并的:

这个叫trotter乘法公式。它说明如果我们沿着A的流动走一点点,再沿着B的流动走一点点,再沿着A走一点点……一直这样走我们就得到A+B的流动。

两个矩阵的和的流动相当于交替作用这两个矩阵的无限小流动
两个矩阵的和的流动相当于交替作用这两个矩阵的无限小流动

3.空间的流动

我们来看看各种不同矩阵的指数流动的样子。

第一种思路是利用特征向量对角化直接求速度场。这里以二维空间为例子。

先看看比较正常的,也就是矩阵的两个特征值都是实数的情况。

两个特征值相等且大于0的情况
两个特征值相等且大于0的情况
两个特征值不相等且都小于0的情况
两个特征值不相等且都小于0的情况
两个特征值一个大于0一个小于0的情况
两个特征值一个大于0一个小于0的情况

可以看出根据特征值的符号空间沿着特征向量流入或流出原点。

如果矩阵只能化成Jordan标准型,只有一个特征向量的情况,那么对应的流动就会很奇怪地沿着特征向量扭曲。

只有一个特征向量的情况
只有一个特征向量的情况
它在原点的流动大概长这样
它在原点的流动大概长这样

最后可以说明如果一个实数矩阵的特征向量算出来是复向量(或者说没有实特征向量),那么它的特征值是一对共轭复数,而对应的流动就会开始旋转。

两个特征向量垂直的情况,这时两个特征值为一对共轭纯虚数
两个特征向量垂直的情况,这时两个特征值为一对共轭纯虚数
两个特征向量不垂直但是特征值为一对共轭纯虚数的情况
两个特征向量不垂直但是特征值为一对共轭纯虚数的情况
两个特征向量为一对共轭复数的情况
两个特征向量为一对共轭复数的情况

我就不给出具体的速度大小,旋度,散度等等。不过这里有个结论:尽管矩阵乘法是没有办法合并的,我们还是有(利用对角化可证):

这说明矩阵指数的流动的散度等于矩阵自身的迹

另一种思路则有一点复杂。用 表示矩阵 的转置(严格来说是共轭转置),我们可以把任意一个矩阵拆成一个单位矩阵的倍数nI,一个迹等于0的对称矩阵T和一个反对称矩阵S之和:

其中

这里dim表示线性空间的维数。

所以最后

单位矩阵的倍数很明显对应着空间的缩放,也就是上面提到的散度。反对称矩阵S的指数是酉矩阵(转置等于自身的逆),对应着空间的旋转。最后迹0对称矩阵T的指数看上去像是某种沿着双曲线的剪切(类似于狭义相对论里的洛伦兹变换)。或者也可以利用对称矩阵的特征向量互相垂直,把T的指数看作是对着一组垂直向量的拉伸和挤压。

任何矩阵的指数流动都可以分成随时间的缩放,旋转和对称剪切三个分量
任何矩阵的指数流动都可以分成随时间的缩放,旋转和对称剪切三个分量

当然因为幂上的加法不能拆开来,所以也不能说整个流动是这三种变换的复合。不过利用上面的trotter乘法我们可以说任何矩阵的指数流动都是不同速度的旋转,缩放和剪切同时作用的结果。

4. 例子和应用

因为它的应用实在是太多了,所以专门开了一章讲。目前还在施工,敬请期待。

分类:

数学

标签:

高等数学

作者介绍

w
wxyEquation
V1