MIT线性代数总结笔记——Ax=0和Ax=b

求解Ax=0

消元法求解零空间

那么我们如何求解Ax=0呢?还是使用消元法,之前我们说使用消元法求解方程Ax=b时,我们对一种情况是无法处理的,那就是矩阵A不可逆的情况,之前对这种情况的解释是求出的解不唯一,这其实正好对应了现在我们所认识到的“空间”的概念。我们从最简单的零空间(b=0)的计算谈起。

例1:Ax = \left[\begin{matrix} 1 & 2 & 2 & 2 \\ 2 & 4& 6 & 8 \\ 3 & 6 & 8 & 10 \end{matrix}\right],求Ax=0中的x构成的零空间

先将方程写出,如下

Ax = \left[\begin{matrix} 1 & 2 & 2 & 2 \\ 2 & 4& 6 & 8 \\ 3 & 6 & 8 & 10 \end{matrix}\right]\left[\begin{matrix} x_1 \\ x_2 \\ x_3 \\ x_4 \end{matrix}\right] = 0

首先观察矩阵A我们发现,第三行是前两行的和,这意味着即使主元为0,我们也得继续消元下去。那么按部就班,有

\left[\begin{matrix} 1 & 2 & 2 & 2 \\ 2 & 4& 6 & 8 \\ 3 & 6 & 8 & 10 \end{matrix}\right] \Rightarrow \left[\begin{matrix} 1 & 2 & 2 & 2 \\ 0 & 0& 2 & 4 \\ 0 & 0 & 2 & 4 \end{matrix}\right] \Rightarrow \left[\begin{matrix} 1 & 2 & 2 & 2 \\ 0 & 0& 2 & 4 \\ 0 & 0 & 0 & 0 \end{matrix}\right] (阶梯形式)= U

在消元的过程中,我们发现矩阵A主元(Pivot)数量为212),主元的个数称为矩阵的秩(Rank),因此在本题中矩阵A的秩为2

接下来就是回代求解了,由于消元得到的U不是一个严格的上三角矩阵,对角线上的0给我们造成了解不唯一的麻烦,所以这里我们先来声明几个概念

\left[\begin{array}{c|c|c|c} 1 & 2 & 2 & 2 \\ 0 & 0& 2 & 4 \\ 0 & 0 & 0 & 0 \end{array}\right]中,列\left[\begin{array}{c|c|c|c} 1 \\ 0 \\ 0 \end{array}\right]\left[\begin{array}{c|c|c|c} 2 \\ 2 \\ 0 \end{array}\right]被称为主列(Pivot Columns,主元所在的列),其余两列\left[\begin{array}{c|c|c|c} 2 \\ 0 \\ 0 \end{array}\right]\left[\begin{array}{c|c|c|c} 2 \\ 4 \\ 0 \end{array}\right]被称为自由列(Free Columns),所谓自由列就是表示其对应的未知变量x_nn表示自由列是第n列)可以被任意分配值。因为回代求解时,只有主列对应的未知数的解有确定值。因此矩阵A中的主变量(主元)x_1x_3x_2x_4自由变量

(1)我们假设,令\left[\begin{matrix} x_2 \\ x_4 \end{matrix}\right] = \left[\begin{matrix} 1 \\ 0 \end{matrix}\right],代入方程

\begin{cases} x_1+2x_2+2x_3+2x_4=0 \\2x_3+4x_4=0 \end{cases}

解得

\begin{cases} x_1=-2 \\x_3= 0 \end{cases}

因此当\left[\begin{matrix} x_2 \\ x_4 \end{matrix}\right] = \left[\begin{matrix} 1 \\ 0 \end{matrix}\right]时,解向量为\left[\begin{matrix} -2 \\ 1 \\ 0 \\ 0 \end{matrix}\right],这只是零空间中的一个解,这个解表示-2倍的列1$$+$$1倍的列2$$=0,如果想找出更多零向量中的解,我们只需要求它的倍数,所以x=c\left[\begin{matrix} -2 \\ 1 \\ 0 \\ 0 \end{matrix}\right](c为任意实数),这是一条在四维空间中无限延伸的直线,但它不是整个零空间。

