Ax=0 solutions

如果一个矩䧃化简为

A=[122200012000000](0)A= \left[ \begin{array}{cccc|c} 1&2&2&2&0 \\ 0&0&1&2&0 \\ 0&0&0&0&0 \end{array} \right] \tag{0}

求解Ax=0\bf{A}\it\vec{x}=0

可汗学院解法

先继续化简为Reduced Row Echelon Form (RREF)

[120200012000000](1.1)\left[ \begin{array}{cccc|c} 1&2&0&-2&0 \\ 0&0&1&2&0 \\ 0&0&0&0&0 \end{array} \right] \tag{1.1}

还原为方程组:

{x1=2x2+2x4x3=2x4(1.2)\begin{cases} x_1=-2x_2+2x_4 \\ x_3=-2x_4\\ \end{cases} \tag{1.2}

x2x_2x4x_4来表示x1x_1x3x_3,填满矩阵相应位置即可得解:

[x1x2x3x4]=x2[2100]+x4[2021](1.3)\left[\begin{smallmatrix} x_1\\x_2\\x_3\\x_4 \end{smallmatrix}\right]= x_2 \left[\begin{smallmatrix} -2\\1\\0\\0 \end{smallmatrix}\right] + x_4 \left[\begin{smallmatrix} 2\\0\\-2\\1 \end{smallmatrix}\right] \tag{1.3}

如果不是太直观的话,其实就是把以下方程写成了矩阵的形式:

{x1=2x2+2x4x2=x2x3=2x4x4=x4(1.4)\begin{cases} x_1=-2x_2+2x_4 \\ x_2=x_2\\ x_3=-2x_4\\ x_4=x_4 \end{cases} \tag{1.4}

剑桥教材解法

《Mathematics for Machine Learning》 by Marc Peter Deisenroth, A Aldo Faisal, Cheng Soon Ong, Cambridge University

化简为RREF后,观察到c1c_1c3c_3列可组成一个单位矩阵(identity matrix[1001]\left[\begin{smallmatrix} 1&0\\0&1 \end{smallmatrix}\right]

如果是解Ax=b\bf{A}\it\vec{x}=b,此时可用此矩阵求出特解,但此处是0,所以此步省略,直接求通解

我们用c1c_1c3c_3来表示其它列:

{c2=2c1c4=2c1+2c3(2.1)\begin{cases} c_2=2c_1 \\ c_4=-2c_1+2c_3 \end{cases} \tag{2.1}

我们利用c2c2=0,c4c4=0c_2-c_2=0, c_4-c_4=0来构造0值(通解都是求0):

{2c1c2=02c1+2c3c4=0(2.2)\begin{cases} 2c_1-\green{c_2}=0 \\ -2c_1+2c_3-\green{c_4}=0 \end{cases} \tag{2.2}

补齐方程,整理顺序(以便直观地看到系数)得:

{2c11c2+0c3+0c4=02c1+0c2+2c31c4=0(2.3)\begin{cases} \red2c_1\red{-1}c_2+\red{0}c_3+\red{0}c_4=0 \\ \red{-2}c_1+\red0c_2+\red2c_3\red{-1}c_4=0 \end{cases} \tag{2.3}

因为矩阵乘向量可以理解为矩阵和列向量c\vec{c}与向量xx的点积之和i=14xici\sum_{i=1}^4 x_ic_i,所以红色的系数部分其实就是(x1,x2,x3,x4)(x_1, x_2, x_3, x_4),得解:

{xR4:x=λ1[2100]+λ2[2021],λ1,λ2R}(2.4)\left\{x\in\mathbb{R}^4:x=\lambda_1\left[\begin{smallmatrix} 2\\-1\\0\\0 \end{smallmatrix}\right]+\lambda_2\left[\begin{smallmatrix} 2\\0\\-2\\1 \end{smallmatrix}\right],\lambda_1,\lambda_2\in\mathbb{R}\right\} \tag{2.4}

可汗学院的解得到的两个向量比较下,是一样的,都是[2,1,0,0]T[2,-1,0,0]^T[2,0,2,1]T[2,0,-2,1]^T


麻省理工教材解法

《Introduction to Linear Alegebra》 by Gilbert Strang, Massachusetts Institute of Technology

无需继续化简为RREF,直接对方程组:

{x1=2x2+2x4x3=2x4(3.1)\begin{cases} x_1=-2x_2+2x_4 \\ x_3=-2x_4\\ \end{cases} \tag{3.1}

使用特解。考虑到x1,x3x_1,x_3为主元(pivot),那么分别设[x2x4][\begin{smallmatrix} x_2 \\ x_4 \end{smallmatrix}][10][\begin{smallmatrix} 1 \\ 0 \end{smallmatrix}][01][\begin{smallmatrix} 0 \\ 1 \end{smallmatrix}] 。 两种情况各代入一次,解出x1,x3x_1,x_3,仍然是[2,1,0,0]T[2,\red{-1},0,\red0]^T[2,0,2,1]T[2,\red0,-2,\red1]^T,红色标识了代入值,黑色即为代入后的解。

MIT不止提供了这一个思路,继续。

这次需要化简为RREF,然后互换第2列和第3列(==记住这次互换==),还记得剑桥的方法里发现c1,c3c_1,c_3能组成一个单位矩阵吗?这里的目的是通过移动列,直接在表现形式上变成单位矩阵:

[102201020000](3.2)\left[ \begin{array}{cc:cc} 1&0&2&-2\\ 0&1&0&2\\ \hdashline 0&0&0&0 \end{array} \right] \tag{3.2}

这里把用虚线反矩阵划成了四个区,左上角为一个Identity Matrix,我们记为I,右上角为自由列,我们记为F,矩阵(这次我们标记为R)变成了

R=[IF00](3.3)\bf{\it{R}}= \begin{bmatrix} I&F\\ 0&0 \end{bmatrix} \tag{3.3}

求解Rx=0\bf{\it{R}}\it\vec{x}=0,得到x=[FI]x=\left[\begin{smallmatrix} -F\\I \end{smallmatrix}\right],把FI分别展开(记得F要乘上-1):

[22021001](3.4)\begin{bmatrix} -2&2\\ 0&-2\\ 1&0\\ 0&1 \end{bmatrix} \tag{3.4}

还记得前面黄色高亮的部分吗?我们交换了两列,倒置后,我们要把第2, 3给交换一下:

[22100201](3.5)\begin{bmatrix} -2&2\\ 1&0\\ 0&-2\\ 0&1 \end{bmatrix} \tag{3.5}

是不是又得到了两个熟悉的[2,1,0,0]T[2,-1,0,0]^T[2,0,2,1]T[2,0,-2,1]^T。?

当时看到Gilbert教授简单粗暴地用[10][\begin{smallmatrix} 1 \\ 0 \end{smallmatrix}][01][\begin{smallmatrix} 0 \\ 1 \end{smallmatrix}] 直接代入求出解,道理都不跟你讲,然后又给你画大饼,又是F又是I的,觉得可能他的课程不适合初学者,LOL。不过,这些Gilbert教授在此演示的解法并不适用于Ax=b\bf{A}\it\vec{x}=b

在此特用笔记把几本教材里的思路都记录一下。