MIT线性代数Linear Algebra公开课笔记 第七章 求解Ax=0主变量和特解 lecture7 Solving Ax=0:Pivot Variables, Special Solutions
本章是Gilbert Strang的MIT线性代数Linear Algebra公开课中【第七章 求解:主变量和特解(lecture 7 Solving :Pivot Variables, Special Solutions)】的笔记,参考他在 MIT Linear Algebra课程网站上公开分享的 lecture summary (PDF) & Lecture video transcript (PDF)等文档,整理笔记如下,笔记中的大部分内容是从 MIT Linear Algebra课程网站上的资料中直接粘贴过来的,本人只是将该课程视频中讲述的内容整理为文字形式,前面的章节可在本人的其他博客中找到(此处戳第一章,第二章,第三章,第四章,第五章,第六章),后面的章节会按照视频顺序不断更新~
文章目录
lecture 7 Solving :Pivot Variables, Special Solutions
本节是一个过渡章节,本门课将从定义转换到算法部分;上节课讲了零空间和列空间,本节课主要关注零空间的求解,即求解的算法是怎样的。
一. 求解零空间(Computing the nullspace)
Example 1:
分析该矩阵:列二是列一的两倍,行三=行一+行二,即线性相关,消元的时候这些信息都会表现出来。
——求解零空间算法:
——消元。只是消元的对象变成了长方阵(rectangular matrices),此时的消元,即使主元位置是0,仍然要继续(行互换)。利用消元法求解方程组时,在消元的过程中不改变零空间,因为用一个方程减掉另一个方程时,不改变方程组的解,解不变,因此零空间也不变。(实际上,改变的是列空间)。另外,由于在消元的过程中,右侧向量永远是 ,因此可以省略不写,故只需处理方程组左侧。
具体的求解过程如下:(以“Example 1的求解过程”为例讲解“求解零空间的过程”)
1. 消元
- 处理第一列(消掉主元下面的元素)
- 处理第二列,但是第二列中的主元位置(行二列二)是 ,则往下找,看是否有非零元素可以进行行变换,但是下面(行三列二)还是 ,这说明第二列是前面列的线性组合,即相关于前面各列,但是消元不能停止,则继续找下一个主元。
其中,为阶梯形式(echelon form):非零元素以一种阶梯形式出现;
中最后一行全为 ,这是因为行三是行一和行二的线性组合,消元时,是其他行的线性组合的那一行就会变成 。
方程组由 变为,但解和零空间不变。(该方程组一共有三个方程、四个未知数,故一定有解)
-
我们需要找出下列信息:
- 主列(pivot columns):主元所在的列;
- 自由列(free columns):主列以外的列,自由列表示可以自由的或者任意的给对应的未知数分配数值;
- 主变量(pivot variables):主列对应的变量;
- 自由变量(free variables):自由列对应的变量,自由变量可以任意赋值。
在中: 主列(列一和列三)和自由列(列二和列四)如下图所示,故列二和列四的乘数是任意的,即未 知数(自由变量)可以任取,则只需求解主变量 。
2. 求特解(Special solutions)
特解:特定的解,特殊之处在于给自由变量分配特定值 、,而不是别的值,进而得到的零空间内的向量。
——代表什么?(即矩阵的含义是什么?)
——代表一些方程,本例中的具体方程如下:
- 由于和的值可以任取,现假设,即 ,再进行回代,得到,,故 就是零空间的一个向量,也就是的一个解;
——这解代表什么?
——表示(倍列一)+(1倍列二)=0。
-
由于自由变量有两个,故还可以选择 形式(它与刚刚的不共向),仍然回代,得到,它也属于零空间,它表示两个列一减两个列三加一个列四等于0;
-
综上,特解为 和 ;
3. 求零空间
零空间:特解的所有线性组合构成的即为零空间;(零空间包含的刚好是特解的线性组合)。
-
由于 是方程组的解,则它乘以任意倍数后,仍然是方程组的解,即 仍是方程组的解,它是四维空间中一条无限延伸的直线,该直线在零空间中,但它不是整个零空间;
-
同理, 乘以任意倍数后也仍在空间中,即 ;
-
通过特解能够构造出整个零空间,因此,现在就能求出整个零空间了,即的所有解,取特解的线性组合即为所求的零空间,故零空间为 。
4. 总结(求解零空间,即求解)
-
消元;消元后,确定主列和自由列,得到主变量和自由变量;
(Example 1中的主变量是变量和,自由变量是和)
-
求特解;将自由变量赋值为 ,得到的解向量即为特解;
-
求零空间:求所有特解的线性组合,则构成零空间,
矩阵的零空间 = “的所有解” = “的所有解”
二. 矩阵的秩(Rank)
矩阵的秩:矩阵的主元的个数。
矩阵的秩与其转置矩阵的秩相等。
对于 的矩阵,共 个变量,若秩为,即 个变量是主变量, 个主变量表示:方程组中只有 个方程起作用,剩下的 个变量都可以自由选取,即有 个自由变量,故可令其为 这样的特殊值,就能得到特解。
注意,每个自由变量对应一个特解,因为:令某一个自由变量为 ,其余的为 ,即可得到一个特解,当所有的自由变量都赋过 后,则求完了所有特解。
Example 1中, ,表示主变量的个数是 ,故有 个自由变量;由于只有 个主变量,故虽然看起来是 个方程,但其实真正起作用的只有两个。
三. 简化行阶梯形式(Reduced row echelon form)
为了让阶梯型矩阵 看起来更加干净,对其进行进一步简化,简化为“简化行阶梯形式”,即矩阵 。在简化行阶梯形式中,所有主元均为 ,而且主元上下元素均为 。
求解简化行阶梯形式的具体步骤:
1. 从 到
该过程在见上面(即为求解零空间中的第一步 消元)
2. 从 到
-
得到 后,向上消元,将主元上方的元素也变为 ;
-
用方程除以主元,使得主元简化为 ;此时,主元全为 ,且主元上下均为 。
注:上述过程不改变解。
对于 Example 1:
在MATLAB中,使用命令,即可由直接得到。
3. 最简行行阶梯矩阵的意义
矩阵 以最简形式包含了所有信息:
-
可以立刻看出主行、主列;
Example 1中,主行为行一、行二,主列为列一、列三;
-
矩阵 中包含了一个单位阵,它位于主元和主列的交汇处;
Example 1中,主元上下均为 ,主元为 ,即为 的单位阵:
-
矩阵 中有一行全为 ,表示原行是其他行的线性组合,因此,实际上有用的行数应该去掉该行;
Example 1中,实际上只有两行;
-
除了单位阵以外,矩阵 中还有自由列,他们以最简形式出现,则此时特解很容易解出,回代即可。用Example 1中最简的 矩阵形式写出方程组如下:
即为。可将主列和自由列分别写出,具体如下,此过程其实就相当于回代,自由列中数字由于需要移到等式的另一侧,因此结果变为相反数:
对上图中的变化进行以下解释:
-
假设现在矩阵已经是rref form,同时假设主列在前,自由列在后,最底下是全 行,即为:
这是典型的简化行阶梯形式。典型的含义是:矩阵 是 的,有 个主行、 个主列, 个自由列,利用 可以一次性求出 的所有特解。 -
构造零空间矩阵(null space matrix),记作;
零空间矩阵:各列由特解组成,即满足 , 乘以 的每一列均得到一列 ,即零空间矩阵就是将所有特解作为列的矩阵。
-
——什么 能达到目的?
——如果将单位阵 放在解的自由变量部分,将 放到解的主变量部分,即 。
-
的构造就相当于上上图中,将 和 都直接放到特解中了,这就是特解构成的矩阵,.
-
MATLAB可以通过指令 求出,这个指令可以生成零基,即 即得到矩阵 的零空间;
——这个指令是如何工作的呢?
——先通过MATLAB算出 ,然后找出主变量和自由变量,将 分配到自由变量中,复制出主变量,使用回代,此处回代非常简单:
此时,如果给自由变量分配单位阵,则主变量变为 。
-
4. 总结
原方程组 ,中间过程 ,最终得到 ,解均相同,因为在消元过程中没有改变解。
Example 2:(再举一个例子把算法过一遍,取上面例子中矩阵A的转置)
显然,第三列是前两列之和,故它不是主列,是自由列;
4.1 求解 具体步骤如下:
-
消元(从第一列到最后一列):
可知,主变量为 和 ,自由变量为 。
秩仍然为 ,即有两个主列,矩阵主列的个数与其转置相同;由于 ,因此只有一列是自由列。
-
求零空间
-
根据 ,写出方程组如下:
-
求特解:为自由变量赋值,将自由变量 赋值为 ,然后求主变量;(如果将自由变量赋值为 ,然后计算主变量,会发现结果全为 ,无意义):
当时,,,即得特解 ,并对特解进行检验。
——如何检验?
——可将此特解 代回最初的矩阵 中检验,即:若 倍列一减 倍列二加 倍列三得一列 ,则结果成立,即特解 属于 的零空间。
-
求整个零空间:由于只有一个特解,故特解的线性组合就是将唯一的特解 乘以 即可,故 的解为 ,即整个零空间在几何上是一条直线。
注意,必须有 表示的才是整个零空间,而不是单个向量;如果问零空间的基,那才指的是单个向量。
-
4.2 另外,可以求得Example 2中矩阵的最简形式R:
中仍然包含单位阵,对应自由变量,由于此时仅有一个数字 ,故 是此时的单位阵( 也是一个单位阵);主变量的结果仍是 ,即 。