线性代数4大核心概念
- 向量
- 矩阵
- 空间
-
维度
学习这门学科的核心算法之前,先理解核心概念。
标量&向量
标量:一个数;
向量:一串数。注意是有顺序的一串数。
标量是一维的向量;向量是进化了的标量。
向量思想
在面向对象编程中我们说:“一切都是对象”。
在线性代数学科中,其实我们可以说:“一切都是向量”。
这就是线性代数的核心思想,后面的10节课我们都会围绕这个思想开展。
行向量&列向量
其实,在本质上,行向量与列向量没有什么不同,只是书写顺序的区别,是我们人为规定的。
不过有一个问题,我们在两者的意义上不进行区分,是很容易导致混乱的。
本课程的重要意义规定:
- 列向量:对象(object)——坐标、属性
- 行向量:方法(method)——权重、方向
后面10节都会反复利用这个定义,我们现在就来个例子直观地感受一下吧!
重要而有趣的栗子
许多童鞋玩过三国志类或者类似的游戏,每个角色都会有不同的属性值,比如三国志里的曹操是这样的:
(这个武将的所有属性可以称为:“对象”)
这里我用列向量去表示了。
好,我们如何评价这个武将在“带兵打仗”方面的能力呢?我们知道“带兵打仗”这种能力不仅仅是武力值,它与其它3项也都有关,那就用权重的方式定义一下吧:
(这个评价的过程可以称为:“方法”)
OK,曹操带兵打仗的能力出现了:
总结一下,我们刚才的操作是:
方法 x 对象
方法 x 对象
方法 x 对象
重要的事情说三遍!
向量有什么厉害的
向量太厉害了,从上面的例子可以看出,只是两个向量的乘法,就完成了一个复杂的评价过程,为啥?
因为“次序(位置)”背后蕴含着重要的意义,那就是“信息”。
向量可视化
就如同标量一样,向量也可以“画出来”:
所以说,标量是一维的向量;向量是进化了的标量。
矩阵
说了这么多向量,怎么不提矩阵,它不应该是线性代数的主角么?
是的,不过其实,向量就是矩阵,矩阵就是向量!
怎么说?
矩阵是进化了的向量,它是向量的向量,是列向量的行向量/行向量的列向量。
矩阵可视化
那么矩阵如何可视化呢?
简单,把矩阵分解为列向量的行向量,如图,再分别画出来。
图中不同颜色是怎么回事?
由于“次序”的存在,矩阵也是有“方向性”,我们用黄色表示+,用绿色表示-。
空间
一提空间,我们就想到了生活的三维空间。
其实,数学上,对于空间的概念更广阔:
空间,是元素或对象的集合;而且,有空间就有运动,这些运动我们称之为:变换或映射。
线性空间 Linear Space
线性代数,只研究线性空间里的问题,那么什么是线性空间?
线性空间就是向量空间。
进一步地:
•一维线性空间,就是数轴,就是标量空间
•二维线性空间,就是XY平面,就是二维向量空间
维度思维
“维”这个字,其实是就“网”的意思,而维度,大约就是“复杂度”的意思。
在线性代数里,维度可以说就是代表着:
“空间复杂度”。
懂线性代数的人,就自带维度思维了,这是一种越来越受重视的思维方式。