收藏 分享(赏)

第三章线性方程组数值解法.ppt

上传人:tkhy51908 文档编号:12357342 上传时间:2021-12-11 格式:PPT 页数:77 大小:681KB
下载 相关 举报
第三章线性方程组数值解法.ppt_第1页
第1页 / 共77页
第三章线性方程组数值解法.ppt_第2页
第2页 / 共77页
第三章线性方程组数值解法.ppt_第3页
第3页 / 共77页
第三章线性方程组数值解法.ppt_第4页
第4页 / 共77页
第三章线性方程组数值解法.ppt_第5页
第5页 / 共77页
点击查看更多>>
资源描述

1、第3章线性方程组的数值解法 1高斯消去法 2高斯 约当消去法 3解实三对角线性方程组的追赶法 4矩阵的三角分解 5行列式和逆矩阵的计算 6迭代法 7迭代法的收敛性 实际中 存在大量的解线性方程组的问题 很多数值方法到最后也会涉及到线性方程组的求解问题 如样条插值的M和m关系式 曲线拟合的法方程 求解非线性方程组问题 方程组的Newton迭代等问题 对线性方程组 或者 我们有Gram法则 当且仅当 时 有唯一的解 而且解为 3 1 3 1简介 但Gram法则不能用于计算方程组的解 如n 100 1033次 秒的计算机要算10120年 解线性方程组的方法可以分为2类 直接法 准确 可靠 理论上得到

2、的解是精确的 但由于计算中有舍入误差 故得到的也是近似解 迭代法 速度快 但有误差 雅可比迭代法 高斯 赛得尔迭代法 3 2消元法 我们知道 下面有3种方程的解我们可以直接求出 n次运算 n 1 n 2次运算 n 1 n 2次运算 对方程组 作如下的变换 解不变 交换两个方程的次序 一个方程的两边同时乘以一个非0的数 一个方程的两边同时乘以一个非0数 加到另一个方程 因此 对应的对增广矩阵 A b 作如下的变换 解不变 交换矩阵的两行 某一行乘以一个非0的数 某一行乘以一个非0数 加到另一行 消元法就是对增广矩阵作上述行的变换 变为我们已知的3种类型之一 而后求根 步骤如下 第一步 运算量 n

3、 1 1 n 运算量 n 2 1 n 1 n 2 n 第二步 第k步 类似的做下去 我们有 运算量 n k 1 n k 1 n k n k 2 n 1步以后 我们可以得到变换后的矩阵为 因此 总的运算量为 加上解上述上三角阵的运算量 n 1 n 2 总共为 注意到 计算过程中 处在被除的位置 因此整个计算过程要保证它不为0 所以 Gauss消元法的可行条件为 因此 有些有解的问题 不能用Gauss消元求解 另外 如果某个 很小的话 会引入大的误差 高斯主元素消元法是消去法的一种改进 它的基本思想是在逐次消元时总是选绝对值最大的元素 称之为主元 做除数 按消元法的步骤消元 这里主要介绍求解线性方

4、程组最常用的列主元素消去法列主元素消去法所谓列主元素消去法就是在每一步消元过程中取系数子矩阵的第一列元素中绝对值最大者作主元 对线性方程组 3 1 进行n 1次消元后 可得到上三角形方程组 2 列主元消元法 在Gauss消元第k步之前 做如下的事情 若 交换k行和j行 行的交换 不改变方程组的解 同时又有效地克服了Gauss消元的缺陷 例 Gauss全主元消去法 优点 计算结果更可靠 缺点 挑主元花机时更多 次序有变动 程序复杂 说明 1 也可采用无回代的列主元消去法 叫Gauss Jordan消去法 但比有回代的列主元消去法的乘除运算次数多 2 有回代的列主元消去法所进行的乘除运算次数为 量

5、很小 总结1 高斯消去法的计算步骤为 1 消元过程对于k 1 2 n 1 若按顺序有某一ark 0 r k 则交换k与r行 然后计算 2 回代过程对于k n n 1 2 1 计算 例1用列主元素消去法解方程组 2 列主元消元法 1 消元过程 对k 1 2 n 1 1 选主元 确定r 使得 2 回代过程 若 则停止计算 否则进行下一步 2 交换A的r k两行 3 对i k 1 n 对j k 1 n 1计算 3 矩阵直接分解法 高斯消元法的矩阵解释 Gauss消元法的第k步 k 1 2 n 1 从矩阵理论来看 相当于左乘矩阵 见P52 55 Lk 因为 则矩阵Lk可逆 且 因此 整个Gauss消元

