矩阵乘法放在哪里都是一个比较奇怪的东西。以及我是个笨逼,如果不能理解的很深刻,我就有点不想做它相关的任何事情,因为那对我来说它是失控的,单方面的失控。
这两天一直在算这个东西,这里就想写一下。矩阵的乘法有个东西叫观点,观点的不一样会带来几种不同的算法。
行观点
列观点
注意一下计算的顺序
这个是所有书里面讲的点积观点
矩阵的几何含义是什么呢?是坐标系统的转换:
这里先解释了最简单的一维映射,后面又跟了一个二维转一维的映射,其实就是一种降维。
后面这个写的是一个再平常不过的东西,这次我这样给它解释。里面的(x,y)这里就看做是它的的输入,它有俩组,就输入两个做标点,没有问题吧?
我们在想,ax by 是什么?假如就放在一个普通的笛卡尔坐标系里面,它就是一个有点歪的直线。
这样
两个线,就是两条,两条相交的线就可以看成一个坐标系。一个 (x,y)在一个坐标轴上面会出现一个结果,就是一个数。两个(x,y),就是两个m,俩个一维的 m,组成了 二维的(m1,m2).
一般来说我们会把一个直线的系数横着写,不立起来。也就是说是行的形式,这不奇怪,很自然。
关于要输入的坐标,其实矩阵里面有转置,竖着和横着都不影响。但是一般习惯写成竖着,听我以前老师说是为了省纸张,好像是。
一行我们就认为是一个坐标轴,直观的来说可以扩展很多的轴,但是我想象力不够,止步三维。
至于计算的方向,我觉得是你要注意的,就是你的已知量在哪里,已知量到要施加的变换,这就是你的方向,对于下面来看。左到右是坐标系统缺数据,右到左是数据缺映射,看你怎么想了。
输入我们的两个点,给到坐标系统里面输出两个新点。这很直观,
(x,y) ----> ax by,这就是矩阵的代入计算,其实一步计算都没有剩。但是完成了所谓的这种转换关系,用了新的符号一目了然。(假如你接受我这种表达方式)
其实坐标系统的转换也好解释,m x n,n x p = m x p,就是矩阵的规模。因为 m 就是坐标轴上面的未知量。n 就是你的坐标点的位置个数,也就是说要配合起来,一个点有 n 个要转换,你的转换系统就要有一样的转换位置来计算,不搭配就干不了。
至于对不对,我不很很清楚,但是按照我这些理解算题倒是没有错过。矩阵的内涵很深刻,不是我看了两天书就可以说明白的。
一旦你对几何理解深刻,你就会发现一些坐标系之间的转换会变得简单起来,至少直观上面讲就是这样,从一个坐标系到另外一个坐标系之间如何被联系,如何被解算。
代码语言:javascript复制https://www.matongxue.com/lessons/521/parts/597/
代码语言:javascript复制https://zhuanlan.zhihu.com/p/133631891