本
文
摘
要
说到矩阵,我们可能会立刻想到线性代数。
线性代数,不仅是大学理工科本科生的必修课,也是工作中十分有用的理论工具。
例如在机器学习、图像处理、机器人导航、自动控制等领域,线性代数都有着十分广泛的应用。理解并学会运用它,是十分划算的。
但是,线性代数并不友好。
对于很多初学者而言,虽然期末考试可以考个八九十分,但在整个学期的学习过程中,往往从第一节课开始,从头到尾,自始至终,心中都充斥着几个字,那就是,
“莫名其妙”。
很多概念,好像都是无中生有地出现在课本上,前不着村后不着店,让人感觉非常虚无缥缈。虽然我们憋屈地通过死记硬背,解决了作业和考试的问题,但实际上,对于知识本身来说,我们往往跟没学差不多,考后一个月内,立即忘得一干二净。
那么,问题究竟出在哪?为什么线性代数如此难以理解?
好,为了理清思路,我们先来研究一个问题。
在研究这个问题之前,我们先来介绍一下,
什么是矩阵。
比如,
这就是一个两行三列的矩阵,记作2×3的矩阵。
当然,也有三行两列的矩阵,比如:
这里,矩阵中的元素都是实数,因此称为实矩阵。当然,也可以填入复数,那就是复矩阵。
为了方便,我们往往将一个矩阵用大写字母来表示,比如:
这就是教科书上的矩阵了。
那么现在,我有一个很自然的疑问,就是,
矩阵它为什么是这样方的?为啥是矩形的?
有人说,老王,你是不是来捣乱的?这有啥可研究的?
矩阵为啥是方的,那当然是因为数学界把它定义成方的啊!
所谓定义,就是“规定”,
你可以这样定义,也可以那样定义。
比如,
3×5,
表示五个三相加。
这个“叉”的含义,就是定义出来的,你完全可以把3×5定义成5个3相减。但是,这种定义方式就不是数学界所使用的了。
好,既然这个矩阵,它是被定义成方形的,那么,请问,
为什么不定义成别的形状?
比如,三角形:
有人说,因为矩形好看。
我认为三角形也挺好看啊。
有人说老王你不要纠缠这种问题好不好,你到底是来干什么的?
事实上,不是我无聊啊,而是,我翻开书,大脑中第一个问题就是这个问题!
你说,矩阵定义成这个东西,那么,你这本书起码要给点说法不是?
否则,当然会让人产生莫名其妙,无中生有的空虚感。
好,有人说,我想起来了。
之所以矩阵被定义成矩形,是因为,矩阵是用来表示方程组的,
一个方程组就对应一个矩阵,而一个矩阵就对应一个方程组。
比如,
这是一个二元一次方程组,而在消元的过程中,x和y实际上并没有发生任何变化,因此我们可以直接将x和y的系数拿出来,组成一个“数组”,即:
增广矩阵
这,叫作方程组的“增广矩阵”。
所以,很多人就认为,
一个矩阵就对应一个线性方程组,而且,矩阵就是方程组的系数。
有这种理解是很正常的,因为几乎所有教科书第一章第二章都在折腾方程组嘛,所以,很多人在学习矩阵的时候,就是用这条思路学下去的。
但是,如果你一旦陷入这套原理,那么你会发现,整个学习过程,都将是十分难受,十分便秘的,很多概念完全无法理解。
我随便举几个例子。
比如,
相似矩阵。
说,有两个矩阵,A和B,如果你找得到另外一个矩阵P,使得这仨哥们满足:
那么,我们就说,A和B相似。
(P-1指的是P的逆,反正也是个矩阵,这个以后再说)
注意,这个相似的英文就是similar,就是长得像的意思。
好,如果我们陷入矩阵就是方程组的思维,那么,矩阵相似,应该是两个方程组相似了?
方程哪有相似的说法呢???
真是一头雾水,莫名其妙。
又比如,还有一套著名的概念:
矩阵的特征值和特征向量。
也就是说,矩阵它有特征,而且有几个数字,可以代表矩阵的特征。
难道方程组还有特征?
是不是又觉得很莫名其妙。
这样的例子简直是多如牛毛,不胜枚举。
那问题到底出在哪?
实际上,这个问题,跟我们教科书有一定的关系;跟我们的课堂,也有一定的关系。
我不知道是不是很多老师觉得我刚才问的那几个问题太简单了,不屑于在课堂上讲。但实际上,我觉得,解答这些问题是非常重要的。
就是,
我们一定要在一开始,让大家觉得,这些东西是很自然的,而不是需要死记硬背的。
那么,为什么矩阵有这么多相关概念,却又难得理解呢?
是因为我们理解的方法错了。
首先,
矩阵就不一定表示方程组的系数。
而是,
矩阵只是一堆数字的阵列,仅此而已。
矩阵的定义,无需引入方程组。你让矩阵的这些数字代表什么,它就可以代表什么。
比如,我统计每天上午和下午的工作时间,连续统计了三天,分别是,
上午1小时,下午4小时;
上午2小时,下午5小时;
上午3小时,下午6小时;
那么,我们可以将这些数据,表达成一个矩阵,
然后我可以对这些数据进行各种计算和处理,比如,我需要计算平均值,或最大值,等等。
也就是说,
矩阵它没有必要是方程组的系数,其定义与方程组无关。
那么,有人说,
为什么人们又可以用矩阵的方式,去表示方程组呢?
这就是问题的要害。
事实上,所有的问题,根本在于,我们很多人在学习的过程当中,
把矩阵的历史发展顺序,与矩阵理论的逻辑顺序,搞混了。
而且更要命的是,这两个顺序,正好是个反的。
什么意思呢?
首先,历史上,矩阵这个东西是怎么发展出来的?
我们刚才已经讲了,就是人们在研究方程组的时候,把它的系数,提取出来,解方程。用系数的阵列来解方程,最早在公元1世纪的《九章算术》中就有了。
然后,我们就来研究这堆矩形的数字的阵列,发现,其实可以单独搞成一门学问,于是就给它起了个名字,叫“矩阵(matrix)”。
Matrix这个词是1850年才出现的。
因此,矩阵的历史发展顺序是,
先有方程组,然后,为了解方程,而搞出了一个系数矩阵,然后推广,成了一门学问。
而现代线性代数理论的逻辑顺序是什么呢?
是,
我们先脱离了方程组,来直接定义了什么是矩阵。
什么是矩阵呢,矩阵就是一堆数字的阵列:
这个A,就是一个矩阵。除此之外,再无其它的意思,和方程组没半毛钱的关系。
那么有人说,既然这样,那么这矩阵在理论上,怎么又跟方程组扯上关系了呢?
那是因为,
我们后来又定义了矩阵的计算方法。
矩阵,
它可以做加法。
矩阵和矩阵,可以做乘法。
矩阵和数字,可以做乘法。
矩阵它还有逆运算,就是我们刚才说的那个P逆。
矩阵还有转置运算。
矩阵它还可以平方,它可以进行幂运算。
等等。
但是注意,定义这么多运算,也不需要引入方程组这玩意,而只需要在矩阵的定义基础上,再定义矩阵的运算法则。(关于矩阵的计算,专栏有详细介绍)
然后,对于一个方程组,
我们可以利用该方程组的系数,创造出三个矩阵:
然后,利用矩阵的乘法法则,将该方程组表示为:
这样,矩阵和方程组在教科书中就扯上关系了。
但是,我们一定要非常明白,在线性代数课本中,
矩阵的定义无需方程组的参与。
这就是为什么,很多人无法理解线性代数的原因。因为很多人,包括我刚上课时,总是在想,这相似矩阵和方程组到底有啥关系呢?
实际上,相似是另一套理论体系中的东西,铺垫相当多,不是一两句话可以说清的。关于这个,我们在专栏的视频中详细介绍。
可见,我们不理解很多东西的原因,并不是我们的智商问题,而是一些稀烂的教科书,让我们一开始就掉进坑里,再也爬不出来,直至怀疑人生。
专栏重新理解线性代数作者:王珂129币286人已购查看