6、法相当于左乘了一个单位下三角阵 所以有 L为单位下三角阵 令U为上三角阵 因此 我们可以通过2次反代过程求解方程组 把A分解为单位下三角L和上三角U的乘积叫做A的LU分解 其中高斯消元法是实现LU分解的一种方法 L1 1 Ln 1 1 求出y 求出x 比较第2行 比较第2列 比较第k行 比较第k列 K 1次 K 1 1次 分解过程完毕 加上两次反代过程 总运算量为 存储在矩阵的原来位置 且不影响计算 紧凑格式 P62 63 3 解实三对角线性方程组的追赶法 实三对角线性方程组是一类特殊的方程组 我们将利用所谓 追赶法 解决 设所给的实三对角线性方程组为 其中 a1 c1 0 ak bk ck

7、bkck 0 k 2 3 n 1 an bn 0则三对角矩阵A的各阶主子式都不等于0 也即A为非奇异 用数学归纳法证明 令A的k阶主子式为 k 2 a1a2 b2c1 0其中 因为 所以方程式 3 26 右端的k 1阶行列式满足假设的条件 由此可得 k 0 即矩阵A的各阶主子式都不等于0 由于实三对角线性方程组的系数矩阵A为非奇异 则有唯一的一组解 下面来求解 从方程组 3 25 的第一个方程解得 令 3 27 3 28 将式 3 28 代入 3 25 式的第二个方程解出x2 3 29 令 则 再将 3 29 式代入 3 25 式的第三个方程解出x3 一般有xk uk vkxk 1 k 1 2

8、 n 1 3 30 其中 k 2 3 n 1 3 31 当k n时 因为bnxn 1 anxn rn又xn 1 un 1 vn 1xn于是 3 32 例3解线性方程组 解依公式 3 27 3 31 求得 v3 0 一般v3不必算 再由式 3 32 3 30 求得方程组的解 图3 3 图3 3 所以 有计算过程如下 1 若A为非奇异阵 且A LU 则分解不唯一 2 若A的所有顺序主子式 0 则A可分解为一个单位下三角阵L和上三角阵U之积 且分解唯一 3 对n n阶矩阵A存在唯一的LDU分解的充分必要条件是A的各阶主子矩阵A1 A2 An均是非奇异的 4 n n阶矩阵A非奇异的充要条件为A 或A经

9、过行列交换后 存在LDU分解 3 4向量范数与矩阵1 向量范数在三维空间中 常用三种方法来衡量一个向量r x y z T的 长度 即 这种衡量的方法可推广到n维向量x x1 x2 xn T也即我们下面介绍的向量范数 定义1设n维向量x Rn 记对应向量x的一个实数为 x 若 x 满足下面三个性质 1 非负性 即 x 0 当且仅当 x 0时 x 0 2 齐次性 cx c x c为任意实数 3 三角不等式性 x y x y y Rn 则称该实数 x 为向量x的范数 在Rn中 常用的几种向量范数有 2 矩阵范数在数值计算中 为了进行某种估计 常常要比较不同向量的范数 向量有时以Ax的形式出现 其中A

10、为n n阶矩阵A aij n n这就需要寻求 x 和 Ax 之间的某种关系 我们希望有 Ax C x 其中C为某一非负实数 它与x无关 只与A有关 为此只要取 即可 因为 仍记为 定义2设A为n n阶矩阵 定义 为矩阵A的范数 对应于3种常见的向量范数 有3种矩阵范数 列元素绝对值的和的最大值 学生自己做 列元素绝对值的和的最大值 学生自己做 是ATA的谱半径 证 为A的按模最大的特征值 x为相应的特征向量 证毕 易知 定理3 1 3 5迭代法 3 5 1简单迭代法设所给的线性方程组为Mx g 5 1 其中 且系数矩阵M为非奇异 g 0 将方程组 5 1 改写成等价形式x Ax f 5 2 这

