Zane的线代学习笔记 #1 线性方程的几何

206 阅读3分钟

前言

相信你也跟我一样,在第一次接触线性代数的时候非常疑惑,什么是线性?而什么是代数呢?本篇文章将从最简单的n个方程 n个未知数的线性方程讲起,并探究其背后的几何含义。

正文

1.矩阵

如果你是一名工程专业的学生或是一名已经在职的工程师,你肯定会听到过矩阵(Matrix)的威名,是的,矩阵是我们解决工程问题时非常有用的数学工具,但是,什么是矩阵呢?其实不需要想的特别复杂,矩阵只是一个数字的矩形数组,例如我们有如下二元一次方程:

{2xy=0x+2y=3\begin{cases}2x-y=0\\-x+2y=3\end{cases}

这个二元一次方程非常的简单,只要有初中数学基础就可以轻松驾驭,我们将未知数前面的系数单独拿出来是:2,-1,-1,2,然后将其从左往右,从上往下书写,然后在两边加上方括号就是:

[2112]\begin{bmatrix}2&-1\\-1&2\end{bmatrix}

OK,这就是一个两行两列的矩阵了,并且,因为他是由线性方程的系数中提取出来的,因此,我们也可以称之为系数矩阵。现在如果我告诉你是几行几列的矩阵,并告诉你一堆数字,相信你也可以完整地写出一个矩阵了!

例如我们现在有一个三元一次方程组,有三个方程,三个未知数(正如前言说的,我们只讨论n个方程,n个未知数),如下所示:

{2xy=0x+2yz=13y+4z=4\begin{cases}2x-y=0\\-x+2y-z=-1\\-3y+4z=4\end{cases}

现在你可以快速地写出这个三元一次方程组的系数矩阵了吧(这里系数0被省略掉了)

[210121034]\begin{bmatrix}2&-1&0\\-1&2&-1\\0&-3&4\end{bmatrix}

没错这非常简单!

2.行图像

说完了矩阵的定义,我们正式解释一下线性方程组的几何含义,为什么叫线性代数而不是点性代数呢?其实很简单,我们一行一行地看系数矩阵,就相当于一行一行地看这个二元一次方程组:

{2xy=0x+2y=3\begin{cases}2x-y=0\\-x+2y=3\end{cases}

不难发现每一行方程我们都可以画出其在二维坐标系下的图像,2xy=02x-y=0这个方程是一条过原点的直线,而x+2y=3-x+2y=3显然不是,因为如果我们将x=0,y=0x=0,y=0带入方程并不等于33,现在让我们绘制出这两条直线的图像(因为我们是一行一行看的,所以暂且叫他行图像吧)

二元一次图像.png

此时我们已经可以初见端倪了,这个二元一次方程组的解是{x=1y=2\begin{cases}x=1\\y=2\end{cases},而恰好两条直线的交点也是(1,2)(1,2),换言之,我们解二元一次方程组其实就是在解两条线的交点,这也是为什么这门课叫线性代数,而不是其他什么乱七八糟代数,是不是有种豁然开朗的感觉!

那么我们再发散一下思维,刚刚我们还写了举例了一个三元一次方程组,这个要如何解释它的几何含义呢?嗯...这可能对于初学者来说有点难,那我们就来画个图吧。

{2xy=0x+2yz=13y+4z=4\begin{cases}2x-y=0\\-x+2y-z=-1\\-3y+4z=4\end{cases}

我们知道二元一次方程可以用一条直线表示(方程的解可以理解为直线上的点),那三元一次方程我们该如何表示呢?现在我们在原有的二维坐标系上增加了一个维度,变成了三维坐标系,直线增加一个维度就变成了一个面,也就是说三元一次方程的解都在一个面上(无数个点构成了一个面)换句话说,我们可以用一个三维平面来表示一个三元一次方程,现在我们就可以来画图了。

我们的三元一次方程组中有三个方程,因此我们要绘制三个三维平面,这里我们使用计算机图形库(matplotlib库)来绘制这三个三维平面

三元一次图像.png

通过消元法,我们可以得到这个三元一次方程组的解{x=0y=0z=1\begin{cases}x=0\\y=0\\z=1\end{cases},然后我们再看图就会发现,三个三维平面的交点也恰好是(0,0,1)(0,0,1),此时我们就大致了解了线性方程组的其中一个几何含义,也就是在求交点(你可能会好奇四元一次方程组和五元一次方程组如何表达,但是这对于我们目前来说有点太抽象,我们暂且放放)。

3.列图像

通过前面的讲解,相信你已经开始对这门学科有点点感觉了,接下来,我们将更近一步,使用另一个视角来看线性方程组,相信已经学过一遍的同学多多少少会有点懵,为啥讲完矩阵要讲向量,这向量为啥是一列一列的,现在,我们就从向量的角度思考问题。

[2112]\begin{bmatrix}2&-1\\-1&2\end{bmatrix}

这个是我们刚刚举例的二元一次方程组的系数矩阵,现在,我们将其一列一列拆开来,会得到两个向量(你可能会好奇为什么向量这么表示,但是目前你只需要知道,一列就代表一个向量,等你看完后面的知识你会豁然开朗),分别是:

[21][12]\begin{bmatrix}2\\-1\end{bmatrix}和\begin{bmatrix}-1\\2\end{bmatrix}

然后我们将等式右边也看作为一个向量,就可以得到: [03]\begin{bmatrix}0\\3\end{bmatrix} 那么我们的表达式可以写成:

x[21]+y[12]=[03]x\begin{bmatrix}2\\-1\end{bmatrix}+y\begin{bmatrix}-1\\2\end{bmatrix}=\begin{bmatrix}0\\3\end{bmatrix}

这个式子我们其实已经可以看出一些端倪了,如果我们把矩阵看作为一个向量,就好像是我们在凑一个xx倍的向量[21]\begin{bmatrix}2\\-1\end{bmatrix}yy倍的向量[12]\begin{bmatrix}-1\\2\end{bmatrix}的使得他们之和为[03]\begin{bmatrix}0\\3\end{bmatrix},如果不能理解的话,我们还是可以来画个图解释。

二维向量图像.png

这里我们绘制了刚刚出现的三个向量,我们已经求过这个二元一次线性方程组的解了,是{x=1y=2\begin{cases}x=1\\y=2\end{cases},这非常简单,现在让我们将一倍的Vector 1加上两倍的Vector 2,并且运用平行四边形法则,我们会发现正好是Vector 3,惊不惊喜?意不意外?什么?你还是无法理解?那我再画个图!

二维向量图像2.png

现在你就会发现其实刚刚那个二元一次方程组就是在解决一个xx倍的向量[21]\begin{bmatrix}2\\-1\end{bmatrix}yy倍的向量[12]\begin{bmatrix}-1\\2\end{bmatrix}的使得他们之和为[03]\begin{bmatrix}0\\3\end{bmatrix}的问题,也就是我们在求一个线性组合,使得等式两边成立,并且,这也解释了,为什么我们可以把每一列都看成一个向量。

OK,探讨完二维向量,现在我们跟刚刚一样,将二维拓展为三维,也就是将二元一次线性方程组变为三元一次线性方程组,来验证我们刚刚的想法。

第一步,先把系数矩阵拆分为三个向量:

[210][123][014]\begin{bmatrix}2\\-1\\0\end{bmatrix} \begin{bmatrix}1\\2\\-3\end{bmatrix} \begin{bmatrix}0\\-1\\4\end{bmatrix}

第二步,把等式右边也变为向量:

[014]\begin{bmatrix}0\\-1\\4\end{bmatrix}

然后将它们在三维空间中表达出来:

三元向量.png

这种情况比较特殊,Vector 4与Vector 3重合了,也就是说,我们想要得到Vector 4只需要一倍的Vector 3就行了,Vector 1和Vector 2都不需要,这时我们也就得到了这个三元一次方程组的解{x=0y=0z=1\begin{cases}x=0\\y=0\\z=1\end{cases}

至此,我们从两个角度分别对线性方程的几何意义进行了探讨,这些知识将对我们日后的学习打下坚实的基础!!

4.矩阵的乘法(2024.12.11补充)

有了刚刚的铺垫,我们不妨来探讨一下矩阵的乘法运算,大学老师告诉我们矩阵的乘法就是行与列相乘,例如,我们将如下两个矩阵相乘:

[2112][32]\begin{bmatrix}2&-1\\-1&2\end{bmatrix}\begin{bmatrix}3\\2\end{bmatrix}

我们使用常规的方法很快就可以得到这两个矩阵的相乘的答案。

{2×3+(1)×2=4(1)×3+2×2=1\begin{cases}2×3+(-1)×2=4\\(-1)×3+2×2=1\end{cases}

答案是:

[41]\begin{bmatrix}4\\1\end{bmatrix}

这就是我们大学线代课上接触到的矩阵乘法运算。

接下来让我们换一种思路,从向量的角度来解释矩阵的乘法,我们知道我们求的xxyy可以表示为向量的倍数,那不就简单了吗?我们可以把第一个矩阵拆成两个向量,而第二个矩阵的第一行是第一个向量的倍数,第二行是第二个向量的倍数,就跟我们之前探讨列图像时的式子是一样的。

x[21]+y[12]=[03]x\begin{bmatrix}2\\-1\end{bmatrix}+y\begin{bmatrix}-1\\2\end{bmatrix}=\begin{bmatrix}0\\3\end{bmatrix}

我们把刚刚的矩阵相乘变换一下就会得到:

3[21]+2[12]3\begin{bmatrix}2\\-1\end{bmatrix}+2\begin{bmatrix}-1\\2\end{bmatrix}

然后行跟行加,列跟列加,就可以得到如下式子:

{3×2+2×(1)=43×(1)+2×2=1\begin{cases}3×2+2×(-1)=4\\3×(-1)+2×2=1\end{cases}

有没有发现,跟我们常规的运算式子是一样的,无非就是交换了位置,最后,我们也得到了答案:

[41]\begin{bmatrix}4\\1\end{bmatrix}

你现在肯定非常吃惊,这还是我初中学的线性方程组吗!这还是我学的那个矩阵乘法运算吗!不知道你是不是,反正我看完MIT的线代课,就有这种醍醐灌顶的感觉。

最后

这个系列是我希望通过费曼学习法来更好地巩固学习线性代数,如果有表述上的错误可以私信我,不胜感激!! B站:ZaneYooo 知乎:ZaneYooo CSDN:ZaneYooo 稀土掘金:ZaneYooo 微信公众号(建设中) 希望你可以跟我一起构建起强大的知识体系,畅游在知识的海洋,改变世界改变自己!!!