Cht线性方程组的直接解法.ppt
文本预览下载声明
依方程组 (2.21) 及 b =Ax , 可得 又 在上面最后一式两端,同时左乘 A-1 ,得 再估计范数,有 ■ 用不等式放! 结论 (2.22) 可写成: 由此可以看出,量 ||A|| ? ||A-1|| 越小,由A (或 b)的相对误差引起的解的相对误差|| △x || / || x ||就越小 ;量 ||A|| ? ||A-1|| 越大,解的相对误差就可能愈大,所以量 ||A|| ? ||A-1|| 实际上刻划了解对原始数据变化的灵敏程度,即刻划了方程组的“病态”程度。 ?误差分析 定义 对于可逆矩阵 A,称 ||A|| ? ||A-1|| 为 A 的条件数,记作 cond(A) = || A || ? || A-1 || . 矩阵的条件数与所取的范数有关,常用的条件数是 cond(A)∞ = || A || ∞ ? || A-1 || ∞ , cond(A)1 = || A || 1 ? || A-1 || 1, cond(A)2 = || A || 2 ? || A-1 || 2 . 定义 若可逆矩阵 A 的条件数 cond(A) 相对很大,则称A是病态矩阵,相应的方程组Ax =b叫病态方程组;反之,称二者是良态的。 条件数的性质 cond(A) = || A || ? || A-1 || (1) 对任何可逆阵 A,cond(A) ≥1. (2) A 是可逆阵, k ≠0,则 cond(kA) = cond(A). (3) A 可逆实对称阵,则 cond(A)2 = | l1 | ∕ | ln |. 其中, l1 和ln 分别是 A 的模最大和最小的特征值。 (4) A 正交阵,则有 cond(A)2 = 1。 (5)设A为可逆阵 ,P为正交阵,则有 cond(PA)2 = cond(AP)2 = cond(A)2 例4 设线性方程组 Ax = b 为 (1) 求 cond(A)∞ 和 Ax = b 的解 x 。 (2) 设 b +△b =(2.0001, 2)T, 求 A( x +△x) = b +△b 的解 x +△x . (3) 计算 解 (1) 常数向量 b 的微小相对误差,引起了解 x 的很大相对误差。 原因是条件数很大,方程组的病态严重! 例5 设线性方程组 Ax = b 为 (1) 求 cond(A)∞ (2) 在八位十进制的限制下,用列主元素消去法求解. 解 (1) (2) 方程组的精确解 解的相对误差 方程组的病态很严重! n 愈大,病态愈严重 ?常见的病态矩阵: n阶希尔伯特Hilber矩阵. 2.3.2 关于病态线性方程组的求解问题 1. 病态方程组的判别 (1) 当 |det(A)| 相对很小或 A 的某些行(列)近似线性相关时,方程组可能病态. (2) 用列选主元素消去法求解方程组,若出现列主元素远远小于1,方程组可能病态. (3) 用 b 和 △b (范数较小)作方程组的常数向量,求解 Ax =b, Ax* =b+△b, 若 x 和 x* 相差很大,方程组可能病态. (4) 系数阵 A 的元素数量级差别很大,方程组可能病态. 例如 对应的方程组 Ax=b 是病态的。但是,方程组 Bx=b 是良态的。矩阵 B 如下: 2. 病态方程组的求解方法 (1) 采用高精度算术运算,可以减轻病态矩阵的影响. (2) 当系数阵 A 的元素数量级别差别很大时,采用平衡法可降低条件数。 设 Ax =b 的系数阵 A 非奇异, 平衡法: 计算 令 做方程组 DAx = Db,则此方程组与原方程组同解。 例 同解方程组 DAx = Db 为 方程组 DAx = Db 是良态的。 (3) 残差校正法 设A非奇异且条件数不是太大,方程组病态不是不特别严重。这时可用残差校正法。 原理:设 是 Ax=b 的近似解,计算残差 求解方程组 A△x= r , 得到 的修正量△x ,令 则 是经过校正的解向量。如果 r ,△x 及 都是精确的,那么,有 即, 是原方程组的精确解。 * (2) 求 Qb. 对于 k = 1,2,…,n-1 执行 . (2.1) 令 t = Mk. (2.2) 交换 bk 与 bt 所含数据。 矩阵 L,U 中的元素 (3) 求解方程组 Ly = Qb 和 Ux = y . 例:用选主元的杜利脱尔(Doolittle)分解解方程组 解:设 P4
显示全部