1、数值分析数值分析第二节 高斯消元法第三节 矩阵的三角分解法第四节 误差分析和解的精度改进第五节 大型稀疏方程组的迭代法第三章 线性代数方程组的数值解法n第一节 引言第六节 极小化方法数值分析数值分析线性代数方程组的一般形式( 1 )mnA x bAR 用 矩 阵 形 式 表 示 为其 增 广 矩 阵 记 为11 1 12 2 1 121 1 22 2 2 21 1 2 2nnnnm m m n n ma x a x a x ba x a x a x ba x a x a x b 1 1 1 2 1 12 1 2 2 2 212,nnm m m n ma a a ba a a bA A ba a
2、 a b 第一节 引 言数值分析数值分析A x b A A 线 性 方 程 组有 解 的 充 分 必结 论 1 ( 线 性 代 数 方 程 组要 条 件 是 : 秩 ( ) = 秩有 解 判 定 理(别 )( 1 ) ( ) ( ) ,A x bA A r n A x b 线 性 方 程 组 有 解 ( 即 相 容 ) 时 ,秩结 论 2秩 则 方 程 组 存 在 唯 一 解 。( 2 ) ( ) ( ) ,r A r A r n A x b 方 程 组 有 无 穷 多 解 。通 解 原 方 程 组 一 个 特 解 对 应 齐 次 方 程 组 的 基础 解 系 的 线 性 组 合 。222,
3、| | | | mi n | | | |mnA x bx x x x A x b常 见 是 , 称 为 欠 定 方 程 组 ( 方 程 数 少 于 未 知 数 )此 时 , 从 的 无 穷 多 个 解 中 需 求 出 范 数 最 小 的 解 。即 求 使 , 满 足 。数值分析数值分析22( ) ( )()| | | | m inr A r A Ax bmnb A R Axx b A x方 程 组 无 解 ( 即 不 相 容 ) 。常 见 是 , 称 为 超 定 方 程 组 ( 又 称 矛 盾 方 程 组 )此 时 , 向 量 不 在 的 列 空 间 之 中 , 原 方 程 组无 解 , 但
4、可 求 出 最 小 二 乘 意 义 下 的 解 。即 求 使MATLAB实现 : x=Ab1 1 1 1 2 2 1 12 1 1 2 2 2 2 21 1 2 2nnnnn n nn n nna x a x a x ba x a x a x ba x a x a x b 本 章 介 绍 求 解 阶 线 性 方 程 组 的 数 值 方 法数值分析数值分析数值求解方法有以下三条途径直接法:利用 Gauss消元或 矩阵分解,通过有限次运算可求出精确解。迭代法:构造迭代格式,产生迭代序列,通过无限次迭代过程求解。有限次截断得近似解。极小化方法:构造二次模函数,用迭代过程求二次模函数的极小化问题,即变
5、分法(经 n次运算,理论上得精确解)要求 A对称正定 (S.P.D)数值分析数值分析用增广矩阵表示为同解初等变换组化为同解的上三角方程将原方程组求解gUxbAxgUxbAxRAbAxnn第二节 高斯消元法数值分析数值分析三角形方程组包括上三角形方程组和下三角形方程组 , 是最简单的线性方程组之一 。 上三角方程组的一般形式是 :),2,1(0.111112222211212111niabxabxaxabxaxabxaxaxaiinnnnnnnnnnnnnnn其中一、三角形方程组的解法数值分析数值分析1 2 42 3 43444573 1 3 1 31 3 1 3x x xx x xxxx 用
6、回 代 法 求 解 线 性 方例 程 组4342 4 31 4 21 2 3 41( 13 13 ) / 3 0( 7 5 ) ( 7 5 0 ) 24 4 1 2 1, , , ) ( 1 , 2, 0:, 1 )TTxxxx x xx x xx x x x 所 以 , 解 为 (解数值分析数值分析1/( ) / 1 , , 1n n n nni i ik k iikix b ax b a x a i n 为求解上三角方程组,从最后一个方程入手,先解出 xn=bn/ann, 然后按方程由后向前的顺序,从方程中依次解出 xn-1,xn-2,x 1。 这样就完成了上三角方程组的求解过程。这个过程
7、被称为回代过程其计算步骤如下:1 1 1 1 2 2 1 12 2 2 2 21 1 1 1 1. . .0 ( 1 , 2, , )nnnnn n n n n n nnn n niia x a x a x ba x a x ba x a x ba x ba i n 其 中数值分析数值分析function X=backsub(A,b)%Input A is an n n upper- triangular nonsingullar matrix% -b is an n 1 matrix%Output X is the solution to the system AX=b函数名返回变量 参数表
8、n=length(b);X=zeros(n,1);X(n)=b(n)/A(n,n);for i=n-1:-1:1X(i)=(b(i)-A(i,i+1:n)* X(i+1:n)/A(i,i);endA的第 i行、第 i+1到 n列元素构成的行向量1/( ) / 1 , , 1n n n nni i ik k iikix b ax b a x a i n 数值分析数值分析1 2 42 3 43444573 1 3 1 31 3 1 3x x xx x xxxx 求 解 上 三 角 方 程 组例4: 1x 解2 2x 122333230xxxxx 3 0x 12232xxx 11 2 3 41, ,
9、 , ) ( 1 , 2 , 0 , 1 )TTxx x x x所 以 , 解 为(数值分析数值分析for i= n : 1 : 2b ( i ) = b ( i ) / A ( i , i );b (1: i - 1 ) = b (1: i - 1 ) - b ( i ) *A (1: i - 1 , i ) ;endb ( 1 ) = b ( 1 ) / A ( 1 ,1 );求解上三角方程组 Ax=b12111 ) ( 1 )211 ) ( 1 )2ninin i n ni n n n 求 解 一 个 三 角 形 方 程 组 需 次 除 法 , ( 次 乘 法 ,( 次 加 法 。 总
10、计 算 量 约 为 。数值分析数值分析1121 2 32223 2 4 9xxxx x x 用 回 代 法 求 解 线 性 方 程 组例1231 2 32 / 2 1( 2 1 ) / 1 1( 9 3 1 2 1 ) / 4 1, , ) ( 1 , 1 , ):1xxxx x x 所 以 , 解 为 (解数值分析数值分析121 1 1 111, , , ,/( ) / ( 2, 3, , )nii i ik k iikx x xx b ax b a x a i n 下 三 角 形 方 程 组 可 以 参 照 上 三 角 形 方 程 组 的 解 法 来 求 解 ,下 三 角 形 方 程 组
11、的 求 解 顺 序 是 从 第 一 个 方 程 开 始 , 按 从 上 到 下的 顺 序 , 依 次 解 出 : 其 计 算 公 式 为 :如 上 解 三 角 形 方 程 组 的 方 法 称 为 回 代 法 .1 1 1 12 1 1 2 2 2 21 1 2 20, 1 , 2, ,n n nn n niia x ba x a x ba x a x a x ba i n 下三角方程组的一般形式为:其中数值分析数值分析高斯消元法是一个古老的直接法 ,由它改进得到的选主元法 ,是目前计算机上常用于求低阶稠密矩阵方程组的有效方法 ,其特点就是通过消元将 一般线性方程组 的求解问题转化为 三角方程组
12、 的求解问题。高斯消元法的求解过程 ,可大致分为两个阶段 :首先 ,把原方程组化为上三角形方程组 ,称之为 “ 消元 ”过程 ;然后 ,用逆次序逐一求出上三角方程组 (原方程组的等价方程组 )的解 ,称之为 “回代”过程 .高斯 “ 消 元 ”过程 可通过矩阵运算来实现。具体过程如下:二、顺序高斯消元法数值分析数值分析1 2 31 2 31 2 32 3 62 3 4 9313 2 6G a ussx x xx x xx x x 用 顺 序 消 元 法 求 解 方例 程 组11/1/21/2/01,362319432632111313111212111)1(aamaamanbAA增广矩阵:解:
13、1112 1 , :11L A x L b1L = , 完 成 第 一 步 消 元 得数值分析数值分析( 2 ) ( 2 ) ( 2 )2 2 3 2 3 2 2 22 2 1 2 11 0 , / 1 /( 1 ) 111,11a m a aL L L Ax L L b =, 完 成 第 二 步 消 元 得3332632332321xxxxxx3231 2 31 2 33 / 3 1( 3 2 ) ( 3 2 1 ) 16 2 3 6 2 1 3 1 11 , 1 , 1xxxx x xx x x 回 代 求 得故 所 求 解 为011032106321)2(A330032106321)3(
14、A数值分析数值分析将方程组 Ax=b的系数矩阵与右端项合并为 1 1 1 2 1 12 1 2 2 2 212,nnn n nn na a a ba a a bA b Aa a a b( 1 ) ( 1 ) ( 1 )1 1 1 1(1) ( 1 ) ( 1 ) ( 1 ) ( 1 )12( 1 ) ( 1 ) ( 1 )1., , . . . , ,.nnn n n na a bA A ba a b 记 ( 1 ) ( 1 )1( 1 )1 1 1 1 1, , 0 , . . . , 0 .TAL L a 对 的第一列 构造使1( 1 ) 11 1 1 1110 , , 2 , . . .
15、 ,ii aa m i na ()():设 取第一步2111111nmLm数值分析数值分析( 1 ) ( 1 ) ( 1 ) ( 1 )1 1 1 2 1 1( 2 ) ( 2 ) ( 2 )( 1 ) ( 2 )( 2 ) ( 2 ) ( 2 ) ( 2 )2 2 2 21 1 2( 2 ) ( 2 ) ( 2 )2.0 . . ., , . . . , ,0 . . .nnnn n n na a a ba a bL A A ba a b ( 2 ) ( 1 ) ( 1 )11( 2 ) ( 1 ) ( 1 )112 , , , 2 , , 2 , ,i j i j i ji i ia a
16、m a i n j nb b m b i n ( 1 ) ( 1 )1( 1 ) ( 1 )11A x b LL A x L b对 方 程 组 从 左 边 乘 以( 1 ) ( 1 ) ( 1 )1 1 1 1( 1 ) 211( 1 ) ( 1 ) ( 1 )111.1.1nn nn nna a bmLAa a bm 数值分析数值分析( 2 )( 2 ) 22 2 2 ( 2 )220 3 , . . . ,ii aa m i na :设 , ,第二步 取( 2 )( 2 )32222( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 )11 12 13 1 , 1( 2 ) ( 2 )
17、 ( 2 ) ( 2 )22 23 2 , 2( 2 ) ( 1 )( 3 ) ( 3 ) ( 3 )( 3 )2 2 1 33 3 , 3( 3 ) ( 3 ) ( 3 )3,111 ,100000nnnnn n n nmALma a a a ba a a bL A L L A a a Abaa b -对 的第二列 构造-使数值分析数值分析( 2 )22 ( 2 )22,ii am a( 1 ) ( 1 )2 1 2 1L L A x L L b( 3 ) ( 2 ) ( 2 )22( 3 ) ( 2 ) ( 2 )22, , 3 , ,3 , 4 , . . . ,i j i j i ji
18、 i ia a m a i j nb b m b i n ( 1 ) ( 1 ) ( 1 ) ( 1 )11 12 1 1( 2 ) ( 2 ) ( 2 )( 2 )22 2 2322( 2 ) ( 2 ) ( 2 )22( 1 ) ( 1 ) ( 1 ) ( 1 )11 12 13 1 ,( 2 ) ( 2 ) ( 2 )22 23 2 ,( 3 ) ( 3 )33 3 ,(331.10 .10 .100000nnn nn nnnnnna a a ba a bmLAa a bma a a aa a aaaa -( 1 )1( 2 )2( 3 )( 3 )3) ( 3 ) ( 3 ),nn n
19、bbAba b数值分析数值分析进行到第 k步消元时( ) ( 1 ) ( )k k kA A A k下 一 步 消 元 , 从 , 将 的 第 列 的 对 角 元以 下 的 元 素 化 为 零 。( 1 ) ( 1 ) ( 1 ) ( 1 ) ( 1 )11 12 13 1 1( 2 ) ( 2 ) ( 2 ) ( 2 )22 23 2 2( 3 ) ( 3 ) ( 3 )33 3 3()( ) ( ) ()1( ) ( ) ()1 , 1 , 1 1( ) ( ) ( ) (),1. . . . . . . . .nnnkkk kkk kk kkk kk k k k kk k k knk n
20、 k nn na a a a ba a a baa bAaa baa ba a a b 数值分析数值分析()()()0,( 1 , ., )kk ikkk k ikkkkaamai k nG a uss L设取,构造 变换阵,111111TkkkknkI l emm ( 1 ) ( )kkkA L A 消元计算递推公式:()( 1 , 2 , , 1 )kkkakn称为主元素.( ) ( )( 1 ) ( ) ( )( 1 ) ( ) ( )1 , ,1/2 1 , ,3kkik ik k kk k kij ij ik k jk k ki i ik ki k nm a aa a m a j k
21、 nb b m b ()( ) ,()数值分析数值分析( 1 ) ( 1 ) ( 1 ) ( 1 )1 1 1 1 2 2 1 1( 2 ) ( 2 ) ( 2 )2 2 2 2 2( ) ( )nnnnnnnn n na x a x a x ba x a x ba x b 即用回代过程求解上三角方程组,即可得解向量( x1*,x2*, ,x n* )T.是高斯消元的前提。)1,2,1(,0)( nka kkk ( 1 ) ( 1 )1 2 1 1 2 1nnL L L A x L L L b ( 1 ) ( 1 ) ( 1 ) ( 1 )1 1 1 2 1 1( 2 ) ( 2 ) ( 2
22、)() 2 2 2 2( ) ( )000nn nnnnn na a a ba a bAab最后得数值分析数值分析求解的全过程包括两个步骤:消元和回代1 .顺序消元2 . 回代求解( ) ( )( ) ( ) ( )1/( ) / , 1 , 2 , , 1nnn n n nnk k kk k k j j k kjkx b ax b a x a k n n ( ) ( )( 1 ) ( ) ( )( 1 ) ( ) ( )1 , , 11 , ,1/2 1 , ,3kkik ik k kk k kij ij ik k jk k ki i ik kkni k nm a aa a m a j k
23、nb b m b ()( ) ,()数值分析数值分析步消元计算后,第的二维数组存放一个用用动态存储方式。最初在计算机中计算时,采存储方式kAnn ),1;,1(),1()1()()(nkjnkiaankimakijkijikkik)()(1,)()(1,1)(,1)(1)()3(3)3(33)2(2)2(23)2(22)1(1)1(13)1(12)1(11)(.knnkknknkkkkkkkkkkkkknnnkaaaaaaaaaaaaaaaaAikm)1( kija数值分析数值分析UIL 消元过程全部完成后,原来的二维数组中存放的元素实际上是一个新的矩阵,记为FAFAA 用动态形式表示为)(1
24、,321)3(3)3(1,3)3(333231)2(2)2(1,2)2(23)2(2221)1(1)1(1,1)1(13)1(12)1(11nnnnnnnnnnnnnnFammmmaaammaaaamaaaaaA数值分析数值分析function X=gauss(A,b)%Input A is an n n nonsingullar matrix% -b is an n 1 matrix%Output X is the solution to the system AX=bMATLAB For Gaussian Eliminationn n=size(A); % 确定 A的维数X=zeros(n
25、,1);for k=1:n-1for i=k+1:n % 消元过程A(i,k) =A(i,k)/ A(k,k); % A(k,k) 0A(i,k+1:n)= A(i,k+1:n)- A(i,k) *A(k,k+1:n);b(i)= b(i)- A(i,k) *b(k);endendX=backsub(A, b); %回代求解数值分析数值分析高斯消元法的计算量分析3321 3 3 3n n nNn 加减法计算量 为乘除 法计算量 为31 ( 1 ) ( 2 5 ) / 6 3nN n n n 高斯消元法的计算量 约 为 323n数值分析数值分析定理 3 - 1 ),2,1()(nkakkk 全不为零 的充分必要条 件是 A 的顺序主子式 kD 全不为零,即 ),.2,1(,0 nkD k 。 )()2(22)1(11)()2(2)2(22)1(1)1(12)1(111111.kkkkkkkkkkkkkaaaaaaaaaaaaaD 证明 : 由于对系数矩阵 A 的消元计算不改变 A 的行列式的值, 因此 A 的顺序主子式为 当 ),2,1(0)( nka kkk 时,显然 ),.2,1(,0 nkD k , 必要性得证。 用归纳法证充分性。