(2)我们再令\left[\begin{matrix} x_2 \\ x_4 \end{matrix}\right] = \left[\begin{matrix} 0 \\ 1 \end{matrix}\right],代入方程

\begin{cases} x_1+2x_2+2x_3+2x_4=0 \\2x_3+4x_4=0 \end{cases}

解得

\begin{cases} x_1=2 \\x_3=-2 \end{cases}

因此当\left[\begin{matrix} x_2 \\ x_4 \end{matrix}\right] = \left[\begin{matrix} 0 \\ 1 \end{matrix}\right]时,解向量为\left[\begin{matrix} 2 \\ 0 \\ -2 \\ 1 \end{matrix}\right],因此另一条在四维空间中的直线为x=d\left[\begin{matrix} 2 \\ 0 \\ -2 \\ 1 \end{matrix}\right](d为任意实数)

那么还能为\left[\begin{matrix} x_2 \\ x_4 \end{matrix}\right]赋其他值吗?很明显其他情况都可以被\left[\begin{matrix} 1 \\ 0 \end{matrix}\right]\left[\begin{matrix} 0 \\ 1 \end{matrix}\right]的线性组合所涵盖,所以这两个解向量足够代表空间的特征了,我们称这两个解向量为特解,其特殊之处在于我们给自由变量赋值为\left[\begin{matrix} 1 \\ 0 \end{matrix}\right]\left[\begin{matrix} 0 \\ 1 \end{matrix}\right]。通过特解的任意倍的线性组合,可以构造出整个零空间。因此便得出了矩阵A的零空间

x=c\left[\begin{matrix} -2 \\ 1 \\ 0 \\ 0 \end{matrix}\right]+d\left[\begin{matrix} 2 \\ 0 \\ -2 \\ 1 \end{matrix}\right](c和d为常数)

算法总结

对于一个m×n的矩阵A,若其秩为r,那么意味着其主变量为r个,而自由变量为n-r个。也就是说,只有r列起作用。我们需要先对矩阵A进行消元,得到r个主元,由于有n个变量x,我们再将其中的n-r个自由变量依次赋值为\left[\begin{matrix} 1 \\ 0 \\ \vdots \\ 0 \end{matrix}\right]、\left[\begin{matrix} 0 \\ 1 \\ \vdots \\ 0 \end{matrix}\right]、\left[\begin{matrix} 0 \\ 0 \\ \vdots \\ 1 \end{matrix}\right]。接着求解方程的特解,将特解的任意倍进行线性组合即可得到矩阵A的零空间。

简化阶梯形式

尽管上面的消元法看上去已经很完美了,但事实上仍有化简的余地,最后得到的U矩阵仍可以被进一步化简。我们以上文中的U=\left[\begin{matrix} 1 & 2 & 2 & 2 \\ 0 & 0& 2 & 4 \\ 0 & 0 & 0 & 0 \end{matrix}\right]为例,继续化简的目标是令对角线上的主元为1,并且通过列交换将主元放在一起,把自由列放在一起来构成新的矩阵,操作如下

U=\left[\begin{matrix} 1 & 2 & 2 & 2 \\ 0 & 0& 2 & 4 \\ 0 & 0 & 0 & 0 \end{matrix}\right] = \left[\begin{matrix} 1 & 2 & 0 & -2 \\ 0 & 0& 2 & 4 \\ 0 & 0 & 0 & 0 \end{matrix}\right](向上消元) = \left[\begin{matrix} 1 & 2 & 0 & -2 \\ 0 & 0& 1 & 2 \\ 0 & 0 & 0 & 0 \end{matrix}\right](提第二行公倍数) = \left[\begin{matrix} 1 & 0 & 2 & -2 \\ 0 & 1 & 0 & 2 \\ 0 & 0 & 0 & 0 \end{matrix}\right](列交换) = R

也就是说最终我们能将上三角矩阵U化简成矩阵R,矩阵R的一般形式为

R = \left[\begin{matrix} I & F \\ 0 & 0\end{matrix}\right]

