线性方程组
基本概念
矩阵是根据线性方程组得到。线性方程组和向量组本质上是一致的。
线性方程组与矩阵
元齐次线性方程组。
元非齐次线性方程组。
是方程个数,即方程组行数,是方程未知数个数,即类似方程组的列数。
对于齐次方程,一定是其解,称为其零解,若有一组不全为零的解,则称为其非零解。其一定有零解,但是不一定有非零解。
对于非齐次方程,只有不全为零才是。
令系数矩阵,未知数矩阵,常数项矩阵,增广矩阵。
所以。
从而等价于,当就是齐次线性方程。
从而矩阵可以简单表示线性方程。
是几乎所有数值计算的核心问题。科学计算、机器学习、图形学里大量任务最终都归结为解线性方程组:最小二乘拟合、线性回归的正规方程、有限元、电路网络分析、潮流计算等。工程上几乎不会真的去求逆矩阵 再乘 (代价大且数值不稳定),而是用 LU 分解、Cholesky 分解(对称正定时)或对大型稀疏系统用共轭梯度等迭代法直接解 。
把方程组打包成「矩阵 × 未知数 = 常数」。初学时一定要分清三样东西:系数矩阵 (每个方程左边的系数排成的表)、未知数列向量 、常数列向量 。原来一行一行写的方程组,现在压缩成一个 。 的行数 = 方程个数,列数 = 未知数个数,这个对应关系记牢,后面判断解的情况全靠它。
矩阵乘法与线性变换
矩阵乘法实际上就是线性方程组的线性变换,将一个变量关于另一个变量的关系式代入原方程组,得到与另一个变量的关系。
原本是线性方程分别是与和与的关系式,而如果将关于的关系式代入关于的关系式中,就会得到关于的关系式:
这可以看作上面两个线性方程组相乘,也可以将线性方程组表示为矩阵,进行相乘就得到乘积,从而了解矩阵乘积与线性方程组的关系:
线性方程组的解
对于一元一次线性方程::
- 当时,可以解得。
- 当时,若时,无解,若时,无数解。
当推广到多元一次线性方程组:,如何求出这一系列的的解?
从数学逻辑上看,已知多元一次方程,有个约束方程,有个未知数,假定。
当时,就代表有更多的未知变量不能被方程约束,从而有个自由变量,所以就是无数解,解组中其他解可以由自由变量来表示。无穷多解需要一个解来代表其他解,这个解就是基础解系。
当时代表约束与变量数量相等,此时又要分三种情况。
当所有的约束条件其中存在线性相关,即一部分约束条件可以由其他约束表示,则代表这部分约束条件是没用的,实际上的约束条件变少,从而情况等于,结果是无数解。
当所有的约束条件不存在线性相关,但是一部分约束条件互相矛盾,则约束条件下就无法解出解,从而结果是无实数解。
当所有的约束条件不存在线性相关,且相互之间不存在矛盾情况,这时候才会解出一个实数解,从而结果是有唯一实解。
若使用矩阵来解决线性方程组的问题,其系数矩阵。
对于,则,若存在一个矩阵类似,使得,解得,这个就是的逆矩阵。
对于即不可逆,需要判断是否为0,若不是则无实数解,若是则无穷解,这种判断需要用到增广矩阵,需要用到矩阵的秩判断。
取自由变量时必须要保证取完后的矩阵行列式不为0,否则自由变量不能表示其他向量。
「解的三种情况」对应数值求解里的不同信号。唯一解 ↔ 满秩、行列式非零、条件数有限;无穷多解 ↔ 系统欠定(变量比有效约束多),机器学习里就是参数比样本多、需要正则化的过拟合场景;无解 ↔ 系统超定(约束矛盾),这正是最小二乘登场的地方——求一个让 最小的「近似解」。一个接近奇异的 (条件数很大)在浮点运算下会放大误差,所以数值上「能不能解、解得准不准」比理论上「有没有解」更关键。
解的个数其实由「有效约束数」和「未知数个数」的较量决定。把每个方程想成一条限制。限制太少(有效方程 < 未知数)→ 管不住所有变量 → 无穷多解;限制刚好且不打架 → 唯一解;限制之间自相矛盾 → 无解。所谓「有效」是指去掉那些能被别的方程推出来的重复方程,这就是为什么要用秩来数,而不是直接数方程行数。
线性方程组的矩阵解表示
已知对于线性方程组。
按乘积表示为,然后将按列分块,按行分块:
这三种都是解的表示方法。
具体线性方程
齐次方程组
即。其中有行列。
有解条件
必有一个零解。
有解条件讨论是否列满秩问题,即方程组是否能约束全部变量。
对系数矩阵进行行变换,若,即使行满秩若则列不满秩,那么还是无法约束所有变量;若,即使行不满秩但是列满秩,所以还是能约束所有变量。
当时,即线性无关,则方程组有唯一零解。
当时,即线性相关,则方程具有无穷多个非零解,具有个线性无关解(自由变量)。
解的性质
若,,则。
解的结构
基础解系定义:假如满足:①是方程组的解;②线性无关;③方程组的任一解均可由线性表出,则称为的基础解系。
当时讨论基础解系。
通解定义:设是的基础解系,则是方程组的通解,为任意常数。
齐次方程组 的解集,就是 的零空间(null space / kernel)。基础解系 是这个零空间的一组基,维数 正是「零度」(nullity),秩-零化度定理 就是这里 的另一种说法。在机器学习里,零空间非空意味着特征线性相关、参数不可辨识;在求解线性系统时,零空间描述了「解的不确定方向」——可以沿这些方向任意移动而不破坏方程。
「自由变量」就是你能随便取值的那几个未知数。把矩阵化成阶梯形后,每个台阶对应一个被「锁死」的主变量,剩下没台阶管的就是自由变量,共 个。基础解系的做法是:让一个自由变量取 1、其余取 0,反解出主变量,得到一个解向量;轮流来一遍就凑齐了所有基础解。通解就是把这些基础解任意线性组合(系数 随便取)。
求解过程
- 将系数矩阵作为初等行变换后化为阶梯形矩阵或最简阶梯形矩阵,因为初等行变换将方程组化为同解方程组,所以与同解,只需解,设。其中为行列,为约束方程组个数,为变量个数。
- 在中按列找到一个秩为的子矩阵,即在每排阶梯都选出一列组合成子矩阵,则剩余列位置的未知数就是自由变量。(极大线性无关组)
- 按基础解析定义求出,并写出通解。
例题:求齐次线性方程组的通解。
解:系数矩阵,然后对其行变换,得到:
,。
然后找子矩阵,第一台阶选,第二台阶选或,第三台阶选或,随便找一个,如为子矩阵,则,所代表的未知数,就是自由变量。
所以选择两个分量和作为基础解系。
因为此时选择,为自由变量,所以和所对应的、、、可以任意取,但是为了保证秩为2,所以让、、、。这四个分量组成的矩阵线性无关,原矩阵线性无关,延长矩阵线性无关,从而和必然线性无关。
所以此时已经给定两组解,一种是的,,另一种是的,,这样就只有三个未知数和三个方程,分别代入矩阵所代表的方程组中(代入行阶梯矩阵就可以,不用代入最简行阶梯矩阵):
,分别代入:
:,。
:,。
所以通解为。
非齐次方程组
即,为不全为0的列向量。
有解条件
,其中,。
当时(),即不能被线性表出,则方程组无解。
当时,即能被线性表出,线性无关,线性相关,矩阵列满秩,则方程组有唯一解。
当时,即能被线性表出,线性相关,矩阵列降秩,则方程组有无穷多解。
解的性质
若是非齐次线性方程组的解,是对应齐次线性方程组的解,则:
①是的通解。
②是的解。
「通解 = 特解 + 齐次通解」是线性系统的叠加原理。这跟线性微分方程、信号系统的「零状态响应 + 零输入响应」是同一个思想:特解 给出一个具体落点,齐次通解 描述了所有「不改变 的自由移动方向」。在最小二乘里,当 列不满秩、最优解不唯一时,所有最优解也正好构成「某个特解 + 零空间」这种平移仿射集合,工程上常用最小范数解(伪逆 )来从中挑一个。
求非齐次解分两步走,别想一口吃成。第一步:把右边的 暂时换成 ,解出齐次通解(带自由系数 的那部分);第二步:随便找一个能满足原方程的具体解 (叫特解,常令自由变量为 0 来简化计算)。两步加起来就是全部解。注意:通解里的向量可以整体乘个数(它表示方向),但特解不行(它是一个确定的点)。
求解过程
将系数矩阵和常数项矩阵合并为一个增广矩阵,对增广矩阵进行行变换变为阶梯形矩阵,求出对应齐次线性方程组的通解,最后假设一个非齐次线性方程组的特解。
- 写出的导出方程组并求出其通解。
- 求出的一个特解。
- 的通解为。
例题:求非齐次线性方程组的通解。
解:对方程组提取出增广矩阵并进行行变换:
。
然后求齐次方程的通解:找两列作为子矩阵,如,,则,作为自由变量,设两个和。
解得,(为了得到整数通解都乘了7)。
通解为。
然后求其非齐次的特解,让两个自由变量为0减少计算,即代入方程得到。
所以通解为。
注意:通解的向量可以同乘一个数,因为其表示的是一个关系而不是具体数,但是特解不能同乘一个数,因为其表示的是一个具体的数。
克拉默法则
克拉默法则本来是矩阵中的运算法则,但是与方程组有更密切的关系,所以放到线性方程组中。
定理:若的系数矩阵的行列式,则方程有唯一解,且,其中为把系数矩阵的第列的元素用方程组右侧的常数项代替后所得到的阶矩阵。
克拉默法则理论上漂亮,实际计算上千万别用。它需要算 个 阶行列式,按定义展开是 ,即便用 LU 算行列式也要 量级,远慢于高斯消元的 ,而且数值稳定性差。所以它的价值在于理论推导(比如证明解对参数的连续/可微依赖、给出解的闭式表达),真正写代码解方程时一律用消元 / 分解。
克拉默法则只在「方阵且行列式非零」时能用。用法很机械:分母固定是 ,求第 个未知数就把 的第 列换成常数列 ,算出新行列式当分子。前提 等价于「唯一解」。一旦 这个公式直接失效,必须回去用增广矩阵 + 秩来判断是无解还是无穷多解。
抽象线性方程
解的判定
,总有解,至少有零解。
,当时,只有零解;当时,无穷多解。
时,当时,无解;当时,有唯一解;当时,无穷多解。
当只有零解时,,当有无穷多解时,,都不能判定与的关系,若以可能有解也可能无解。
当有唯一解时,,所以列满秩,只有零解。
当有无穷多解时,,则有无穷多解。
当行满秩,则,则必有解,因为原来无关,延长无关。
所以已知非齐次解情况能推出齐次解情况,但是反之不能。
解的性质
非齐次通解=齐次的通解+非齐次一个特解。
例题:,为的三个解向量,其中具有如下关系:
,求的通解。
解:,所以通解的基础解系中有两个分量和。
所以需要解,又存在三个解向量,所以,所以,所以就是其中一个解,所以令。
然后根据所给出的进行凑,,。所以,所以,所以令。
最后找一个特解,,,就是一个特解。
所以通解为
基础解系
对于,,若向量组满足:①,;②线性无关;③,则称为的基础解系。
例题:设是方程组的基础解系,则下列向量组也是方程组的基础解系的是()。
,, ,,
,, ,,
解:需要判断基础解系是否线性无关,需要对应的行列式值非0。
对于:,,,所以线性无关,从而为基础解系。
例题:设,是齐次线性方程组的解,且,则下列向量中是其解向量的是()。
解:若和为的基,所以和应该能表示其解向量。
所以将和与分别联立为矩阵,进行初等行变换,查看是否有解,即新增广矩阵必须秩为2。
选项增广矩阵的秩都为3,所以不能表示,而只有的为2,所以可以表示。
系数矩阵列向量与解
对于齐次方程而言,其解是让的线性组合为零向量时线性组合的系数,对于非齐次而言解是由线性表出的表出系数。
所以方程的解就是描述列向量组之间数量关心的系数。
例题:已知,其中是四维列向量,且,,若,求线性方程组的通解。
解:,,即。
又,,。
所以特解为的系数:,通解为。
公共解
待定系数法
- 求两个方程组解的交集部分。可以联立两个方程求解。
- 求出的通解,这些本来是独立的,然后代入,求出之间的关系,再代回的通解中就得到公共解。
- 给出的通解与的通解联立:,能解出和。
这种方法可以求出公共解,不过比较麻烦。
如果已经给出原方程的基础解系而没有给出矩阵,则这个方法解出公共解较好。
例题:已知线性方程组,,求方程组的公共解。
解:,。
两个秩都为2,选择前两个分量为基子矩阵,后两个为通解分量。
,,,。
。
。
令,所以解得。
公共解为。
矩阵法
要求和的非零公共解,即求联立矩阵的非零解。对这个矩阵求出基础解系。
如果直接给出矩阵,则这种方法可以不用求出基础解系就能得到公共解。
同解
性质
若和有完全相同的解,就是同解方程组。
。即行向量组等价。
与同解。
与 同解,是最小二乘正规方程的理论基石。解超定方程 (无精确解)时,最小二乘把它转成正规方程 。这里 对称半正定;当 列满秩时 可逆,最小二乘解唯一,即线性回归的闭式解 。 这个等式正好保证了「 列满秩 可逆」,所以特征列不冗余时回归参数才可辨识。
「同解」就是两个方程组的解集一模一样。判断技巧:如果方程组 是在 基础上多加了方程,那 的解一定是 解的子集,只要再验证 的通解也满足新加的方程,就能定参数让两者同解。证明 与 同解的关键一步是 ——向量长度为 0 必是零向量,这个小技巧要记住。
代入法
先求一个方程组的通解,然后把这个通解代入到第二个方程组中,不用管的取值(因为为任意数,所以直接令其为0)直接求出对应参数。
例题:线性方程组,在其基础上加一个方程,满足什么条件,是同解方程组。
解:在的基础上增加一个方程,即多增加了约束,从而的解一定为的解的子集。所以只要的解也满足的解就是同解方程组。
,,,。
所以这个对于而言必然满足前三行,若要整体满足,就也要满足的第四行,所以直接代入第四行:。
又为任意数,所以,即。
例题:设为阶实矩阵,是的转置矩阵,证明方程组和是同解方程组。
证明:若为的唯一解,则,则,也为的解。
若为的唯一解,则,,所以,从而也为的解。
所以同解,所以其两个矩阵的基解等价。
定理:。