提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
在大一的时候第一次学习过线性代数开始接触到矩阵的知识,但是当时并没有理解线性代数的意义,只习得了计算方法和做题技巧,以至于在后面专业学习过程中每每遇到线性代数相关的内容都会一头雾水。总是出现一种感想,我知道这个矩阵怎么来的,我知道这个过程是怎么计算的,但是它为什么要这么计算呢,它的物理意义或者说几何意义是什么呢。在后续的考研过程中,重新学习了一遍线性代数的内容。这一次的学习过程中,我是带着上面的这些疑问去学习的,但是我发现,无论是线性代数的书,还是考研的资料,还是视频资料,其实都没有对线性代数的几何意义进行深入的解释,更多的是定义、性质、计算方法和解题技巧。(这也难怪我没有理解)所以我就开始思考线性代数的一些形象化的理解,直到有一天我在b站上看到一个科普up主的视频,让我有了全新的认识。下面给出这个up主的主页https://space.bilibili.com/88461692(绝非托,满满的干货)。
注:下列的矩阵转置和向量转置都用符号 “ ’ ”表示,即英文中的引号。
此文章仅用于记录学习经历、分享学习内容,不能保证内容的严谨程度,希望读者辩证看待。同时欢迎读者指出错误,提供更佳的理解。
矩阵可以是n x m的形式,也可以是n x n的形式。但是在大多数的时候,n x m矩阵被认为是多个向量的集合,比如3 x 2的矩阵,通常会认为是2个3维列向量,或者是3个2维行向量。而我们对于矩阵正黄旗一般都认为是n维方阵,而方阵最重要的一个几何性质就是线性变换。何为线性,何为变换,我们细细道来。
我们在学习线性代数之前,其实都接触过向量的概念,在物理和高数中有对向量进行一定的定义解释,其是有方向有大小的矢量。在线性代数里其也是如此,但线性代数并没有在向量的定义上花很多功夫,而是作为一种线性代数里的常识去展开。就好比在小学低年级的时候我们会系统学习加减法乘除法,但是到了初高中高年级之后,这种运算法则就成为一种默认的共识,不会过多解释说明,这也是所有学科的共同点。
在线性代数里,线性变换的对象就是向量(一个或多个)。
在解释线性变换之前,我们来看一个二维平面内的矩阵运算。
向量u1=[2 1]’在经过线性变换(矩阵A=[1 3;2 1])后变成了向量u2=[5 5]’。矩阵A的本质代表着一种向量的变换方式。这种变换作用在向量上,亦可以理解为作用在一个坐标系上。
从直观的角度看待,我们会认为向量u1在经过矩阵A的变换后变成了向量u2,似乎确实是向量在变换后变成了另一个向量,但我们可以换一个角度去分析理解这个问题。
假设向量u1=[2 1]’所在的坐标系的基向量是 e1=[1 0]’ e2 = [0 1]’。坐标系或者说向量空间的基向量,指的是能够这些基向量的线性组合构成坐标系或者向量空间中所有向量。这与向量组的极大无关组有着本质联系。
回到正题,在定义了基向量之后,向量u1就可以表示为 u1 = 2e1 + e2。它是以2:1的比例由基向量组成的。而在矩阵A的坐标变换后,两个基向量也会随之发现变换,即矩阵的其中一个运算法则,Au1 = A(2e1+e2)=2Ae1 + Ae2。我们令变换后的基向量分别为e1’ = Ae1 = [1 2]’ e2’ = Ae2 =[3 1]’。那么我们可以发现变换后的向量u2 = 2e1’+e2’。它的构成比例依旧是2:1。是不是可以认为,这个向量并没有被改变,而是它所处的坐标系被改变了。
按照矩阵的运算法则可以很快的推演整个过程,但我想要表达的是矩阵的线性变换本质可以有多个理解的角度。我一直都觉得这种学习后的反思非常有效,不知道你们是否有类似的问题,让我们逐一讨论下上面的问题。当学习到这里的时候,我们需要提出一些疑问:
在我开始学习线性代数的时候,我其实不知道如何区分左乘右乘。同样以列向量u1=[2 1]’来作为例子,由于u1是一个2x1的矩阵。因此对于2x2的矩阵它只能左乘这个矩阵,但是当u1转置变成行向量u1’=[2 1]时,它便只能右乘一个2x2的矩阵。我们可以看看它们计算过程的细节。
当矩阵A=[1 3;2 1]左乘列向量u1时,矩阵A的行分别跟列向量进行运算。
当矩阵A=[1 3;2 1]右乘行向量u1’时,矩阵A的列分别跟行向量进行运算。
已知行向量u1’是列向量u1转置得到,当我们把矩阵A也转置后右乘行向量,可以得到一下结果。
即符合矩阵转置的性质,(Au1)’=u1’A’。即可以简单理解成左乘是针对列向量的计算,右乘是针对行向量的计算,他们本质上仅存在一个转置的区别。通常在实际应用中,多数是以列向量为研究对象,当然以行向量为研究对象也一样。
对于矩阵乘以矩阵我觉得可以有多个理解方式。
假设每个矩阵代表着一种变换的方式,那么多个矩阵相乘可以理解为多个变换的迭代结果等效的一个矩阵。假设矩阵A代表着将坐标系绕坐标原点顺时针旋转90°,即A=[0 1;-1 0],矩阵B代表将坐标系拉长2倍,即B = [2 0;0 2]。那么AB就等于先将坐标系拉长两倍再将坐标系顺时针旋转90°,这里的变换是有顺序的,先执行靠右的矩阵。即AB不恒等于BA。这里大家可以自行推导理解一下什么情况下可以等于,什么情况下不等于。
我们可以将n维方阵理解成一个由n个n维向量组合起来的向量组,这样得到的结果就是这个向量组共同变换后的新的向量组。至于是列向量还是行向量就根据实际情况定,本质上是一样的。
每个矩阵都代表着一种变换方式。除了单位矩阵不会改变坐标系中的向量外,其他的矩阵都对坐标系有着对应的旋转拉伸变换效果。
矩阵可逆和不可逆的性质,其实可以通过上述所说的线性变换去帮助理解。我们知道矩阵可逆性质可以通过矩阵的行列式值来判断,当行列式值为0即矩阵不可逆,反之则可逆。为了方便计算和跳过庞杂的计算过程,我们利用矩阵的一个性质:等价矩阵的行列式相等。
因此我们可以不需要计算矩阵的行列式值,只要经过若干次初等变换后得到的最简矩阵它至少有一行或一列是全为0,则它不可逆。
利用以上定理,我们假定一个不可逆矩阵 P = [1 0 1;0 1 1;0 0 0]。我们可以通过观察向量在经过P的线性变换后的现象来辅助了解可逆的性质。
很容易观察出经过P的变换后,所有向量的第三个数全部变为0,从某种角度看是不是可以理解为原本3维的向量降维成为了2维的向量。而这种降维是不可逆的,你无法将一个二维的平面坐标系展开成一个三维的空间,而最多展开成为三维空间中的某一个平面。
那为什么说这种降维是不可逆的呢,我们可以看一下以下的例子
利用线性方程组的计算可以得到一个结论,满足[2-a 2-a a]’(a为任意实数)的向量经过P的变换后都变成了向量[2 2 0]’。可以想象一下三维空间中有无数个向量经过变换后被“压缩”到了向量[2 2 0]’上,那就无法找到一个变换矩阵使得向量[2 2 0]’恢复成为这些被压缩的无数的三维向量。因为我们说这种变换是不可逆的,即这个矩阵不可逆。同理可以推广到其他维度的向量变换上。
关于维度一直都十分抽象晦涩,但是在学习线性代数后,会有一种莫名的豁然开朗,当然我也只是踏在了门槛上,后面还有许多更抽象的知识需要吸收和理解。
先从定义入手,矩阵的特征值和特征向量定义式为Ax=λx,其中x为的特征向量,λ是特征向量x对应的特征值。相信很多朋友都会算,但大概很多朋友只会算。我们用一个例子来帮助理解。
为了方便计算和绘图,用二维平面作为例子。其中A为矩阵 x1、x2、x3、x4为坐标系的向量,再经过A的线性变换后变为x1’、x2’、x3’、x4’。可以发现,再经过变换后x1和x2向量的方向并没有改变,只是大小发生了变换,而x3和x4方向大小均发生了变换。进一步观察可以发现,所有在y = 2x直线上以及y=0的向量在经过坐标变换后方向均不会改变。只会成比例的改变大小(可以手动计算验证一下)。
这些特殊的向量,数学家怎么会放过。这些向量就被定义为了这个矩阵A的特征向量,而对应缩放的比例值就定义为这个特征向量的特征值。所以我们可以认为:矩阵的特征向量就是经过这个矩阵线性变换后不会改变方向只会成比例缩放的那部分向量,这个比例值就定义为这个特征向量的特征值。
线性代数是一门需要反复思考沉淀的数学学科,以上的分享也仅仅是这门学科的冰山一角,后续会继续补充其他关于线性代数的相关知识。感谢阅读!