《新理解矩阵1》:矩阵是什么?
By 苏剑林 | 2012-10-29 | 72218位读者 |前边我承诺过会写一些关于自己对矩阵的理解。其实孟岩在《理解矩阵》这三篇文章中,已经用一种很直观的方法告诉了我们有关矩阵以及线性代数的一些性质和思想。而我对矩阵的理解,大多数也是来源于他的文章。当然,为了更好地理解线性代数,我还阅读了很多相关书籍,以求得到一种符合直觉的理解方式。孟岩的blog已经很久没有更新了,在此谨引用他的标题,来叙述我对矩阵的理解。
当然,我不打算追求那些空间、算子那些高抽象性的问题,我只是想发表一下自己对线性代数中一些常用工具的看法,比如说矩阵、行列式等。同时,文章命名为“理解矩阵”,也就是说这不是矩阵入门教程,而是与已经有一定的线性代数基础的读者一起探讨关于矩阵的其他理解方式,仅此而已。我估计基本上学过线性代数的读者都能够读懂这篇文章。
首先,我们不禁要追溯一个本源问题:矩阵是什么?
我们不妨回忆一下,矩阵是怎么产生的。矩阵可以看成是一个个向量的有序组合,这说明矩阵可以类比向量;但是向量又是怎么产生的?向量则是一个个数字的有序组合,这又把我们的研究方向指向了“数字是什么”这个问题上。比如,数字1是什么?它可以代表1米,可以代表1千克,也可以代表1分钟、1摄氏度甚至1个苹果。它为什么有这么多的表示意义?答案很简单,因为在本质上,它什么都不是,它就是数字1,一个记号,一个抽象的概念。正因为它抽象,它才可以被赋予各种各样直观的意义!回到矩阵本身,我们才会明白,矩阵的作用如此之大,就是因为书本上那个很枯燥的定义——矩阵就是m行n列的一个数表!它把矩阵抽象出来,让它得到了“进化”。它是一个更一般化的概念:一个向量可以看作一个矩阵,甚至一个数都可以看成一个矩阵,等等。
代数方面的理解
当然,上述说法是含糊的,我们还是需要确切知道它究竟有什么用?这可以从代数和几何的角度来分析,因为做到数形结合才是最完美的。首先我们知道数学最基本的元素就是数字,严格来说是自然数,如0,1,2,...;有了数字,我们就可以做到很多东西。但是数字是单一的,而我们很多时候都要批量处理一些类似的运算,比如同时要计算1+2,1+3,2+3,4+5这四个算式。不论是从记录还是从研究的角度来说,分开研究它们都是比较繁琐的。于是一种“批量”的记号产生了,我们记为(1,1,2,4)+(2,3,3,5),用两个不同记号记录它们,比如$\vec{A}=(1,1,2,4),\vec{B}=(2,3,3,5)$,我们就可以将它记为$\vec{A}+\vec{B}$。这样不论在研究还是记录方面都能够给我们方便。于是一个我们称之为“向量”的东西产生了,也就是说,从代数的角度来讲,向量是为了研究批量运算而产生的。但是向量并没有解决所有的批量运算的问题。比如3元一次方程组
$$\begin{aligned}
a_{11}x_{1}+a_{12}x_{2}+a_{13}x_{3}=b_{1}\\
a_{21}x_{1}+a_{22}x_{2}+a_{23}x_{3}=b_{2}\\
a_{31}x_{1}+a_{32}x_{2}+a_{33}x_{3}=b_{3}
\end{aligned}$$
单单用向量我们还是没有办法很好地研究这一类问题。于是我们就要想法子创造出一些新的记号,由于左边的系数的具有一定的排列顺序和统一的形式,我们不妨把它们单独写出来
$$\begin{pmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33}
\end{pmatrix}$$
并用一个简单的符号$A$来表示它,然后把未知数和右边的常数都分别写成向量形式$x=[x_{1},x_{2},x_{3}]^{\top}$和$b=[b_{1},b_{2},b_{3}]^{T}$(多加了上标T表示列向量)。我们期待上面的方程组可以写成一个简单的形式
$$Ax=b$$
由此我们可以定义一个3阶方阵乘以一个3维列向量的乘法了,这是一种纯粹的定义,是为了方便我们记录和研究的定义。在此基础上,我们就可以研究更多的东西,比如矩阵乘矩阵会得到什么?
同样,这里要研究的矩阵都是指n阶方阵这个最核心的东西,我们要先把核心问题研究透彻,不然一开始就考虑所有的繁杂的情况,容易让我们陷入迷惘中而不知所措。
在研究一般乘法之前,我们先来了解一下关于运算定律问题。我们知道在实数中,加法满足结合律和交换律,乘法满足结合律、交换律和分配律。哪些定律可以迁移到矩阵乘法中的呢?交换律是无法先验的,它是个定义问题,我可以定义它成立也可以定义不成立,但是为了运算的方便,我们还是希望它满足更多地运算定律,所以我们先来考虑结合律,希望它能够满足这一定律。也就是说
$$(AB)x=A(Bx)$$
其中$Bx$已经是我们所熟知的运算(由定义而来),它将得到一个列向量,所以我们也可以轻易算出$A(Bx)$,从直观上来讲,$AB$应该也是一个n阶方阵,我们可以先把它设出来,然后与列向量x进行运算,最后把两边的结果一一对应起来,就得到了$AB$这个n阶方阵中各个元素的表达式。我们最终可以发现,它就是我们书本上定义的表达式。
以2阶方阵为例,令
$$A= \begin{pmatrix}
a & b\\
c & d
\end{pmatrix},\quad
B=\begin{pmatrix}
e & f\\
g & h
\end{pmatrix},\quad
AB=\begin{pmatrix}
p & q\\
r & s
\end{pmatrix}$$
并令$x=[x,y]^{\top}$,那么$(AB)x$就等于
$$[px+qy,rx+sy]^{\top}$$
而$Bx=[ex+fy,gx+hy]^{\top}$,那么$A(Bx)=[aex+afy+bgx+bhy,cex+cfy+dgx+dhy]^{\top}$
那么根据各个元素的对应,就得到$p=ae+bg,q=af+bh,r=ce+dg,s=cf+dh$。这就完成了2阶方阵乘法的定义。
现在我们就可以从代数的角度来讲,矩阵是为了简化批量线性运算的一个“终极武器”!这就是矩阵的一个比较直观和有用的代数意义。
如果根据我们这个定义去考虑交换律,我们会发现矩阵一般不符合交换律。这不能不说是一个遗憾。但是没关系,它服从结合律这一个事实,已经赋予了这个工具极大的力量。比如线性方程组$Ax=y$,我们有$By=B(Ax)=(BA)x$,如果我们想办法找到一个矩阵$B$,使得$BA=I$,那么就很棒了,因为我只要用矩阵$B$作用于向量$y$就可以得到方程组的解了,事实上这样的矩阵$B$是存在的,这就是逆矩阵。要是没有结合律,这一切都免谈!
由于这是实数基本运算(线性运算)的“批量版”,那么我们就可以很自然地把实数的一些公式延伸为矩阵版(只要不是涉及到交换律就行)。比如,在实数中,我们有公式
$$\frac{1}{1-x}=1+x+x^{2}+x^{3}+...\approx 1+x$$
那么我们求矩阵的逆阵时,也有类似的公式
$$(I-A)^{-1}=I+A+A^{2}+A^{3}+...\approx I+A$$
其中I是单位矩阵,A是一个“比较小”的矩阵。至于“比较小”怎么定义,现在还说不清楚,可以认为是矩阵的行列式值比较小。类似的,根据
$$\sqrt{1+x}\approx 1+\frac{1}{2}x$$
也能够相应地给出$(I+\frac{1}{2}A)^{2}\approx I+A$,这是求矩阵“平方根”的一个近似公式。
得益于我们定义的矩阵乘法,批量的运算可以直接用单个量的运算公式进行,不用我们煞费苦心、绞尽脑汁地构思新的公式。这就是矩阵的强大所在!它在解决很多线性问题时有着奇迹般的美妙,最简单的例子莫过于线性方程组$Ax=y$的解为$x=A^{-1} y$,解答方程组的时候就好像求解一元方程那样有简单的形式!还有一些关于指数的定义等等,以后在应用时会把它介绍的。它们都好像非常精美的“艺术品”!
下一回,我们将从几何角度来理解矩阵。当然,这里边的绝大多数内容在孟岩的文章里头都已经提到了,我只是重提旧论而已,希望读者不会厌烦。
转载到请包括本文地址:https://kexue.fm/archives/1765
更详细的转载事宜请参考:《科学空间FAQ》
如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。
如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!
如果您需要引用本文,请参考:
苏剑林. (Oct. 29, 2012). 《《新理解矩阵1》:矩阵是什么? 》[Blog post]. Retrieved from https://kexue.fm/archives/1765
@online{kexuefm-1765,
title={《新理解矩阵1》:矩阵是什么?},
author={苏剑林},
year={2012},
month={Oct},
url={\url{https://kexue.fm/archives/1765}},
}
November 3rd, 2012
好久不看这个了 很多都忘记了 谢谢你让我想起了一些 还要继续下补习 .....
November 4th, 2014
真棒,感觉比孟的讲的好哎^
矩阵出现的原因不过是人们为偷懒而yy出来的东西, 是经验的总结...教科书上那些乱七八糟的玄得不得鸟的装逼的解释, 都是tm自己都没理解清楚的书呆子写的.......(要理解线代不及格的人的愤怒&^)
只看到头两段就迫不及待的来留言了
给再给楼主赞个!
谢谢支持!只是本文与孟岩前辈的著作相比还是有一定差距的。
如果是矩阵是一个抽象出来的偷懒工具的话,那么这个“偷懒”真能说是“恰如其分”,十分漂亮!以至于我们要对它思考得更多更多...
January 6th, 2015
明天要考线性代数,今天在做复习。复习时便产生了为什么要学这个的想法。
看过了孟岩的三篇文章后又搜到了楼主的这篇文章,感觉对矩阵的理解有了一个新的角度。
^_^能让读者有所收获,笔者也感到非常开心。欢迎常来。
November 1st, 2015
收获很多,十分感谢楼主
May 31st, 2016
这里面很多错误,比如 最简单的例子莫过于线性方程组$Ax = y$的解为$y = A^-1x$
我也觉得他写错了
已修正,谢谢
July 14th, 2020
比如线性方程组Ax=y,我们有By=B(Ax)=(AB)x,如果我们想办法找到一个矩阵B,使得AB=I,那么就很棒了,因为我只要用矩阵B作用于向量y就可以得到方程组的解了
请问苏神,“By=B(Ax)=(AB)x”这里是否有误?为何AB能交换了
谢谢指出,已经更正过来了
September 18th, 2022
写的非常好,让我有一种找到新大陆的感觉,虽然现在已经博士一年级看到您的博客有点晚了,但是对我来说作用依旧很大,感谢博主您的分享!!!
捕捉大神