线性代数的本质 - 04 - 矩阵乘法与线性变换复合

线性变换的组合

比如先旋转再剪切,从头到尾的总体作用是另一个线性变换,这个新的变换通常被称为前两个独立变换的“复合变换”。

我们可以通过得到变换后的 i-hat 和 j-hat来得到这个复合变换。

线性代数的本质 - 04 - 矩阵乘法与线性变换复合

但这没有体现出两个变换复合的动态变化,只体现了最后的结果,如何通过两个变换得到这个新变换呢?

有一种方法是这样的:
线性代数的本质 - 04 - 矩阵乘法与线性变换复合

从数值上看,这是对一个向量先旋转后剪切,无论所选的向量是什么,结果都应该与复合变换作用的结果完全相同。

基于上面的公式,我们将新矩阵称为最初的两个矩阵的积是合理的,不是吗?

线性代数的本质 - 04 - 矩阵乘法与线性变换复合

这里有个奇怪的事情,我们要从右往左读这个变换,即先进行右边的旋转,再进行剪切,才能得到正确的复合矩阵。

这是有原因的:这起源于函数的记号,因为我们将函数写在变量左侧。所以每次两个函数复合时,总要从右向左读。当然,这不符合我们平常读出来的习惯。但却符合计算的习惯。

复合变换的计算

现在考虑如何从两个变换计算出复合变换,拿下面这个举例。
线性代数的本质 - 04 - 矩阵乘法与线性变换复合

首先考虑,变换之后的 i-hat 是什么?

经过第一个变换后,按照定义,i-hat 的新坐标由M1的第一列给出,也就是[11]。要看经过M2后 i-hat 会变到哪,用之前说过的线性变换的方法就可以轻易算出,[0210][11]=1[01]+1[20]=[21],这就是复合矩阵的第一列。同理,我们可以计算出第二列,也就是 j-hat变换后的位置。

当然,显然这一方法具有普适性。
线性代数的本质 - 04 - 矩阵乘法与线性变换复合

思考,矩阵的结合律,(AB)C=A(BC) ,能否用矩阵变换的思维证明?

其实,如果用矩阵变换的角度去思考这个问题,会发现这两个变换毫无区别,就是先按C变换,再按B变换,再按A变换,甚至没什么好证明的。可就是这样简单的过程,就是一个实实在在的证明。

三维下的复合变换

其实理解了线性变化的思想后,三维与二维差别并不大,只是多了一个基向量 k-hat,描述一个变换的时候比二维多描述了一个 k-hat 的位置而已。计算一个向量经过某变换得到的新向量时,也是计算三个基向量变换后的位置即可。