MIT 18.06 线性代数公开课笔记 Lecture07Ax=0: 主变量, 特解

本文探讨了解线性方程组Ax=0的方法,通过矩阵A的行变换达到消元目的,得到简化行阶梯形式矩阵U,并进一步简化至R。通过分析矩阵的秩、主元及自由变量,揭示零空间的本质,即线性无关特解的线性组合。文章详细介绍了如何利用简化矩阵快速求解特解,并展示了如何使用Matlab进行相关计算。

本节课我们将从定义转换到算法, 如何解出 Ax=0A\mathbf{x}=\mathbf{0}Ax=0 .

取矩阵 A=[1222246836810]A=\begin{bmatrix} 1&2&2&2\\2&4&6&8\\3&6&8&10 \end{bmatrix}A=1232462682810 , 列1, 2在同一方向, 行1, 2, 3也线性相关, 这些将体现在消元中. 矩阵做行变换时不会改变方程的解, 也就不会改变零空间.对于我们消元的算法来说, 要注意什么是变化的, 什么是不变的.

消元:
[1222246836810]⟶[122200240024] \begin{bmatrix} \boxed1&2&2&2\\2&4&6&8\\3&6&8&10 \end{bmatrix}\longrightarrow\begin{bmatrix} \boxed1&2&2&2\\0&0&\boxed2&4\\0&0&2&4 \end{bmatrix} 1232462682810100200222244
消掉第一列后, 发现第二列下面变成0了, 这说明第二列是前面的列的线性组合. 我们继续找下一个主元:
[122200240024]⟶[122200240000]=U \begin{bmatrix} \boxed1&2&2&2\\0&0&\boxed2&4\\0&0&2&4 \end{bmatrix}\longrightarrow\begin{bmatrix} \boxed1&2&2&2\\0&0&\boxed2&4\\0&0&0&0 \end{bmatrix}=U 100200222244100200220240=U
第三行是全零, 说明第三行是前两行的线性组合.

我们最终得到了一种阶梯矩阵. 可以发现, 消元之后只有2个主元, 这个数字2称为该矩阵的(rank).

现在方程变为 Ux=0U\mathbf{x}=\mathbf{0}Ux=0 . 下一步我们要找出主变量(pivot variables), 主变量所在的列称为主列(pivot columns), 其余列称为自由列(free columns). 自由意味着, 这些列上的自由变量可以取任意数.

首先取 x2=1,x4=0x_2=1,x_4=0x2=1,x4=0 , 求得一组解 x=c[−2100]\mathbf{x}=c\begin{bmatrix} -2\\1\\0\\0 \end{bmatrix}x=c2100 , 这并不是完整的零空间, 还可以取 x2=0,x4=1x_2=0,x_4=1x2=0,x4=1 , 求得另一组解 x=d[20−21]\mathbf{x}=d\begin{bmatrix} 2\\0\\-2\\1 \end{bmatrix}x=d2021 . 于是所有的解是 x=c[−2100]+d[20−21]\mathbf{x}=c\begin{bmatrix} -2\\1\\0\\0 \end{bmatrix}+d\begin{bmatrix} 2\\0\\-2\\1 \end{bmatrix}x=c2100+d2021 , 也就是两个特解的线性组合. 零空间所包含的恰好是线性无关的特解的线性组合. 特解有多少个? 每个自由变量对应一个特解.

让我们把知识串联起来: 矩阵 Am×nA_{m\times n}Am×n 的秩为 rrr , 表示主变量的个数, 于是自由变量的个数就是 n−rn-rnr , 也就是说起作用的变量只有 rrr 个, 其他变量可以自由取值, 也就是可以得到 n−rn-rnr 个线性无关的特解.

我们还可以让矩阵看起来更干净. 用 RRR 表示简化行阶梯形式(reduced row echelon form)的矩阵. 对于 U=[122200240000]U=\begin{bmatrix} 1&2&2&2\\0&0&2&4\\0&0&0&0 \end{bmatrix}U=100200220240 , 可以继续向上消元, 可以让主元上方也变为全零, 再用方程除以主元, 可以让主元变为1:
[122200240000]→[120−200240000]→[120−200120000]=R \begin{bmatrix} 1&2&2&2\\0&0&2&4\\0&0&0&0 \end{bmatrix}\rightarrow\begin{bmatrix} 1&2&0&-2\\0&0&2&4\\0&0&0&0 \end{bmatrix}\rightarrow\begin{bmatrix} \boxed1&2&0&-2\\0&0&\boxed1&2\\0&0&0&0 \end{bmatrix}=R 100200220240100200020240100200010220=R
Matlab生成 RRR 的指令为 rref(A) . 可以发现上面的 RRR 中还包含了一个单位矩阵, 元素来自主元的行列. 我们通过 RRR 可以很快的计算出特解.

如果把含自由变量列的子矩阵称为 FFF , 可以得到, 典型情况下有 R=[IF00]R=\begin{bmatrix} I&F\\0&0 \end{bmatrix}R=[I0F0] . 方程变为求 Rx=0R\mathbf{x}=\mathbf{0}Rx=0 , 我们想要一次求出所有特解, 可以创造一个零空间矩阵(列由特解组成) N=[−FI]N=\begin{bmatrix} -F\\I \end{bmatrix}N=[FI] . Matlab生成 NNN 的指令为 null(A) .

原方程可以最终表示为 [IF][xpivotxfree]=0\begin{bmatrix} I&F \end{bmatrix}\begin{bmatrix} x_{pivot}\\x_{free} \end{bmatrix}=\mathbf{0}[IF][xpivotxfree]=0 .

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值