线性代数的本质 - 04 - 矩阵乘法与线性变换复合
线性变换的组合
比如先旋转再剪切,从头到尾的总体作用是另一个线性变换,这个新的变换通常被称为前两个独立变换的“复合变换”。
我们可以通过得到变换后的 i-hat 和 j-hat来得到这个复合变换。
但这没有体现出两个变换复合的动态变化,只体现了最后的结果,如何通过两个变换得到这个新变换呢?
有一种方法是这样的:
从数值上看,这是对一个向量先旋转后剪切,无论所选的向量是什么,结果都应该与复合变换作用的结果完全相同。
基于上面的公式,我们将新矩阵称为最初的两个矩阵的积是合理的,不是吗?
这里有个奇怪的事情,我们要从右往左读这个变换,即先进行右边的旋转,再进行剪切,才能得到正确的复合矩阵。
这是有原因的:这起源于函数的记号,因为我们将函数写在变量左侧。所以每次两个函数复合时,总要从右向左读。当然,这不符合我们平常读出来的习惯。但却符合计算的习惯。
复合变换的计算
现在考虑如何从两个变换计算出复合变换,拿下面这个举例。
首先考虑,变换之后的 i-hat 是什么?
经过第一个变换后,按照定义,i-hat 的新坐标由M1的第一列给出,也就是。要看经过M2后 i-hat 会变到哪,用之前说过的线性变换的方法就可以轻易算出,,这就是复合矩阵的第一列。同理,我们可以计算出第二列,也就是 j-hat变换后的位置。
当然,显然这一方法具有普适性。
思考,矩阵的结合律, ,能否用矩阵变换的思维证明?
其实,如果用矩阵变换的角度去思考这个问题,会发现这两个变换毫无区别,就是先按C变换,再按B变换,再按A变换,甚至没什么好证明的。可就是这样简单的过程,就是一个实实在在的证明。
三维下的复合变换
其实理解了线性变化的思想后,三维与二维差别并不大,只是多了一个基向量 k-hat,描述一个变换的时候比二维多描述了一个 k-hat 的位置而已。计算一个向量经过某变换得到的新向量时,也是计算三个基向量变换后的位置即可。