其中,I表示主列,由于r个主列的主元被化简成了1,因此这部分变成了r维单位矩阵,F表示自由列,共有n-r个自由列。有了矩阵R我们可以改写Ax的表达形式

Ax = Rx = \left[\begin{matrix} I & F \\ 0 & 0\end{matrix}\right] \left[\begin{matrix} x_{主元} \\ x_{自由变量} \end{matrix}\right] = RN = 0

这里的N为零空间矩阵,即各列向量由特解组成的矩阵

N = \left[\begin{matrix} -F \\ I \end{matrix}\right]

需要注意的是,这里的单位矩阵和矩阵R中的有所不同,这里的In-r维的,是将n-r个自由变量分别赋值为01得到的。将上文中的示例代入到RN,得到

R = \left[\begin{matrix} 1 & 0 & 2 & -2 \\ 0 & 1 & 0 & 2 \\ 0 & 0 & 0 & 0 \end{matrix}\right],\quad N=\left[\begin{matrix} -2 & 2 \\ 0 & -2 \\ 1 & 0\\ 0 & 1\end{matrix}\right]

由于x_1x_3是主列,x_2x_4是自由列,因此只需交换零空间矩阵中的第2、3行即可得到特解\left[\begin{matrix} -2 \\ 1 \\ 0 \\ 0 \end{matrix}\right]\left[\begin{matrix} 2 \\ 0 \\ -2 \\ 1 \end{matrix}\right]因此将矩阵U化简称矩阵R可以直接求解零空间。我们用下面一个例题来试验一下:

