机器学习-线性代数-解方程组

解方程组

一、从空间映射的角度研究方程组

对于如下方程组:

a 11 x 1 + a 12 x 2 + . . . + a 1 n x n = b 1 a 21 x 1 + a 22 x 2 + . . . + a 2 n x n = b 2 . . . . a m 1 x 1 + a m 2 x 2 + . . . + a m n x n = b m a_{11}x_1 + a_{12}x_2 + ... + a_{1n}x_n = b1\\ a_{21}x_1 + a_{22}x_2 + ... + a_{2n}x_n = b2\\....\\a_{m1}x_1 + a_{m2}x_2 + ... + a_{mn}x_n = bm a11x1+a12x2+...+a1nxn=b1a21x1+a22x2+...+a2nxn=b2....am1x1+am2x2+...+amnxn=bm

这是一个 n n n元方程组,一共包含 m m m个方程,将其转换成矩阵乘法形式:

[ a 11   a 12   . . .   a 1 n a 21   a 22   . . .   a 2 n . . . a m 1   a m 2   . . .   a m n ] [ x 1 x 2 . . . x n ] = [ b 1 b 2 . . . b m ] \left [ \begin{matrix} a_{11}~a_{12}~...~ a_{1n}\\ a_{21}~a_{22}~...~ a_{2n} \\...\\a_{m1}~a_{m2}~...~ a_{mn}\end{matrix} \right ]\left[\begin{matrix} x_1 \\x_2\\...\\x_n\end{matrix} \right] = \left[\begin{matrix} b_1 \\b_2\\...\\b_m\end{matrix} \right] a11 a12 ... a1na21 a22 ... a2n...am1 am2 ... amn x1x2...xn = b1b2...bm

A = [ a 11   a 12   . . .   a 1 n a 21   a 22   . . .   a 2 n . . . a m 1   a m 2   . . .   a m n ] A = \left [ \begin{matrix} a_{11}~a_{12}~...~ a_{1n}\\ a_{21}~a_{22}~...~ a_{2n} \\...\\a_{m1}~a_{m2}~...~ a_{mn}\end{matrix} \right ] A= a11 a12 ... a1na21 a22 ... a2n...am1 am2 ... amn , x = [ x 1 x 2 . . . x n ] x = \left[\begin{matrix} x_1 \\x_2\\...\\x_n\end{matrix} \right] x= x1x2...xn , b = [ b 1 b 2 . . . b m ] b = \left[\begin{matrix} b_1 \\b_2\\...\\b_m\end{matrix} \right] b= b1b2...bm

由此转变成了矩阵乘法形式: A x = b Ax = b Ax=b,由此而理解就是:已知目标空间向量 b b b,和描述空间映射的矩阵 A A A,我们去寻找位于原空间中映射过来的向量 x x x

二、方程解的个数

如果方程有解,即满足 A x = b Ax = b Ax=b,向量 b b b就是矩阵 A A A的各个列向量的线性组合,换句话说 b b b在矩阵 A A A的列空间上,才满足方程组有解。

为了后续进一步探索,再次明确几个名词的含义:

r r r :矩阵列空间的维度,也是映射后向量集合构成子空间的维度。

m m m:矩阵的行数,也是目标空间的维度

n n n:矩阵的列数,就是映射前原空间的维度

明确了这些,我们继续进行讨论:

1. r = m = n

描述的是一个方阵,而且是满秩矩阵。这首先意味着原空间和列空间维数相等,都是 R r R^r Rr空间,映射的过程不存在空间的压缩;同时目标空间和列空间等维,也都是 R r R^r Rr空间,意味着目标空间 R m R^m Rm(也就是 R r R^r Rr)中的任意一个向量都在矩阵A的列空间上,这意味着什么?意味着在这种情况下,方程组一定有解,且仅有一个解。
在等式推导上,由于满秩方阵A可逆,我们对方程组 A x = b Ax = b Ax=b左右两侧同时乘以 A A A的逆矩阵 A − 1 A^{-1} A1,就能得到解向量的表达式:
A x = b → A − 1 A x = A − 1 b → x = A − 1 b Ax =b→A^{-1}Ax =A^{-1}b→x =A^{-1}b Ax=bA1Ax=A1bx=A1b

2. r = n < m

r = n r =n r=n意味着,映射后的列空间和原空间的维数相等,都是 n n n,即如果在列空间上任选一个向量 b b b,在原空间中与之对应的解向量 x x x是唯一的。但是请注意,由于 r < m r<m r<m,列空间的维度小于目标空间的维度,列空间仅仅是目标空间 R m R^m Rm的一个子空间,因此问题来了,如果我们在目标空间中挑选的 b b b向量不在列空间上,那么方程就无解。因此在这种情况下,方程组要么无解,要么有唯一解,区分的原则就是 b b b向量是否在 A A A的列空间上。

3. r = m < n

r = m r = m r=m意味着目标空间是一个 R m R^m Rm空间,而列空间和目标空间维数相等,同样是 R m R^m Rm空间,同样说明目标空间里的所有向量都位于矩阵 A A A的列空间上,因此方程组一定有解。而同时有 r < n r<n r<n,意味着列空间的维度小于原空间的维度,即映射存在空间的压缩。因此A是一个多对一的空间压缩矩阵,方程组有解,且解有无数个。

4. r < m 且 r < n

这种情况包含了2、3小点的情况,具体的说 r r r是原空间和目标空间的子空间,此时既可能无解也可能无解。

三、方程组解求法

当方程组有唯一解的时候,他的解就是一个向量: x = [ x 1 x 2 . . . x n ] x = \left[\begin{matrix} x_1 \\x_2\\...\\x_n\end{matrix} \right] x= x1x2...xn ,这是唯一的表达方式。
但是如果方程组有无数种解,显然我们无法将其全部罗列出来,具体应该如何表达呢?我们还是从解的集合意义出发:
当方程组有无数个解的时候,实质上就构成了一个解的空间。我们的目标就是要找到这个解空间的描述方式,我们的思路是:
首先任意找一个满足方程组的解,也就是解空间中的一个任意点,我们称其为特殊解: x p x_p xp,此时满足 A x p = b Ax_p=b Axp=b
然后我们转而去考虑零空间。根据定义,零空间中的任意点 x 。 x_。 x满足 A x 。 = 0 Ax_。 =0 Ax=0,那么此时就有 A x p + A x 。 = b + 0 = A ( x p + x 。 ) = b Ax_p + Ax_。 = b+0= A(x_p+x_。)= b Axp+Ax=b+0=A(xp+x)=b。这意味着什么?意味着解空间中任意一个解向量与零空间中任意一个向量相加的结果也是解向量,用向量相加的几何意义来描述就是:零空间里的某个向量沿着这个特解向量x,进行移动,移动后的结果是另外一个解向量。那么整个零空间沿着这个特殊解向量 x p x_p xp进行移动,其结果就是我们要找的解空间了。

**解法:**求解齐次线性方程组的解,也就是求解零空间。然后求出原方程组的一个特解。二者相加即可。具体的求法请百度或者参考教材,这里就不过多陈述了。

解,也就是求解零空间。然后求出原方程组的一个特解。二者相加即可。具体的求法请百度或者参考教材,这里就不过多陈述了。

猜你喜欢

转载自blog.csdn.net/qq_57150526/article/details/130958191
今日推荐