线性代数(三) 矩阵乘法与线性变换复合

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010333737/article/details/80503569

  考虑一个变换: 逆时针旋转 90°, 再剪切一个单位, 变换后的 i , j 的矩阵是 [ 1 1 1 0 ] , 但是很明显, 我们实际上进行了两个动作, 我们通过直观上的观察得出的是最后的整体效应.
  那么, 现在让我们来分别考虑两个过程, 再重新进行上述的变换.
  1. [ 0 1 1 0 ] – 逆时针旋转 90°
  2. [ 1 1 0 1 ]  – 剪切一个单位
  那么对于任意的一组 [ x y ] , 下面这个等式都应该成立 !
  

(34) [ 1 1 0 1 ] ( [ 0 1 1 0 ] [ x y ] ) = [ 1 1 1 0 ] [ x y ] (35) (36) [ 1 1 0 1 ] [ 0 1 1 0 ] = [ 1 1 1 0 ]

  看我们得到了什么! 把这个式子定义成矩阵乘法是相当合理的.
  还记得我们之前说的么? 所谓 “变换”, 是为了让我们用运动去思考.
  矩阵乘法并不是课本上的一个枯燥的公式, 矩阵乘法表示的意义是几个变换的相继作用.
  另外, 你有没有注意到我们的公式是从右向左读的? 先发生的变换反而在公式的左边. 这是为什么呢?
  这又要说回之前提到的: “变换” 其实就是一个 “函数”. 这个复合函数 f ( g ( x ) ) 是不是更眼熟一些~ 我们把变换写在左边的原因就是我们会把函数写在变量的左边, 于是我们的乘法公式就变成了从右向左读.
   注意这是在我们使用列向量来讨论时的情况, 当使用行向量的时候由于矩阵乘法需要保持矩阵內维相等, 阅读顺序会变成从左向右.


  接下来我们来推广矩阵乘法的定义.
  用变换来思考 [ a b c d ] [ e f g h ]
   i 经过第一次变换变成了 [ e g ] , 再经过第二次变换 [ a b c d ] [ e g ] e [ a c ] + g [ b d ] [ a e + b g c e + d g ]
  对 j 做同样的处理, 我们最终就得到了 [ a e + b g a f + b h c e + d g c f + d h ]
  看~ 这不就是矩阵乘法的公式.


  用连续的变化来思考矩阵的乘法, 会帮助我们更直观的理解矩阵的性质.
  比如结合律: ( A B ) C = A ( B C ) . 如果用公式推导的方式来证明这个定律, 你可能需要写非常长的一个矩阵等式, 当矩阵维度增加时计算量更是爆炸式的增长. 但是如果你站在变化的角度来看, 不管怎么结合, 施加变换的顺序都是 C B A . 看! 这个定律就是这样显而易见, 根本就不需要证明嘛!

  那么交换律又为什么无法被矩阵乘法满足呢?
  假设 M 1 是旋转, M 2 是剪切, 那么 M 1 M 2 , M 2 M 1 都表示了什么变换呢?
  不满足交换律
  可见 M 1 M 2 最终使 i , j 靠近, M 2 M 1 最终使 i , j 远离.

猜你喜欢

转载自blog.csdn.net/u010333737/article/details/80503569