文章目录
- 考试要求
- 基础知识
- 一般求解思路
- 消元法
- 高斯消元法
- 小主元导致的计算失误
- 高斯列主元素消去法(期末考试要求之一)
- 高斯消元法例题(期末必考)
- 高斯消元法的优缺点
- 减少fill-in现象(了解)
- 矩阵分解
- Doolittle分解例题(本大题第一题,必考)
- 迭代法
- 前奏知识
- 向量范数(了解)
- 矩阵范数(了解)
- 谱半径(重要)
- 方阵序列的收敛性(挺重要的,后面会用到,但是不会考)
- 矩阵条件数(必考)
- 条件数的性质
- 使用条件数判定方程组是否病态(了解)
- 构造迭代格式
- 收敛性证明
- 停机准则
- Richardson迭代(必考)
- 参数选择
- Richardson迭代样例
- Jacobi迭代(必考)
- Jacobi迭代的例题(必考)
- Gauss-seidel迭代(必考)
- Gauss-Seidel迭代解方程组
- 收敛性证明补充——对角占优判定对应的矩阵
- 可约性()
- 对称正定性和收敛性(必考)
- 收敛性分析证明(例题,必考)
- JS方法和GS方法的比较
- 预处理可以改变收敛性
- 总结
考试要求
- 线性方程组会考大题,分值最重,占到28分。
- 主要考:有一般矩阵转化为特殊矩阵的方法进行求解:消元法、矩阵分解和迭代法三个方法
- 第一问:给出三元线性方程组,使用doolittle进行分解。
- 第二问:Richardson迭代,当α在什么范围内迭代格式是收敛的,当α取什么值,收敛最快。
- Jacobi迭代考核方式:给你的初值,迭代一次X1的结果。jacobi仅考迭代一次的结果。要回构造迭代格式。
- Gauss-Seidel迭代考核:给你初值,迭代一次的结果。要回构造迭代格式。
- 第三问:收敛性判定,稀疏矩阵A严格对角占优,一定收敛。如果是弱对角占优,并且不可约,也是一定收敛。
- 第四问:当α的范围,对于任何初值都迭代,处于多少时,收敛最快。
基础知识
- 线性方程组:针对适定的线性方程组
- 系数矩阵A可逆,则存在唯一的解
- 克莱姆法则:实际的计算量很大,很繁琐。
- 当前你所能求解的矩阵:对角矩阵,上三角矩阵和下三角矩阵。
一般求解思路
- 最主流的方法:通过多重网格对系数矩阵进行预处理,然后在使用Krylov子空间迭代,进行网络加速。
消元法
高斯消元法
- A可逆,并不能保证一定能进行高斯消元。所有顺序主子式均不为零,才能保证高斯消元。同时所有顺序主子式不为零,一定可逆,但是可逆不一定所有顺序主子式都不为零。
- 同时,主元位置的绝对值非常小的话,会带来很大的绝对误差,数值不稳定,所以高斯消元需要对数据进行处理。
小主元导致的计算失误
高斯列主元素消去法(期末考试要求之一)
- 考试时,会让你按列选主元,如果直接用线性代数消元法,只会有结论分。
- 也可以的交换列,但是要记住你换的那两列,然后将列恢复原来的数据
- 全选主元的高斯消元法,一般并不会使用,因为选取的范围太大了。
- 一般来说,高斯消元法都是按列选主元,不选主元,叫做高斯顺序消元法
高斯消元法例题(期末必考)
高斯消元法的优缺点
- 实际上解的矩阵是大规模稀疏矩阵。
减少fill-in现象(了解)
- fill-in现象:将矩阵中为零的行列变为非零的位置。
- 解决办法:最小度排序,尽量减少fill-in现象
矩阵分解
- 高斯消元的过程:将A分解成单位下三角矩阵L和上三角矩阵U,仅仅是LU分解的一个特例。但是简称LU分解默认是Doolittle分解。
Doolittle分解例题(本大题第一题,必考)
- 先做Doolittle分解,然后再代入公式进行计算
迭代法
前奏知识
向量范数(了解)
- 范数的三条准则
- 非负性:将任何结果映射为的非负数
- 齐次性:数乘仍旧相等
- 有限维空间上的任何两个范数都是等价的。数学上等价的,但是数值上未必是等效的。
- 向量序列收敛到一个向量:向量序列每一个分量都收敛到一个值,这些个值构成了一个向量。
- 下述为向量序列依分量收敛到向量的要求
矩阵范数(了解)
- 默认是关注方阵的范数
- 根据向量范数定义矩阵的范数,将矩阵A看成一个从Rn到R的线性映射。
- 谱范数:(A转置)乘以A,最终结果一定是实对称的,并且是半正定的(特征值大于等于零),谱范数是
- 列范数:每一列求和,并找出最大的一列
- 行范数:每一行求和,并取出最大的。
- F-范数:不是算子范数,并不是的通过向量的上确界诱导出来的
谱半径(重要)
- 任何一个n阶方阵,一定有n个特征值。但是n阶方阵的特征值不一定是实数,有可能是复数。
- 谱半径:每一个特征值取模,然后最大的模就是谱半径。所有算法的收敛性,都和谱半径有关。
- 谱半径不好算,通过矩阵的范数来计算谱半径,再通过谱半径来判定算法是否收敛。矩阵的任何一个范数,都是谱半径的上界。很重要的数学基础
- x是特征向量,非零向量。
方阵序列的收敛性(挺重要的,后面会用到,但是不会考)
- 方阵序列依分量收敛到对应方阵。
- 方阵A的k次幂收敛到零矩阵的条件,A的矩阵的任何一个特征值的模都小于1,然后最大的谱半径,就小于1.
- 定理二,关于谱半径收敛到零矩阵的最为重要
矩阵条件数(必考)
- 数值不稳定,数值只要有一点误差,会导致极大的误差
- 相对误差经过求解之后,放大了很多倍,下述称为病态的方程组。
- A和A的逆矩阵的如果相称给很大,有可能会放大误差。
- A是可逆矩阵,A的范数和A逆矩阵的范数的乘积为条件数
- 条件数并不是一个确定的数,不同的范数对应的条件数差异不大
- 条件数能够用来刻画差别,条件数的大小,用来决定方程是否病态。
条件数的性质
-
单位阵的条件数是1,并不会放大误差。
-
实数乘以条件数,并不会放大对应条件数。
-
如果A是对称的,其中一种特征根的计算方式为最大特征是比上最小特征值。
-
正交矩阵,特征值为模为1,所有正交矩阵的条件数都是一,正交矩阵乘以一个矩阵,条件数不变。
-
通过的条件数判定对应线性方程组的解,是否病态,是否能够对扰动进行有效规避。
-
很多情况下条件数计算不出来,因为A的逆矩阵计算不出来。
-
注意下述三个判定条件,通过这三个条件判定条件数,进而判定线性方程组是否为病态。
-
特征值虽然具体很难,但是估计还是很好做的,可以通过圆盘定理。n个特征值求不出来,但是可以判断对应位置。判定出最大是多大,最小是多小。
使用条件数判定方程组是否病态(了解)
构造迭代格式
- 针对大型稀疏矩阵作为稀疏矩阵,一般用迭代法,变为两个矩阵相乘或者相加。
- 迭代是收敛的,极限就是对应解。不是原来线性方程的准确解,而是解的精确近似
收敛性证明
- 谱半径小于1,是对于任意的初值都收敛。反命题,就是不一定对任意的值都收敛,如果第一次就猜到了解,就不用在进行迭代。而且如果谱半径不小于1,对于初值的要求很高。
- 谱半径不好算,通过范数来计算谱半径的大小。如果范数小于一,那么谱半径一定小于一。谱半径小于任何范数。
- 所以一般通过范数来计算对应谱半径,来判定是否是收敛的。
停机准则
Richardson迭代(必考)
- M是最简单的可逆n阶方阵,单位矩阵。但是M为单位阵,未必会很好的收敛。所以更一般的矩阵应该是数量矩阵(常数*单位矩阵)。
参数选择
- 这里是将α带入计算,然后确定ρ(B)。在谱半径中,最优值还可以看到条件数。对于正定矩阵而言,最优收敛速度,取决于矩阵A的条件数,
Richardson迭代样例
-
会求三阶方阵的特征值
-
矩阵求特征值
Jacobi迭代(必考)
- 比Richardson迭代中数值对角阵更加普遍,对角线元素可以是不相等,最理想的方式就是直接提取出M矩阵的对角线元素。
- 注意,Jacobi迭代是逐个变量进行的更新的。
Jacobi迭代的例题(必考)
- 考试要求:给你初值,然后仅仅迭代一次。
Gauss-seidel迭代(必考)
- 和Jacobi迭代近似,但是是使用每一次更新的最新值,局部使用最新值。
- G-S的矩阵分解
Gauss-Seidel迭代解方程组
收敛性证明补充——对角占优判定对应的矩阵
-
原来直接使用谱半径进行计算,或者使用范数进行计算,但是特征值很难计算,所以这里讨论直接看原始的系数矩阵A,或者在不计算出B的情况下,直接判定收敛性。
-
常规收敛性证明
- 通过范数或者谱半径来限定α的范围
- 主对角线的元素值,比当前行其他所有非主对角元素的绝对值求和大,就一定收敛
- 严格对角占优,一定是收敛的
- 严格对角占优和收敛性的关系
- 下述三个特征值,一个负数,两个正数,所以Richardson不收敛。
可约性()
- 关于若对角占优的矩阵的收敛性的判定。
- 排列矩阵:对于单位阵,通过交换行的操作得到的矩阵,就是排列阵。
- P是对单位阵交换两行的操作,PT是对单位阵进行交换两列的操作。对原来矩阵A的元素,重新进行排列。
- 可约性,对角块一定要是方阵,不是方阵不行,对于三乘三的矩阵,仅仅只有两种画法。
- 注意:是先交换列,然后在交换行
- 注意:矩阵中,一定要有两个零元素
- 若对角占优,不一定可以收敛。但是若对角占优,而且不可约,那么一定可以收敛。
对称正定性和收敛性(必考)
-
这里对称正定性仅仅是对GS矩阵进行收敛的,按时对于Jacobi不一定收敛。
-
对称正定:对称,并且对角线元素是正的。
-
2D-A:和A有相同的对角线元素,但是其他的元素会变成A的元素的相反数。
收敛性分析证明(例题,必考)
- 矩阵是对称矩阵
- 正定矩阵:所有顺序主子式大于零。
- A对称正定,所以是GS收敛
- 2D-A:Jacobi不是收敛的,因为2D-A不是正定的。
- 上三角,主对角元素就是特征值。
- Guass-Seidel和Jacobi一块收敛的情况下,Gauss-Seidel往往收敛更快。
JS方法和GS方法的比较
- Jacobi收敛速度慢,但是可以并行。GS型是收敛速度快的,但是只能串行