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

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

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

消元:
[ 1 2 2 2 2 4 6 8 3 6 8 10 ] ⟶ [ 1 2 2 2 0 0 2 4 0 0 2 4 ] \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了, 这说明第二列是前面的列的线性组合. 我们继续找下一个主元:
[ 1 2 2 2 0 0 2 4 0 0 2 4 ] ⟶ [ 1 2 2 2 0 0 2 4 0 0 0 0 ] = 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).

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

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

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

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

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

原方程可以最终表示为 [ I F ] [ x p i v o t x f r e e ] = 0 \begin{bmatrix} I&F \end{bmatrix}\begin{bmatrix} x_{pivot}\\x_{free} \end{bmatrix}=\mathbf{0} [IF][xpivotxfree]=0 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值