A = \left[\begin{matrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 2 & 6 & 8 \\ 2 & 8 & 10\end{matrix}\right],求解Ax=0x构成的零空间。

(1)将A消元为UA = \left[\begin{matrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 2 & 6 & 8 \\ 2 & 8 & 10\end{matrix}\right] = \left[\begin{matrix} 1 & 2 & 3 \\ 0 & 2 & 2 \\ 0 & 0 & 0 \\ 0 & 0 & 0\end{matrix}\right] = U (r = 2)

(2)将U化简为RU = \left[\begin{matrix} 1 & 2 & 3 \\ 0 & 2 & 2 \\ 0 & 0 & 0 \\ 0 & 0 & 0\end{matrix}\right] = \left[\begin{matrix} 1 & 0 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0\end{matrix}\right] = R

(3)得到零空间矩阵NN = \left[\begin{matrix} -F \\ I \end{matrix}\right] = \left[\begin{matrix} -1 \\ -1 \\ 1 \end{matrix}\right]

(4)得到零空间:x=c\left[\begin{matrix} -1 \\ -1 \\ 1 \end{matrix}\right](c为任意实数)

求解Ax=b

Ax=b的可解性

对于Ax=b我们知道这个方程不一定有解,在之前的章节中说明了Ax=b是否有解取决于b是否在A的列空间中,我们再通过一个例子来说明一下

例 求方程\left[\begin{matrix} 1 & 2 & 2 & 2 \\ 2 & 4 & 6 & 8 \\ 3 & 6 & 8 & 10 \end{matrix}\right]\left[\begin{matrix} x_1 \\ x_2 \\ x_3 \\ x_4 \end{matrix}\right] = \left[\begin{matrix} b_1 \\ b_2 \\ b_3 \end{matrix}\right]的可解条件。

在这个方程中,观察矩阵A,发现矩阵中第三行为第一行和第二行的和。根据之前的Gauss-Jordan消元法,我们可以得到

\left[\begin{array}{cccc|c} 1 & 2 & 2 & 2 & b_1 \\ 0 & 0 & 2 & 4 & b_2-b_1 \\ 0 & 0 & 0 & 0 & b_3- b_2-b_1 \end{array}\right]

代入方程,会发现最后一行0 = b_3-b_2-b_1,这一行方程必须成立,因此这一行就是方程的可解条件。同时,它还反映了b向量的第三个分量是前两个分量之和,这也与矩阵A的特点一致,这也印证了Ax=b是否有解取决于b是否在A的列空间中。

结合之前的章节总结出Ax=b有解条件:

  • 列空间角度:当且仅当b属于A的列空间时成立
  • 线性组合角度:当且仅当bA各列的线性组合时成立
  • 矩阵变换角度:如果A各行线性组合后得到零行,那么b取相同运算方式也必将得到0

求解Ax=b

接下来介绍通解和特解,通解就是满足方程所有的解,将“无穷解”用一种形式表达出来,对于Ax=b这个方程

通解=矩阵零空间向量+矩阵特解

因为矩阵零空间向量代入方程最后结果等于0,所以它不会影响等式,而是把方程的解向量扩展到一个类似子空间上,使我们求出的解更具有普遍意义,而求解零空间我们在上文也已经介绍,下面我们只需要关注如何求特解即可。在之前求解Ax=0方程的特解时,我们分别将自由变量赋值为01,得到

x=c\left[\begin{matrix} -2 \\ 1 \\ 0 \\ 0 \end{matrix}\right]+d\left[\begin{matrix} 2 \\ 0 \\ -2 \\ 1 \end{matrix}\right](c和d为任意实数)

观察这个表达式会发现,只要将系数cd定为0就可以得到零空间中的零向量,而且我们不能在求解Ax=0时将自由变元都赋为0。但是在Ax=b中,只要b不是0,我们就可以将自由变元全部赋为0,使用此方法即可得到特解。

接下来补充上述例题中方程的条件

\left[\begin{matrix} 1 & 2 & 2 & 2 \\ 2 & 4 & 6 & 8 \\ 3 & 6 & 8 & 10 \end{matrix}\right]\left[\begin{matrix} x_1 \\ x_2 \\ x_3 \\ x_4 \end{matrix}\right] = \left[\begin{matrix} 1 \\ 5 \\ 6 \end{matrix}\right]

Gauss-Jordan消元后得到

\left[\begin{array}{cccc|c} 1 & 2 & 2 & 2 & 1 \\ 0 & 0 & 2 & 4 & 4 \\ 0 & 0 & 0 & 0 & 0 \end{array}\right]

\left[\begin{matrix} x_2 \\ x_4 \end{matrix}\right] = \left[\begin{matrix} 0 \\ 0 \end{matrix}\right]回代方程得到

\begin{cases} x_1+2x_3=1 \\2x_3=3 \end{cases}

解得特解为\left[\begin{matrix} -2 \\ 0 \\ \frac{3}{2} \\ 0 \end{matrix}\right]

利用上一节的知识我们很容易求出A的零空间为

c_1\left[\begin{matrix} -2 \\ 1 \\ 0 \\ 0 \end{matrix}\right]+c_2\left[\begin{matrix} 2 \\ 0 \\ -2 \\ 1 \end{matrix}\right](c_1和c_2为任意实数)

因此Ax=b的解为

特解+零空间任意向量=\left[\begin{matrix} -2 \\ 0 \\ \frac{3}{2} \\ 0 \end{matrix}\right] + c_1\left[\begin{matrix} -2 \\ 1 \\ 0 \\ 0 \end{matrix}\right]+c_2\left[\begin{matrix} 2 \\ 0 \\ -2 \\ 1 \end{matrix}\right](c_1和c_2为任意实数)

这个解集在几何角度的解释是R^4上的一个不过原点的二维平面,显然这个解集无法构成一个向量空间,因为解集中不包含零向量。

矩阵的秩与解的关系

我们在消元求Ax=b的过程中会发现,矩阵的秩对最后解的形式有着重要的影响,下面我们来总结一下其中的规律。

列满秩

对于m×n的矩阵A,列满秩时,意味着没有自由列,r=n<m,此时零空间中只有零向量(不需要求零空间),Ax=b的解要么有解且唯一(特解x_p),要么无解。例如

A = \left[\begin{matrix} 1 & 3 \\ 2 & 1 \\ 6 & 1 \\ 5 & 1 \end{matrix}\right] \quad r=2=n<m

消元,由于两列线性无关,因此只有两个主元,逐行减去第一行的若干倍,行三和行四清零,得到第二个主元,然后各行都减去第二个主元的若干倍,最终第二个主元化为1的得到矩阵R

A = \left[\begin{matrix} 1 & 3 \\ 2 & 1 \\ 6 & 1 \\ 5 & 1 \end{matrix}\right] = \left[\begin{matrix} 1 & 0 \\ 0 & 1 \\ 0 & 0 \\ 0 & 0 \end{matrix}\right] = \left[\begin{matrix} I \\ 0 \end{matrix}\right]=R

行满秩

对于m×n的矩阵A,行满秩时,意味着有m个主元(每一行各一个),r = m<n,此时自由变元有n-r个,必然有解而且有无穷多解,例如

A = \left[\begin{matrix} 1 & 2 & 6 & 5 \\ 3 & 1 & 1 & 1 \end{matrix}\right] \quad r=2=m<n

最后我们会消元得到R=\left[\begin{matrix} I & F \end{matrix}\right]

行列满秩

对于m×n的矩阵A,行列满秩时,意味着矩阵可逆,r = m = n,此时自由变元有0个,经过消元,最终矩阵可化为单位矩阵I,即一个全是主元的方程组,最终只能有一个唯一解。例如

A = \left[\begin{matrix} 1 & 2 \\ 3 & 1\end{matrix}\right] \quad r=2=m=n

最后消元得到R=I

不满秩

对于m×n的矩阵A,不满秩时,意味着通过消元最终会得到R = \left[\begin{matrix} I & F \\ 0 & 0\end{matrix}\right],因此方程的解要么无解,要么无穷多解(特解+零空间所有向量)

小结

综上所述,会发现自由变量总为n-r个,所以通过判断自由变元的个数可以初步判断Ax=b的解的结构:如果没有自由变元,意味着方程的解唯一或者无解;如果存在自由变元,意味着方程的解有无穷多解或者无解。也就是说,自由变元是否存在决定了方程的解是否唯一。另一点是,可以通过观察消元后矩阵A是否存在0行来进一步判断方程是否有解:如果矩阵A中没有零行时,意味着方程一定有解;如果存在零行,则需要考虑方程是否满足可解条件。

除此之外,我们还发现了零空间实际上就是用来判断矩阵A的各列向量是否是线性无关的,如果各列向量是线性无关的,那么零空间中只有零向量,如果各列向量是线性相关的,那么零空间中除了零向量还有其他向量。因此零空间反映的就是A各列向量的线性组合。

关于Ax=b的另一种解释

当我们求解方程时,例如

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

矩阵表达如下

\left[\begin{matrix} 2 & -1 \\ -1 & 2\end{matrix}\right]\left[\begin{matrix} x \\ y \end{matrix}\right] = \left[\begin{matrix} 0 \\ 3 \end{matrix}\right]

除了使用消元法或判断矩阵是否满秩以外,我们还可以从列空间的角度来看这个方程,改写一些这个矩阵表达如下

x\left[\begin{matrix} 2 \\ -1 \end{matrix}\right] + y \left[\begin{matrix} -1 \\ 2 \end{matrix}\right] = \left[\begin{matrix} 0 \\ 3 \end{matrix}\right]

那么我们判断这个方程是否有解的条件实际上就是判断向量\left[\begin{matrix} 0 \\ 3 \end{matrix}\right]是否在以向量\left[\begin{matrix} 2 \\ -1 \end{matrix}\right]和向量\left[\begin{matrix} -1 \\ 2 \end{matrix}\right]构成的列空间中,换句话说,向量\left[\begin{matrix} 0 \\ 3 \end{matrix}\right]是否可以表达成向量\left[\begin{matrix} 2 \\ -1 \end{matrix}\right]和向量\left[\begin{matrix} -1 \\ 2 \end{matrix}\right]的线性组合。由于向量\left[\begin{matrix} 2 \\ -1 \end{matrix}\right]和向量\left[\begin{matrix} -1 \\ 2 \end{matrix}\right]是线性无关的,因此可以张成一个二维平面,而向量\left[\begin{matrix} 0 \\ 3 \end{matrix}\right]只是其中的一个二维向量,因此可以推断出方程一定有解。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容