11、种改写的方法很多 例如将M分解为两个矩阵之差M B C其中矩阵B可逆 于是方程组 5 1 成为Bx Cx gx B 1Cx B 1g令A B 1C f B 1g 即得 5 2 式 当然选取的B应该便于求逆 如B为单位矩阵或对角矩阵等 对任意给定的初始向量x 0 根据 5 2 构造迭代公式x k 1 Ax k f k 0 1 2 5 3 这里A称为迭代矩阵 用分量形式可写成 5 4 算出迭代公式 5 3 的解的各次近似值x 1 x 2 x k 这种迭代求解的方法称为简单迭代法 式 5 3 称为简单迭代公式 特别当M的对角元素均不为零且按绝对值来说较大时 常取 则A D 1C f D 1g 例1用

12、简单迭代法解下列方程组 解将方程组写成等价形式 取初始值x 0 0 按迭代公式 表3 1 图3 8 定理3 3对于任意初始向量x 0 和常数项f 由迭代公式x k 1 Bx k f k 0 1 2 收敛的充要条件是 B 1 注 一般谱半径很难求 由于 B B 故可用 B 来作为 B 的一种估计 定理3 2若迭代矩阵B的范数 B 1 则迭代公式x k 1 Bx k f收敛 且有误差估计式 证明 P72 73 k 1 2 3 例6P73 3 5 2雅可比 Jacobi 迭代法 在Ax b 中当A的aii 0时 A D C 取D 则C D 1 B D 1C f D 1b 则由x Bx f得到的迭代公

13、式 见P75 5 12 再把C分解为C 分别为严格下三角和严格上三角 迭代矩阵为 3 5 3赛德尔 Seidel 迭代法逐次用前面算出的新分量来计算下一个分量 这就是赛德尔迭代法的基本思想 设方程组 3 1 的等价形式为x Ax f将矩阵A分解为A B C其中 于是x Bx Cx fx k 1 Bx k 1 Cx k f k 0 1 2 例用赛德尔迭代法解方程组 解将原方程组写成等价形式并按 3 75 构造赛德尔迭代公式 表3 2 由式 3 75 可得 I B x k 1 Cx k f因为矩阵I B是非奇异矩阵 则I B可逆 所以迭代公式 3 75 可写成x k 1 I B 1Cx k I B

14、 1f k 0 1 2 3 77 这里迭代矩阵A I B 1C由此看出 对方程组 3 70 用公式 3 75 作赛德尔迭代相当于对方程组 3 70 用 3 77 式作简单迭代 因此 赛德尔迭代法实际上是某种简单迭代法 例1 给定线形方程组 问用雅可比迭代法和赛得尔迭代法求解是否收敛 例2 设线形方程组 1 证明用雅可比迭代法和赛德尔迭代法解此方程组要么同时收敛 要么同时发散 2 当同时收敛时试比较其收敛速度 例3 给定线形方程组 Ax b 其中A 证明雅可比迭代法发散 而赛得尔迭代法收敛 松驰法赛德尔迭代公式 3 75 为x k 1 Bx k 1 Cx k f现令 x x k 1 x k Bx

15、 k 1 Cx k f x k 于是x k 1 x k x 3 78 x k 1 可以看作在向量x k 上加修正项 x而得到 若在修正项的前面加上一个参数 便得到松驰法的迭代公式x k 1 x k x 1 x k Bx k 1 Cx k f k 0 1 2 3 79 或者用分量形式写成 3 80 其中 叫做松驰因子 当 1时叫超松驰 1时叫低松驰 1时就是赛德尔迭代法 松驰因子 的选取直接影响到松弛法的收敛性 因为 I B 1存在 所以还可以把 3 79 改写成x k 1 I B 1 1 I C x k I B 1f 3 81 这是简单迭代公式 迭代矩阵为A I B 1 1 I C 实际上 赛德尔迭代法或松弛法都是某种简单迭代法 它们仅是迭代矩阵A不同 5 4条件数和病态矩阵 注意到 因为 条件数 很小 条件数表示了对误差的放大率 同样 类似有 注 一般判断矩阵是否病态 并不计算A 1 而由经验得出 行列式很大或很小 如某些行 列近似相关 元素间相差大数量级 且无规则 主元消去过程中出现小主元 特征值相差大数量级 精确解为 A 1 解 考察A的特征根 39206 1 测试病态程度 此时精确解为 2 0102 200 为对称矩阵

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报