前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >日拱一卒,麻省理工的线性代数课,主变量和特解,全程高能

日拱一卒,麻省理工的线性代数课,主变量和特解,全程高能

作者头像
TechFlow-承志
发布2022-09-21 10:44:33
5520
发布2022-09-21 10:44:33
举报
文章被收录于专栏:TechFlowTechFlow

作者 | 梁唐

出品 | 公众号:Coder梁(ID:Coder_LT)

大家好,日拱一卒,我是梁唐。

我们继续MIT的线性代数课程,这一节课主要讲的是方程

Ax=0

的主变量、特解。是线性代数当中非常重要的知识点。这一节课老师讲得非常好,和国内的一些课程或者是书籍不太一样,在课堂上教授把完整的思维推导过程给演示了一遍,而不是只是简单给出一个结论或者是公式。

从这一节课开始会逐渐从概念和定义转到算法,从理论到实践,可以说是全程高能。

主变量

我们来看一个例子,现在我们有一个矩阵:

A= \begin{bmatrix} 1 & 2 & 2 & 2\\ 2 & 4 & 6 & 8\\ 3 & 6 & 8 & 10\\ \end{bmatrix}

我们想要求方程

Ax=0

的解,我们观察一下会发现,第二列不是独立的,它刚好是第一列的两倍。接着我们对它进行消元,这个过程不会改变它对应的零空间,消元之后得到上三角矩阵

U

A= \begin{bmatrix} 1 & 2 & 2 & 2\\ 2 & 4 & 6 & 8\\ 3 & 6 & 8 & 10\\ \end{bmatrix} \underrightarrow{消元} \begin{bmatrix} \underline{1} & 2 & 2 & 2\\ 0 & 0 & \underline{2} & 4\\ 0 & 0 & 0 & 0\\ \end{bmatrix} =U

消元之后得到的矩阵也有专有名词,叫做阶梯矩阵(echelon form matrix)。

消元之后,我们发现有一行全部为0,主元数量是2个,即上图当中划线元素。我们把消元之后主元的数量叫做矩阵的秩(rank),记作

r

,所以在这个例子当中

r(A)=2

我们把主元所在的列称为主列(pivots columns),其他的列称为自由列(free columns)。

特解

之所以叫做自由列,是因为对于方程

Ux=0

来说,这些列对应的未知数可以被赋予任意值。在这个例子当中,对应

x_2

x_4

可以被赋予任意值,依然能够保证方程有解。

我们可以给这些自由列赋予特定值再去求解对应的主列,我们令

x_2=1

,

x_4=0

,再代入线性方程:

可以求出:

x=\begin{bmatrix} -2\\ 1\\ 0\\ 0 \end{bmatrix}

虽然我们只找到了一个解,但由于等式的右侧是0,所以我们给它乘上任何一个系数方程依然成立,所以我们找到的解可以发散成:

x=c\begin{bmatrix} -2\\ 1\\ 0\\ 0 \end{bmatrix}

同样地,我们再令

x_2=0, x_4=1

,又可以求出一组解:

x=d\begin{bmatrix} 2\\ 0\\ -2\\ 1 \end{bmatrix}

这两个向量称为特解,特解的含义表示特定,指的是给自由变量赋予的特定的值。给自由变量赋予0或1的值(每次从自由变量中选一个赋为1,其余赋为0),而非其他数值。这些向量的任意倍都在零空间当中,所以我们就可以写出零空间的表示:

x=c\begin{bmatrix} -2\\ 1\\ 0\\ 0 \end{bmatrix}+d\begin{bmatrix} 2\\ 0\\ -2\\ 1 \end{bmatrix}

我们就把求

Ax=0

,转化成了

Ux=0

,并且通过求特解的方式求出了整个零空间。零空间包含的刚好就是所有特解的线性组合,特解的数量就对应自由变量的数量,即

n-r

简化行阶梯形式

我们可以对

U

矩阵继续简化,将主元上下的元素都变成0,并且把主元变成1。

U= \begin{bmatrix} \underline{1} & 2 & 2 & 2\\ 0 & 0 & \underline{2} & 4\\ 0 & 0 & 0 & 0\\ \end{bmatrix} \underrightarrow{化简} \begin{bmatrix} \underline{1} & 2 & 0 & -2\\ 0 & 0 & \underline{1} & 2\\ 0 & 0 & 0 & 0\\ \end{bmatrix} =R

我们一路变换下来,从

Ax=0

,变成了

Ux=0

,再到现在

Rx=0

,它们的解都是一样的。

我们对

R

矩阵再做一点微小的变形,通过列变换将主元放在一起,将自由变量放在一起,可以得到:

R= \begin{bmatrix} \underline{1} & 2 & 0 & -2\\ 0 & 0 & \underline{1} & 2\\ 0 & 0 & 0 & 0\\ \end{bmatrix} \underrightarrow{列交换} \left[ \begin{array}{c c | c c} 1 & 0 & 2 & -2\\ 0 & 1 & 0 & 2\\ \hline 0 & 0 & 0 & 0\\ \end{array} \right] = \begin{bmatrix} I & F \\ 0 & 0 \\ \end{bmatrix}

其中

I

为单位矩阵,

F

为自由变量组成的矩阵。我们要求它的零空间,相当于我们要求一个矩阵

N

,使得

RN=0

,它等价于

\begin{bmatrix}I & F\end{bmatrix}\begin{bmatrix}x_{pivot} \\ x_{free}\end{bmatrix}=0

根据矩阵分块乘法的性质,我们可以很容易得到

N= \begin{bmatrix}-F\\I\end{bmatrix}

,对应的解为

x_{pivot} = -F,x_{free}=I

。在当前例子当中:

N= \begin{bmatrix} -2 & 2 \\ 0 & -2 \\ 1 & 0 \\ 0 & 1 \\ \end{bmatrix}

,和刚才求到的特解一样。

实践

我们再来看一个例子来实践一下,这次我们选择的矩阵是

\begin{bmatrix}1 & 2 & 3\\ 2 & 4 & 6 \\ 2 & 6 & 8 \\ 2 & 8 & 10\end{bmatrix}

,它是之前例子中矩阵的转置矩阵。

接着,我们重复上面的步骤,进行消元和化简,得到简化行阶梯形式的矩阵

R

A= \begin{bmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 2 & 6 & 8 \\ 2 & 8 & 10 \\ \end{bmatrix} \underrightarrow{消元} \begin{bmatrix} 1 & 2 & 3 \\ 0 & 2 & 2 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ \end{bmatrix} \underrightarrow{化简} \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ \end{bmatrix} =R

我们可以发现,这个矩阵的秩仍然是2,这里有一个结论

r(A) = r(A^T)

我们可以写出它的零矩阵:

N=\begin{bmatrix}-F\\I\end{bmatrix}=\begin{bmatrix}-1 \\ -1 \\ 1\end{bmatrix}

所以:

x=c\begin{bmatrix}-1 \\ -1 \\ 1\end{bmatrix}

喜欢本文的话不要忘记三连~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Coder梁 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主变量
  • 特解
  • 简化行阶梯形式
  • 实践
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档