2.3直接三角分解法

合集下载

线性方程组的几种求解方法

线性方程组的几种求解方法

甘肃政法学院本科学年论文(设计)题目浅议线性方程组的几种求解方法学号:姓名:指导教师:成绩:__________________完成时间: 2012 年 11 月目录第一章引言 (1)第二章线性方程组的几种解法 (1)2.1 斯消元法 (1)2.1.1 消元过程 (1)2.1.2 回代过程 (2)2.1.3 解的判断 (2)2.2 克莱姆法则 (3)2.3 LU分解法 (4)2.4 追赶法 (6)第三章结束语 (8)致谢 (8)参考文献 (9)摘要:线性方程组是线性代数的核心内容之一,其解法研究是代数学中经典且重要的研究课题.下面将综述几种不同类型的线性方程组的解法,如消元法、克莱姆法则、直接三角形法、、追赶法,并以具体例子介绍不同解法的应用技巧. 在这些解法中,高斯消元法方法,具有表达式清晰,使用范围广的特点.另外,这些方法有利于快速有效地解决线性方程组的求解问题,为解线性方程组提供一个简易平台,促进了理论与实际的结合。

关键词:线性方程组;解法;应用Several methods of solving linear equation groupAbstract: The system of linear equations is one of linear algebra core contents, its solution research is in the algebra the classics also the important research topic. This article summarized several kind of different type system of linear equations solution, like the elimination, the Cramer principle, the generalized inverse matrix law, the direct triangle law, the square root method, pursue the law, and by concrete example introduction different solution application skill. In these solutions, the generalized inverse matrix method, has the expression to be clear, use scope broad characteristic. Moreover, these methods favor effectively solve the system of linear equations solution problem fast, provides a simple platform for the solution system of linear equations, promoted the theory and the actual union.Key word: Linear equations; Solution ; Example第一章 引言线性方程组理论是高等数学中十分重要的内容,而线性方程组的解法是利用线性方程组理论解决问题的关键.下面将介绍线性方程组的消元法、追赶法、直接三角形法等求解方法,为求解线性方程组提供一个平台。

数值分析课程课件 直接三角分解方法

数值分析课程课件  直接三角分解方法


u22
u11
u2n



l n1 l n2
1

unn


a11 a12 a 21 a22
a1n
a2n


u11 l21u11
u12 l21u12 u22
u1n

l21u1n

u2n


a n1 a n2
ann
ln1u 11
由(5.3.1)- (5.3.4)求得L和U后,解方程组Ax=b 化为求解LUx=b,若记Ux=y,则有Ly=b。于是可分两部解 方程组LUx=b,只要逐次向前代入的方法即可求得y。第
二步求解Ux=y,只要逐次用向后回代的方法即可求得x。 设 x=(x1 ,x2, ···xn) T, y=(y1, y2, ···yn) T,
n

i1
lniuin

unn

第四章方程组的直接解法
由A的第1行和第1列可计算出U的第1行和L的第1列,即
u1 j a1 j , j 1, 2, , n,
(5.3.1)
lk1

ak1 u11
,k

2, 3,
, n.
(5.3.2)
如果U的第1至k-1列和L的第1至k-1列已经算出,则由
解 设 A=LU,即
l11 a11 1, l21 a21 2, l31 a31 0
u12

a12 l11
2, u13

a13 l11
1,

l22 a22 l21u12 3, l32 a32 l31u12 1

用直接三角分解法解线性方程组

用直接三角分解法解线性方程组

三角阵。等式左边是单位下三角阵,右边是上三角阵,要使等式
成则立L , L只1 ,能U等于U单1,位即矩此阵三I。角于分是解L唯1一L1。
UU
1 1
I,
1 2 1
1 2 1
例7 解:
设 A 3 7
1
,试将A进行三角分解。
1 1 3
由高斯消去法得到
m21
3 1
3,m31
1 1
1
m 32
L1
1 1
0 0 1 2
例:

0 1 2
0 1 0
3 0 1
103的PLU分 解 。
解:用1,2, ,n的排列表示n阶置换阵P,其中排列的第i个元素
j,表示P的i行非零元素位于j列。则分解过程如下:
1 0 0 1 2
3 1 1 0 1
3 1 1 0
2 0
43
1 2
0 1 0
3 0 1
0 1 3
Ux j y j
Ly
j
bj
n1
k
n(n 1)
n2
n 次乘法
k 1
2
22
Ux j y j n k n(n 1) n2 n 次乘除法
k 1
2
22
即共需n 2 次乘除法运算。
n 2 次 乘 除 法
三角分解法的存放元素的方法:
以A (a ij )33 为例,
a11 A a21
1 mk1,k 1
k,
Lk1
1 mk1,k 1
k
mnk
1
mn,k
1
A ( L11 L21
L1 n1
)U
LU,1
a (1) 11

2010版数值分析教学大纲(最新)

2010版数值分析教学大纲(最新)

《数值分析》课程教学大纲课程代码:090141031课程英文名称:Numerical Analysis课程总学时:64 讲课:64 实验:0 上机:0适用专业:信息与计算科学专业大纲编写(修订)时间:2010.07一、大纲使用说明(一)课程的地位及教学目标《数值分析》是为信息与计算科学专业学生开设的必修课。

在实验方法和理论方法之后,科学计算已成为科学研究的第三种方法。

学习和掌握计算机上常用的数值计算方法已成为现代科学教育的重要内容。

通过本课程的学习,使学生了解和掌握这门课程所涉及的各种常用的数值计算公式、数值方法的构造原理及适用范围,为今后用计算机去有效地解决实际问题打下基础。

通过本课程的学习,学生将达到以下要求:1.掌握数值计算的基本理论和基本方法,提高数学素养;2.具有运用Matlab等工具进行具有一定难度和复杂度的数值解运算的技能,提高应用计算机进行科学与工程计算的能力;3.树立正确的算法设计理念;4.了解数值计算方法的新发展。

(二)知识、能力及技能方面的基本要求1.知识方面的基本要求:掌握算法的基本原理和思想,包括算法的构造、算法处理的技巧、误差分析、收敛性和稳定性等基本理论。

2.基本理论和方法:误差与有效数字定义、函数插值与逼近的方法、积分与微分的数值计算方法、线性方程组的直接解法、线性方程组的迭代法、非线性方程根的求解方法、常微分方程初值问题的数值解法等3.基本能力:使用各种数值方法解决实际计算问题。

不仅要学会“怎样算”,而且必须做到“真会算”,即不仅要知道问题的解是存在的,还必须能求出具体的结果。

具有应用计算机进行科学与工程计算和解决实际问题的能力。

(三)实施说明1.教学方法:课堂讲授中要重点对算法的构造、算法处理技巧和误差分析的讲解;采用启发式教学,培养学生思考问题、分析问题和解决问题的能力;引导和鼓励学生通过实践和自学获取知识,培养学生的自学能力;增加讨论课,调动学生学习的主观能动性;讲课要联系实际并注重培养学生的创新能力。

三角分解法

三角分解法
. . . . l21 1 . . = . . . . ... . . . . . an1 ... ann ln1 ... 1 ... . . . . . . unn
ai j =
min( i , j ) k =1
∑l
ik
uk j
ai j =
min( i , j )
一般采用列主元 对换, 将 i ,j 对换,对 j = i, i+1, …, n 有 一般采用列主元 ii a ji = ∑ l jk uki + l ji u k= k =1 法增强稳定性. 法增强稳定性.但注意 v i 1 b 也必须做相应的 l ji = ( a ji ∑ l jk uki ) / uii b 行交换. 行交换. k =1
=I
Upper-triangular
Lower-triangular With diagonal entries 1
注: L 为一般下三角阵而 U 为单位上三角阵的分解称为 单位上三角阵的分解称为 Crout 分解. 分解. ~~ 分解, 实际上只要考虑 A* 的 LU 分解,即A* = L U ,则 ~ ~ A= U * L* 即是 A 的 Crout 分解. 分解. =
(
)
n1 Step 6 Set l = 运算量为2 O(n3/6), 比普通 ann ∑ k =1 lnk ; , 比普通LU nn Step 7 Output ( lij for j = 1, …, i and i = 1, …, n );A = LDLT 分解少一半, 次开方. 分解少一半,但有 n 次开方.用
mn1
v A b
( 2) (2)
(1 (1 ( a11) a12) ... a11) n Step n 1: (2 ( v a22) ... a22) n Ln1Ln2 ... L1 A b = ... . . . (n ann)

电力系统分析课程设计报告_4

电力系统分析课程设计报告_4

电力系统分析课程设计报告题目: 电力系统三相对称短路计算专业: 电气工程及其自动化班级:姓名:学号:指导教师:目录电力系统分析........................................................................................................................... - 0 -第一章设计目的与任务 ......................................................................................................... - 2 -1.1设计目的.................................................................................................................... - 2 -1.2设计任务.................................................................................................................... - 2 -第二章基础理论与原理 ......................................................................................................... - 2 -2.1 对称短路计算的基本方法 ....................................................................................... - 2 -2.2 用节点阻抗矩阵的计算方法 ................................................................................... - 4 -2.3 用节点导纳矩阵的计算方法 ................................................................................... - 6 -2.4 用三角分解法求解节点阻抗矩阵 ........................................................................... - 7 -2.5 短路发生在线路上任意处的计算方法 ................................................................... - 8 -第三章程序设计..................................................................................................................... - 9 -3.1 变量说明................................................................................................................... - 9 -3.2 程序流程图............................................................................................................. - 10 -3.2.1主程序流程图 .............................................................................................. - 11 -3.2.2导纳矩阵流程图 .......................................................................................... - 12 -3.2.3三角分解法流程图 ...................................................................................... - 13 -3.3 程序源代码见附录1 ............................................................................................ - 14 -第四章结果分析................................................................................................................... - 14 -第五章收获与建议............................................................................................................... - 15 -参考文献................................................................................................................................. - 17 -附录......................................................................................................................................... - 17 -附录1: 程序源代码..................................................................................................... - 18 - 附录2: 测试系统数据与系统图 ................................................................................... - 23 - 附录3: 测试系统的运行结果- 25 -第一章设计目的与任务1.1设计目的1、加深理解并巩固电力系统发生短路的基本知识。

(整理)线性方程组的直接法

(整理)线性方程组的直接法

第二章线性方程组的直接法在近代数学数值计算和工程应用中,求解线性方程组是重要的课题。

例如,样条插值中形成的关系式,曲线拟合形成的法方程等,都落实到解一个元线性方程组,尤其是大型方程组的求解,即求线性方程组(2.1)的未知量的数值。

(2.1)其中ai j,bi为常数。

上式可写成矩阵形式Ax = b,即(2.2)其中,为系数矩阵,为解向量,为常数向量。

当detA=D0时,由线性代数中的克莱姆法则,方程组的解存在且惟一,且有为系数矩阵的第列元素以代替的矩阵的行列式的值。

克莱姆法则在建立线性方程组解的理论基础中功不可没,但是在实际计算中,我们难以承受它的计算量。

例如,解一个100阶的线性方程组,乘除法次数约为(101·100!·99),即使以每秒的运算速度,也需要近年的时间。

在石油勘探、天气预报等问题中常常出现成百上千阶的方程组,也就产生了各种形式方程组数值解法的需求。

研究大型方程组的解是目前计算数学中的一个重要方向和课题。

解方程组的方法可归纳为直接解法和迭代解法。

从理论上来说,直接法经过有限次四则运算,假定每一步运算过程中没有舍入误差,那么,最后得到方程组的解就是精确解。

但是,这只是理想化的假定,在计算过程中,完全杜绝舍入误差是不可能的,只能控制和约束由有限位算术运算带来的舍入误差的增长和危害,这样直接法得到的解也不一定是绝对精确的。

迭代法是将方程组的解看作某种极限过程的向量极限的值,像第2章中非线性方程求解一样,计算极限过程是用迭代过程完成的,只不过将迭代式中单变量换成向量而已。

在用迭代算法时,我们不可能将极限过程算到底,只能将迭代进行有限多次,得到满足一定精度要求的方程组的近似解。

在数值计算历史上,直接解法和迭代解法交替生辉。

一种解法的兴旺与计算机的硬件环境和问题规模是密切相关的。

一般说来,对同等规模的线性方程组,直接法对计算机的要求高于迭代法。

对于中等规模的线性方程组,由于直接法的准确性和可靠性高,一般都用直接法求解。

高等工程数学第二章习题及答案

高等工程数学第二章习题及答案

第2章 线性代数方程组数值解法 研究n 阶线性方程组Ax b =的数值解法.()ij A a =是n n⨯矩阵且非奇异,12(,,,)Tn x x x x = ,12(,,,)Tn b b b b =两类数值方法:(1) 直接法:通过有限次的算术运算,若计算过程中没有舍入误差,可以求出精确解的方法.Ax b Gx d == 等价变换G 通常是对角矩阵、三角矩阵或者是一些结构简单的矩阵的乘积.(2) 迭代法:用某种极限过程去逐次逼近方程组的解的方法.(1)()i i Ax b x Bx k x Bx k +==+−−−−−→=+ 等价变换建立迭代格式,0,1,i =一、向量范数与矩阵范数 1. 向量范数【定义】 若对nK 上任一向量x ,对应一个非负实数x ,对任意,nx y R ∈及K α∈,满足如下条件(向量范数三公理) (1) 非负性:0x ≥,且0x =的充要条件是0x =;(2)齐次性:x xαα=;(3)三角不等式:x y x y+≤+.则称x为向量x的范数.常用的向量范数: (1) 1—范数11nii x x ==∑(2) 2—范数12221()ni i x x ==∑(3) ∞—范数1max ii nxx ∞≤≤=(4) 一般的p —范数11()pnpi pi xx ==∑2. 矩阵范数【定义】 若n nK ⨯上任一矩阵()ij n n A a ⨯=,对应一个非负实数A ,对任意的,n nA B K ⨯∈和K α∈,满足如下条件(矩阵范数公理):(1) 非负性:0A ≥,且0A =的充要条件是0A =;(2)齐次性:A Aαα=;(3)三角不等式:A B A B +≤+;(4)乘法不等式:AB A B≤.则称A为矩阵A的范数.矩阵范数与向量范数是相容的:Ax A x≤向量范数产生的从属范数或算子范数:10max maxx x AxA Ax x=≠==常见从属范数:(1) 1—范数111max ||nij j ni A a ≤≤==∑(2) ∞—范数11max ||nij i nj A a ∞≤≤==∑(3) 2—范数2A =谱半径1()max ||H i i n A A ρλ≤≤=,iλ为H A A 的特征值.H A 为A 的共轭转置. 注:矩阵A 的谱半径不超过A 的任一范数,即()A A ρ≤范数等价性定理:,s t x x为n R 上向量的任意两种范数,则存在常数12,0c c >,使得12,ns t s c x x c x x R ≤≤ ∀∈.注:矩阵范数有同样的结论. 【定理2.1】是任一向量范数,向量序列()k x 收敛于向量*x 的充要条件是()*0,k x x k -→ →∞二、 Gauss 消去法 1.顺序Gauss 消去法 将方程Ax b =写成如下形式11112211,121122222,11122,1n n n n n n n n nn n n n a x a x a x a a x a x a x a a x a x a x a ++++++=⎧⎪+++=⎪⎨⎪⎪+++=⎩其中记,1,1,2,,.i n i a b i n +==消元过程:第一次消元:设110a ≠,由第2,3,,n 个方程减去第一个方程乘以1111/(2,3,,)i i m a a i n == ,则将方程组中第一个未知数1x消去,得到同解方程11112211,1(1)(1)(1)22222,1(1)(1)(1)22,1n n n n n n n nn n n n a x a x a x a a x a x a a x a x a ++++++=⎧⎪ ++=⎪⎨⎪⎪ ++=⎩其中, (1)11,2,3,,;2,3,,,1ijij i j a a m a i n j n n =-==+ . 1111/i i m a a =,2,3,,i n = .第二次消元:设(1)220a ≠,.由第2,3,,n 个方程减去方程组中的第2个方程乘以(1)(1)2222/(3,4,,)i i m a a i n == ,则将方程组第2个未知数2x 消去,得到同解方程11112213311,1(1)(1)(1)(1)2222322,1(2)(2)(2)33333,1(2)(2)(2)33,1n n n n n n n n n nnn n n n a x a x a x a x a a x a a x a a x a x a a x a x a ++++++++=⎧⎪ +++=⎪⎪ ++=⎨⎪⎪⎪ ++=⎩其中(2)(1)(1)22, 3,4,,; 3,4,,,1ij ij i j a a m a i n j n n =-==+ . (1)(1)2222/i i m a a =,3,4,,i n = .经过1n -次消元后,原方程组变成等价方程组11112213311,1(1)(1)(1)(1)2222322,1(2)(2)(2)33333,1(1)(1),1n n n n n n n n n n n nn n n n a x a x a x a x a a x a a x a a x a x a a x a +++--+++++=⎧⎪ +++=⎪⎪ ++=⎨⎪⎪⎪ =⎩其中()(1)(1), 1,2,,k k k ij ij ik ij a a m a i k k n --=-=++ , 1,2,,,1j k k n n =+++ .(1)(1)/k k ik ik kkm a a --=,1,2,,i k k n =++ ;1,2,,1k n =- .回代过程:(1)(1),1(1)(1)(1),1,,1/[]/,1,2,,2,1.n n n n n m n i i i ii n i j j i j j i x a a x a a x a i n n --+---+=+⎧=⎪⎨=-=--⎪⎩∑计算量:按常规把乘除法的计算次数合在一起作为Gauss 消去法总的计算量,而略去加减法的计算次数. 在消去过程中,对固定的消去次数(1,2,,1)k k n =- ,有:除法(1)(1),,/,1,1,,k k ik i k k k m a a i k k n --= =++ 共计n k -次;乘法(1),,1,2,,;1,2,,,1k ik k j m a i k k n j k k n n - =++ =+++ 共计()(1)n k n k --+次.因此,消去过程总的计算量为1311[()(1)]3n k M n k n k n k n-==--++-≈∑ 回代过程的乘除法计算次数为21()2n n +.与消去法计算量相比可以略去不计.所以, Gauss 消去法总的计算量大约为313n .2. Gauss-Jordan 消去法Gauss-Jordan 消去法是Gauss 消去法的一种变形.此方法的第一次消元过程同Gauss 消去法一样,得到(1)(1)(1)(1)11112213311,1(1)(1)(1)(1)22223322,1(1)(1)(1)(1)32233333,1(1)(1)(1)(1)2233,1,,,,n n n n n n n n n nn nn n n n a x a x a x a x a a x a x a x a a x a x a x a a x a x a x a ++++⎧++++=⎪ +++=⎪ +++=⎨ +++= ⎪⎪⎪⎪⎩其中,(1)11,2,,,1jj a a j n n ==+ . 第二次消元:设(1)220a ≠,由第1,3,4,,n 个方程减去第2个方程乘以(1)(1)2222/(1,3,4,,)i i m a a i n == ,则得到同解方程组(2)(2)(2)11113311,1(1)(2)(2)(2)22223322,1(2)(2)(2)33333,1(2)(2)33,1,,,n n n n n n n n n nnn n n n a x a x a x a a x a x a x a a x a x a a x a x a +++++ +++= +++= ++= ++= (2),⎧⎪⎪⎪⎨⎪⎪⎪⎩继续类似的过程,在第k 次消元时,设(1)k kk a -,将第i 个方程减去第k 个方程乘以(1)(1)/k k ik ik kk m a a --=,这里1,3,4,1,1,,i k k n =-+ .经过1n -次消元,得到(2)1111,1(1)(2)2222,1(2)(2)33,1,,,n n n n n a x a a x a a x a +++⎧ =⎪ =⎪⎪ ⎨⎪⎪⎪ =⎩其中()(1)(1),1,2,,1,1,,k k k ij ij ik kj a a m a i k k n --=-=-+ ;1,2,,,1; 1,2,,1j n n k n =+=- .此时,求解回代过程为(1)(1),1/,1,2,,n i i i n iix a a i n --+= = 经统计,总的计算量约为312M n ≈次乘除法. 从表面上看Gauss-Jordan 消去法似乎比Gauss 消去法好,但从计算量上看Gauss -Jordan 消去法明显比Gauss消去法的计算量要大,这说明用Gauss-Jordan 消去法解线性方程组并不可取.但用此方法求矩阵的逆却很方便. 3.列选主元Gauss 消去法在介绍Gauss 消去法时,始终假设(1)0k kk a -≠,称(1)k kka -为主元.若(1)0k kka -=,显然消去过程无法进行.实际上,既使(1)0k kka -≠,但(1)k kka -很小时,用它作除数对实际计算结果也是很不利的.称这样的(1)k kka -为小主元.【例2.2】设计算机可保证10位有效数字,用消元法解方程1112120.3100.7,0.9,x x x x -⎧⨯+=⎪⎨ +=⎪⎩【解】经过第一次消元:第2个方程减去第1个方程乘以212111/m a a =得1112(1)(1)222230.3100.7x x a x a -⎧⨯+=⎪⎨ =⎪⎩其中(1)1222222111/0.333333333310a a a a =-=-⨯,(1)123323211113(/)0.233333333310a a a a a =-⋅=-⨯于是解得(1)(1)223221/0.7000000000,0.0000000000,x a a x ⎧==⎪⎨=⎪⎩而真解为120.2,0.7x x = =注:造成结果失真的主要因素是主元素11a太小,而且在消元过程中作了分母,为避免这个情况发生,应在消元之前,作行交换.【定义】 若 (1)(1)||max ||k k k r k ik k i na a --≤≤=,则称(1)||k k r k a - 为列主元素. k r 行为主元素行,这时可将第 k r行与第k 行进行交换,使(1)||k k r k a - 位于交换后的等价方程组的 (1)k kk a - 位置,然后再施实消去法,这种方法称为列选主元Gauss 消去法或部分主元Gauss 消去法.【例2.3】 应用列选主元Gauss 消去法解上述方程. 【解】 因为2111a a >,所以先交换第1行与第2行,得1211120.9,0.3100.7,x x x x -⎧+=⎪⎨⨯+=⎪⎩ 然后再应用Gauss 消去法,得到消元后的方程组为1220.9,0.7.x x x ⎧+=⎨=⎩回代求解,可以得到正确的结果.即120.2,0.7x x = =.三、三角分解法 设方程组Ax b =的系数矩阵A 的顺序主子式不为零.即1112121222110,1,2,,.kk k k k kka a a a a a k n a a a ∆=≠=在Gauss 消去法中,第一次消元时,相当于用单位下三角阵211131111010010n m L m m -⎡⎤⎢⎥- ⎢⎥⎢⎥=- ⎢⎥ ⎢⎥⎢⎥- ⎢⎥⎣⎦ ,左乘方程组Ax b =,得11A x b =,其中11121(1)(1)122211(1)200n n n nn a a a a a A L a a -(1)⎡⎤⎢⎥ ⎢⎥==⎢⎥ ⎢⎥⎢⎥ ⎣⎦ ,1(1)(1)111,11,1,1(,,,)Tn n n n b L b a a a -+++== .第二次消元时,相当于用单位下三角阵1232210101001n L m m - ⎡⎤⎢⎥ ⎢⎥⎢⎥= - ⎢⎥⎢⎥⎢⎥ - ⎢⎥⎣⎦0 ,左乘方程组11A x b =,得22A x b =其中11121(1)(1)22211(2)(2)221333(2)(2)300000n n n n nn a a a a a A L L A a a a a --⎡⎤ ⎢⎥ ⎢⎥⎢⎥== ⎢⎥⎢⎥ ⎢⎥ ⎢⎥⎣⎦ ,11(1)(2)(2)2211,12,13,1,1(,,,,).Tn n n n n b L L b a a a a --++++==经过1n -次消元,最后得到等价方程组11n n A x b --=其中11121(1)222111111221(1)n n n n n n nn a a a a a A L L L L A a (1)--------⎡⎤⎢⎥ ⎢⎥==⎢⎥⎢⎥⎢⎥ ⎣⎦1111(1)(1)112221,12,1,1(,,,)n Tn n n n n n n b L L L L b a a a --------+++==注意到1n A -是一个上三角阵,记111111221n n n U A L L L L A -------==则121()n A L L L U LU -==其中,121n L L L L -= . 不难验证21313212_1111n n nn m L m m m m m ⎡⎤⎢⎥ ⎢⎥⎢⎥= ⎢⎥ ⎢⎥⎢⎥ 1 ⎢⎥⎣⎦是单位下三角阵.于是解线性方程组Ax b =,就转化为解方程 LUx b =,若令Ux y =就得到一个与 Ax b =等价的方程组Ly b Ux y =⎧⎨=⎩【定理2.2】 若 A 为 n 阶方阵,且 A 的所有顺序主子式0k ∆≠,1,2,,k n = .则存在唯一的一个单位下三角矩阵 L 和一个上三角矩阵 U ,使A LU =.在上述过程中,若不假设A 的顺序主子式都不为零,只假设A 非奇异,那么Gauss 消去法将不可避免要应用两行对换的初等变换.第一次消元,将第1行与第1r 行交换,相当于将方程组Ax b =左乘矩阵11r P :1111r r P Ax P b=经第一次消元得11111111r r L P Ax L P b--=即系数矩阵为11111r A L P A-=,其中110111r P ⎡⎢ ⎢ 1= 1 0 1 ⎣0 0 ⎤⎥⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎦1 列 1r列 类似地,经1n -次消元,有121111111,22,11n n n n n r n n r r A L P L P L P A----------= .如果预先知道每一个(1,2,,1)iir P i n =- ,则在消元之前就全部作交换,得 1211,2,1,n n n r n r r A P P P A PA----== ,其中,1211,2,1,n n n r n r r P P P P ----= .即原方程变为PAx Pb =然后再消元,相当于对PA 做三角分解PA LU =由以上讨论,可得结论 【定理2.3】 若A 非奇异,则一定存在排列矩阵 P ,使得 PA 被分解为一个单位下三角阵和一个上三角1 行1行r阵的乘积,即PA LU =成立.这时,原方程组Ax b = 等价于 PAx Pb =,即等价于求解LUx Pb =令Ux y =则Ly Pb =实际求解时,先解方程组Ly Pb =,再根据 y 求解 Ux y =,即得原方程组Ax b =的解. 这种求解方法称为三角分解法.常用三角分解方法有以下几种. 1.Doolittle 分解方法 假设系数矩阵A 不需要进行行交换,且三角分解是唯一的. 记21121110n n l L l l ⎡⎤⎢⎥ ⎢⎥=⎢⎥ ⎢⎥ ⎢⎥⎣⎦ , 11121222n n nn u u u u u U u ⎡⎤⎢⎥ ⎢⎥=⎢⎥ ⎢⎥ 0 ⎣⎦ 于是有1112111121222212222112111110n n n n n n n n nn a a a u u u u u a a a l l l a a a ⎡⎤ ⎡⎤⎢⎥⎢⎥ ⎢⎥⎢⎥=⎢⎥⎢⎥ ⎢⎥⎢⎥ ⎢⎥⎢⎥ ⎣⎦⎣⎦ nn u ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥0 ⎣⎦从前面讨论A 的LU 分解过程可看出,L 、U 的元素都是用有关的(1)k ij a -来表示的,而它们的计算较麻烦.现在给出直接从系数矩阵A ,通过比较等式的两边逐步把L 和U 构造出来的方法,而不必利用Gauss 消去法的中间结果(1)k ij a -.计算步骤: (1) 由L 阵的第1行分别乘U 阵的各列,先算出U 阵的第1行元素 11,1,2,,j j u a j n = = .然后,由L 阵的各行分别去乘U 阵的第1列,算出L 阵的第1列元素1111/,2,3,,i i l a a i n = = .(2)现假设已经算出U 阵的前1r -行元素,L 阵的前1r -列元素,下面来算U 阵的第r 行元素,L 阵的第r 列元素.由L 阵的第r 行分别乘U 阵的第j 列(,1,,)j r r n =+ ,得11r ij rk kj rjk a l u u -==+∑所以,得U 阵的第r 行元素11,,1,,r rj rj rk kj k u a l u j r r n-==- =+∑ .再由L 阵的第i 行(1,2,,)i r r n =++ 分别去乘U 阵的第r 列,得11r ir ik kr ir rrk a l u l u -==+∑,所以,得L 阵的第r 列元素11[]/,1,2,,.r ir ir ik kr rr k l a l u u i r r n -==- =++∑取1,2,,r n = 逐步计算,就可完成三角分解A LU =;(3)解与Ax b = 等价的方程组Ly b Ux y =⎧⎨=⎩逐次用向前代入过程先解Ly b = 得1111,2,3,,.i i i ij j j y b y b l y i n -==⎧⎪⎨=- =⎪⎩∑然后再用逐次向后回代过程解Ux y =得1/,()/,1,2,,2,1.n n nn n i i ij j ii j i x y u x y u x u i n n =+=⎧⎪⎨=- =--⎪⎩∑2.Crout 分解方法仍假设系数矩阵A 不需要进行行交换,且三角分解是唯一的.即ˆA L=ˆU .与Doolittle 分解方法的区别在111212122211n n n n nn a a a a a a a a a ⎡⎤ ⎢⎥ ⎢⎥=⎢⎥ ⎢⎥⎢⎥ ⎣⎦ 1122ˆˆl l ⎡⎤ 0⎢⎥ ⎢⎥⎢⎥ ⎢⎥⎢⎥⎣⎦ 122ˆ1ˆ10n u u ⎡⎤⎢⎥ ⎢⎥⎢⎥ ⎢⎥ 1 ⎣⎦ 比较两边,则可推导出与Doolittle 分解方法类似的公式,不过Crout 分解方法是先算ˆL 的第r 列,然后再算ˆU的第r 行.3.Cholesky 分解方法若 A 为对称正定矩阵,则有 ˆT U L =,即11()()TT T A LDL LD LD LL ===其中L 为下三角阵. 进一步展开为1121111211112122221222221212n n n n n n nn n n nn a a a l l l l a a a l l l l l l l a a a ⎡⎤⎡⎤ ⎢⎥⎢⎥ 0 ⎢⎥⎢⎥=⎢⎥⎢⎥ ⎢⎥⎢⎥ ⎢⎥ ⎢⎥⎣⎦⎣⎦ 0nn l ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥ ⎣⎦ 比较两边对应元素,容易得到12121()r rr rr rk k l a l -==-∑ ,11()/r ir ir ik rk rrk l a l l l -==-∑ 1,2,,;1,2,,.r n i r r n ==++Cholesky 分解的优点:不用选主元. 由21rrr rk k a l ==∑ 可以看出||1,2,,.rk l k r ≤=这表明中间量rk l得以控制,因此不会产生由中间量放大使计算不稳定的现象. Cholesky 分解的缺点:需要作开方运算. 改进的Cholesky 分解: 改为使用分解T A LDL =即11121121121221222121111n n n n n n n n nn a a a d l l l d a a a l l d a a a ⎡⎤ 1 ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥ 1 1 ⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥ ⎢⎥⎢⎥⎢⎥ ⎢⎥ ⎣⎦⎣⎦⎣⎦ 2n l ⎡⎤⎢⎥ ⎢⎥⎢⎥ ⎢⎥ 1⎣⎦其中21ˆl 1ˆn l 2ˆn l ˆnn l 1ˆn u12111()/r r rr rk k k r ir ir ik k rk rk d a l d l a l d l d-=-=⎧=-⎪⎪⎨⎪=-⎪⎩∑∑,1,2,,;1,2,,.r n i r r n ==++Cholesky 分解方法或平方根法:应用Cholesky 分解可将Ax b =分解为两个三角形方程组T Ly b L x y ⎧= ⎪⎨= ⎪⎩分别可解得111111/,()/.i i i ik k ii k y b l y b l y l i n -=⎧=⎪⎨=-, =2,3,,⎪⎩∑和1/,()/1,.n n nn n i i ki k ii k i x y l x y l x l i n n =+⎧=⎪⎨=-, =--2,,2,1⎪⎩∑改进的Cholesky 分解方法或改进的平方根法:应用改进的Cholesky 分解,将方程组Ax b =分解为下面两个方程组1,,T Ly b L x D y -= ⎧⎨= ⎩同理可解得1111,,2,3,,.i i i ik k k y b y b l y i n ==⎧=⎪⎨=- =⎪⎩∑和1/,/,1,2,,2,1.n n n n i i i ki k k i x y d x y d l x i n n =+⎧=⎪⎨=- =--⎪⎩∑ 4.解三对角方程组的追赶法若()ij n n A a ⨯=满足1||||,1,2,,.nii ij j j ia a i n =≠> =∑则称A 为严格对角占优矩阵.若A 满足1||||,1,2,,.nii ij j j ia a i n =≠≥ =∑且其中至少有一个严格不等式成立,则称A 为弱对角占优矩阵.现在考虑Ax d = 的求解,即11112222211111n n n n n n n n n b c x d a b c x d a b c x d d a b x -----⎡⎤⎡⎤⎡⎤ ⎢⎥⎢⎥⎢⎥ ⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥ = ⎢⎥⎢⎥⎢⎥ ⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦ 系数矩阵A 满足条件11||||0,||||||,,0,2,3,, 1.||||0,i i i i i n n b c b a c a c i n b a ⎧>>⎪≥+ ≠=-⎨⎪>>⎩采用Crout 分解方法11112222221111n n n n n n n b c a b c a b c a b βαβγαγα---⎡⎤ ⎡⎤⎢⎥ 1 ⎢⎥⎢⎥ ⎢⎥⎢⎥ = ⎢⎥⎢⎥ ⎢⎥ ⎢⎥ ⎢⎥⎢⎥⎣⎦ ⎣⎦ 1n β-⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥1 ⎢⎥⎢⎥ 1 ⎣⎦其中,,,i i i αβγ为待定系数.比较上式两边可得到111111,;,,2,3,,;,2,3,, 1.i i i i i i i i i b c a b i n c i n ααβγγβααβ-= == =+ == =-进而可导出1111111,2,3,,.,/,,2,3,,./(),2,3,, 1.i i i i i i ii i i i a i n b c b b i n c b i n γαβααββαβ--⎧= =⎪= =⎪⎨=- =⎪⎪=- =-⎩由此可看出,真正需要计算的是(1,2,,1)i n β=- ,而i α可由,i i b a 和1i β-产生.因此,实现了A 的Crout 分解后,求解Ax d =就等价于解方程组Ly dUx y =⎧⎨=⎩从而得到解三对角方程组的追赶法公式: (1) 计算i β的递推公式:1111/,/(),2,3,, 1.i i i i i c b c b i n ββαβ-⎧=⎪⎨=- =-⎪⎩(2) 解方程组Ly d =:11111/()/(),2,3,,.i i i i i i i y d b y d a y b a i n β--⎧=⎪⎨=-- =⎪⎩(3) 解方程组Ux y =:1,1,2,,2,1.n n i i i i x y x y x i n n β+⎧=⎪⎨=- =--⎪⎩追赶法的乘除法次数是66n -次.将计算121n βββ-→→→ 及12n y y y →→→ 的过程称之为“追”的过程,将计算方程组Ax d =的解121n n x x x x -→→→→ 的过程称之为“赶”的过程.四、迭代法 将Ax b =改写为一个等价的方程组 x Bx k =+建立迭代公式 (1)(),0,1,2,.i i x Bx k i +=+ =称矩阵B 为迭代矩阵.【定义】 如果对固定的矩阵B及向量k,对任意初始猜值向量(0)x ,迭代公式(1)()i i +()i()*lim i i x x →+∞=成立,其中*x 是一确定的向量,它不依赖于(0)x 的选取.则称此迭代公式是收敛的,否则称为发散的.如果迭代收敛,则应有**,x Bx k =+1. 收敛性()()*,0,1,2,i i x x i ε=- =为第i步迭代的误差向量.则有(1)(1)*()*()(),0,1,2,.x x B x x B i εε++=-=-==所以,容易推出()(0),0,1,2,,i i B i εε= =其中,(0)(0)*xxε=-为初始猜值的误差向量.设n nB K ⨯∈,lim 0i i B →+∞=⇔ ()1B ρ<.迭代法收敛基本定理: 下面三个命题是等价的 (1) 迭代法(1)()i i x Bx k +=+收敛;(2)()1B ρ<;(3) 至少存在一种矩阵的从属范数⋅,使1B <注:当条件()1B ρ<难以检验时,用1B 或B ∞等容易求出的范数,检验11B <或1B∞<来作为收敛的充分条件较为方便.常用迭代法如下. 2.Jacob 迭代 考察线性方程组Ax b =,设A 为非奇异的n 阶方阵,且对角线元素0ii a ≠(1,2,,)i n = .此时,可将矩阵A 写成如下形式A D L U =++,1122(,,,)nn D diag a a a = ,21313212000n n a L a a a a ⎡⎤⎢⎥ ⎢⎥⎢⎥= ⎢⎥ ⎢⎥⎢⎥ 0 ⎢⎥⎣⎦ ,12131232000n n a a a a a U ⎡⎤ ⎢⎥ ⎢⎥⎢⎥= 0 ⎢⎥ ⎢⎥⎢⎥ ⎢⎥⎣⎦ ,建立Jacobi 迭代公式(1)1()1(),i i x D L U x D b +--=-++迭代矩阵11()J B D L U I D A --=-+=-J B 的具体元素为112111122122221200n n J n n nn nn a a a a a a B a a a a a a ⎡⎤ - -⎢⎥⎢⎥⎢⎥- - ⎢⎥=⎢⎥⎢⎥ ⎢⎥⎢⎥- - 0 ⎢⎥⎣⎦ Jacobi 迭代法的分量形式如下1(1)()()111(),j n i i i jj jm m jm m m m j jj xb a x a x a -+==+=--∑∑1,2,,;0,1,2,.j n i = =3.Gauss-Seidel 迭代容易看出,在Jacobi 迭代法中,每次迭代用的是前一次迭代的全部分量()(1,2,,)i jx j n = .实际上,在计算(1)i j x +时,最新的分量(1)(1)(1)121,,,i i i j x x x +++- 已经算出,但没有被利用.事实上,如果Jacobi 迭代收敛,最新算出的分量一般都比前一次旧的分量更加逼近精确解,因此,若在求(1)i j x+时,利用刚刚计算出的新分量(1)(1)(1)121,,,i i i j x x x+++- ,对Jacobi 迭代加以修改,可得迭代公式1(1)(1)()111(),j ni i i jj jm m jm m m m j jj xb a x a x a -++==+=--∑∑1,2,,;0,1,2,.j n i = =矩阵形式(1)1()1()(),0,1,2,.i i x D L Ux D L b i +--=-++-+=1()G B D L U -=--+注:(1)两种迭代法均收敛时,Gauss-Seidt 迭代收敛速度更快一些.(2)但也有这样的方程组,对Jacobi 迭代法收敛,而对Gauss-Seidel 迭代法却是发散的. 【例2.4】 分别用Jacobi 迭代法和Gauss-Seidel 迭代法求解下面的方程组121232342,46,4 2.x x x x x x x ⎧- =⎪-+-=⎨⎪-+=⎩初始猜值取0(0,0,0)x =. 【解】 Jacobi 迭代公式为(1)()12(1)()()213(1)()321(2),41(6),0,1,2,41(2),4i i i i i i i x x x x x i x x +++⎧=+⎪⎪⎪=++=⎨⎪⎪=+⎪⎩迭代计算4次的结果如下 (1)(2)(3)(4)(0.5,1.5,0.5),(0.875,1.75,0.875),(0.938,1.938,0.938),(0.984,1.969,0.984).T T T T x x x x ====Gauss-Seidel 迭代公式为(1)()12(1)(1)()213(1)(1)321(2),41(6),0,1,2,41(2),4i i i i i i i x x x x x i x x +++++⎧=+⎪⎪⎪=++=⎨⎪⎪=+⎪⎩迭代计算4次的结果如下(1)(2)(3)(4)(0.5,1.625,0.9063),(0.9063,1.9532,0.9883),(0.9883,2.0,0.9985),(0.9985,1.999,0.9998).T T T T x x x x ====从这个例子可以看到,两种迭代法作出的向量序列(){}i x 逐步逼近方程组的精确解*(1,2,1)T x =,而且Gauss-Seidel 迭代法收敛速度较快.一般情况下,当这两种迭代法均收敛时,Gauss-Seidt 迭代收敛速度更3.超松弛迭代法为了加快迭代的收敛速度,可将Gauss-Seidel 迭代公式改写成1(1)()(1)()11(),j ni i i i jjj jm m jm m m m jjj xx b a x a x a -++===+--∑∑ 1,2,,;0,1,2,.j n i = =并记1(1)(1)()11(),j ni i i jj jm m jm m m m jjj rb a x a x a -++===--∑∑称 (1)i j r + 为 1i + 步迭代的第 j 个分量的误差向量.当迭代收敛时,显然有所有的误差向量(1)0(),1,2,,.i j r i j n +→→∞=为了获得更快的迭代公式,引入因子R ω∈,对误差向量 (1)i j r + 加以修正,得超松弛迭代法(简称SOR 方法)(1)()(1),0,1,2,.i i i j j j x x r i ω++=+ =即1(1)()(1)()1(),j ni i i i jjj jm mjm m m m jjjxx b a xa x a ω-++===+--∑∑1,2,,;0,1,2,.j n i = =适当选取因子ω,可望比Gauss-Seidel 迭代法收敛得更快.称ω为松弛因子.特别当1ω=时,SOR 方法就是Gauss-Seidel 迭代法.写成矩阵向量形式(1)1()1()[(1)](),j i x D L D U x D L b ωωωωω+--=+--++0,1,2,.i =迭代矩阵为1()[(1)].B D L D U ωωωω-=+--实际计算时,大部分是由计算经验或通过试算法来确定opt ω的近似值.所谓试算法就是从同一初始向量出发,取不同的松驰因子ω迭代相同次数(注意:迭代次数不应太少),然后比较其相应的误差向量()()i i r b Ax =-(或()(1)i i x x --),并取使其范数最小的松弛因子ω作为最佳松弛因子opt ω的近似值.实践证明,此方法虽然简单,但往往是行之有效的. 4.迭代收敛其它判别方法:用迭代法收敛基本定理来判断收敛性时,当n 较大时,迭代矩阵的谱半径计算比较困难,因此,人们试图建立直接利用矩阵元素的条件来判别迭代法的收敛定理. (1) 若方程组Ax b =中的系数矩阵A 是对称正定阵,则 Gauss-Seidel 迭代法收敛. 对于SOR 方法,当02ω<< 时迭代收敛(2)若A 为严格对角占优阵,则解方程组 Ax b = 的Jacobi 迭代法,Gauss -Seidel 迭代法均收敛. 对于SOR 方法,当01ω<< 时迭代收敛.【例2.5】 设线性方程组为121221,32,x x x x ⎧+=-⎪⎨+=⎪⎩建立收敛的Jacobi 迭代公式和Gauss -Seidel 迭代公式. 【解】 对方程组直接建立迭代公式,其Jacobi 迭代矩阵为0230J B -⎡⎤=⎢⎥- ⎣⎦,显见谱半径()1J B ρ=>,故Jacobi 迭代公式发散.同理Gauss -Seidel 迭代矩阵为0206G B -⎡⎤=⎢⎥ ⎣⎦,谱半径()61G B ρ=>,故Gauss -Seidel 选代公式也发散. 若交换原方程组两个方程的次序,得一等价方程组121232,21,x x x x ⎧+=⎪⎨+=-⎪⎩其系数矩阵显然对角占优,故对这一等价方程组建立的Jacobi 迭代公式,Gauss -Seidel 迭代公式皆收敛. (3)SOR 方法收敛的必要条件是 02ω<<【定理2.5】 如果A 是对称正定阵,且02ω<<,则解Ax b =的SOR 方法收敛.注:当(0,2)ω∈ 时,并不是对任意类型的矩阵A ,解线性方程组Ax b =的SOR 方法都是收敛的.当SOR 方法收敛时,通常希望选择一个最佳的值opt ω使SOR 方法的收敛速度最快.然而遗憾的是,目前尚无确定最佳超松弛因子opt ω的一般理论结果.实际计算时,大部分是由计算经验或通过试算法来确定opt ω的近似值.所谓试算法就是从同一初始向量出发,取不同的松驰因子ω迭代相同次数(注意:迭代次数不应太少),然后比较其相应的误差向量()()i i r b Ax =-(或()(1)i i x x --),并取使其范数最小的松弛因子ω作为最佳松弛因子opt ω的近似值.实践证明,此方法虽然简单,但往往是行之有效的.【例2.6】 求解线性方程组Ax b =,其中10.3000900.308980.30009100.4669110.274710.30898A - -- -0.46691 0= - -- 00.274711(5.32088,6.07624,8.80455,2.67600).T b ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥ - ⎣⎦ =-分别利用Jacobi 迭代法,Gauss -Seidel 迭代法,SOR 迭代法求解. 【解】其结果列入下表中,方程组精确解(五位有效数字)为*(8.4877,6.4275, 4.7028,4.0066).T x =-Jacobi 迭代法计算结果i()1i x()2i x ()3i x ()4i x ()2||||i r0 012.3095 1 5.3209 6.0762 -8.8046 2.6760 5.3609 27.97113.5621 -5.2324 1.90143.631820 8.4872 6.4263 -4.7035 4.0041 0.0041 218.48606.4271 -4.7050 4.0063 0.0028Gauss-Seidel 迭代法计算结果i()1i x()2i x()3i x()4i x()2||||i r0 012.3095 1 5.3209 7.6730 -5.2220 2.8855 3.6202 28.51506.1933 -5.1201 3.90040.49098 8.4832 6.4228 -4.7064 4.0043 0.0078 98.48556.4252-4.70554.00550.0038SOR 迭代法计算结果(1.16ω=)i()1i x()2i x()3i x()4i x()2||||i r0 012.3095 1 6.1722 9.1970 -5.2320 3.6492 3.6659 29.69416.1177 -4.8999 4.43351.33136 8.4842 6.4253 -4.7005 4.4047 0.0051 78.48686.4288-4.70314.00650.0016计算结果表明,若求出精确到小数点后两位的近似解,Jacobi 迭代法需要21次,Gauss -Seidel 迭代法需要9次,而SOR 迭代法(选松弛因子 1.16ω=)仅需要7次,起到加速作用.5.误差分析 【定理2.6】设 *x 是方程 Ax b = 的惟一解,v ⋅ 是某一种向量范数,若对应的迭代矩阵其范数1v B <,则迭代法(1)(),0,1,2,.i i xBx k i +=+ = 收敛,且产生向量序列(){}i x 满足()*()(1)||||||||||||1||||i i i vv vvB x x x x B --≤--()*(1)(0)||||||||||||1||||i i vv vvB x x x x B -≤--【证明】 由迭代收敛基本定理的(3)知,迭代法(1)(),0,1,2,.i i x Bx k i +=+ =收敛到方程的解*x .于是,由迭代公式立即得到(1)*()*(1)()()(1)(),().i i i i i i x x B x x x x B x x ++--=--=-为书写方便把v 范数中v 略去,有估计式(1)*()*||||||||||||,i i x x B x x +-≤⋅-(1)()()(1)||||||||||||.i i i i x x B x x +--≤⋅-再利用向量范数不等式||||||||||||x y x y -≥-于是得第一个不等式()(1)(1)()()*(1)*()*||||||||||||||||||||(1||||)||||,i i i i i i i B x x x x x x x x B x x -++ -≥-≥--- ≥--再反复递推即第二个不等式.注:(1)若事先给出误差精度ε,利用第二个不等式可得到迭代次数的估计(1)(0)(1||||)ln ln ||||||||v v v B i B x x ε⎡⎤->⎢⎥-⎣⎦ (2)在||||v B 不太接近1的情况下,由第一个不等式,可用()(1)||||i i v x x ε--<作为控制迭代终止的条件,并取 ()i x 作为方程组 Ax b = 的近似解.但是在||||v B 很接近1时,此方法并不可靠.一般可取1,2,v =∞或F .【例2.7】 用Jacobi 迭代法解方程组123123123202324,812,231530.x x x x x x x x x ⎧++=⎪++=⎨⎪-+=⎩问Jacobi 迭代是否收敛?若收敛,取(0)(0,0,0)T x =,需要迭代多少次,才能保证各分量的误差绝对值小于610-?【解】 Jacobi 迭代的分量公式为(1)()()123(1)()()213(1)()()3121(2423)201(12),0,1,2,81(3022),15i i i i i i i i i x x x x x x i x x x +++⎧=--⎪⎪⎪=-- =⎨⎪⎪=-+⎪⎩Jacobi 迭代矩阵J B 为130102011088210155J B ⎡⎤ - -⎢⎥⎢⎥⎢⎥=- -⎢⎥⎢⎥⎢⎥- ⎢⎥⎣⎦,由5251||||max ,,1208153J B ∞⎧⎫==<⎨⎬⎩⎭知,Jacobi 迭代收敛. 因设(0)(0,0,0)Tx =,用迭代公式计算一次得(1)(1)(1)12363,, 2.52x x x = = =而(1)(0)|||| 2.x x ∞-=于是有6110(1)13ln ln 13.23i -⎡⎤⋅-⎢⎥>=⎢⎥⎢⎥⎣⎦所以,要保证各分量误差绝对值小于610-,需要迭代14次.【例2.8】 用Gauss -Seidel 迭代法解例2.11中的方程组,问迭代是否收敛?若收敛,取(0)(0,0,0)Tx =,需要迭代多少次,才能保证各分量误差的绝对值小于610-?【解】 Gauss -Seidel 迭代矩阵G B 为102403601()03025524000G B D L U - - ⎡⎤⎢⎥=-+= -⎢⎥⎢⎥ 38 -3⎣⎦显然1||||14G B =<,所以迭代收敛. Gauss -Seidel 迭代分量公式为(1)()()123(1)(1)()213(1)(1)(1)3121(2423),201(12),0,1,2,81(3022),15i i i i i i i i i x x x x x x i x x x ++++++⎧=--⎪⎪⎪=-- =⎨⎪⎪=-+⎪⎩因取(0)(0,0,0)T x =,故迭代一次得(1)(1)(1)1231.2, 1.35, 2.11x x x = = =于是有(1)(0)|||| 2.11x x ∞-=,计算得6110(1)14ln ln 10.2.114i -⎡⎤⋅-⎢⎥>=⎢⎥⎢⎥⎣⎦所在,要保证各分量误差绝对值小于610-,需要迭代11次.。

数值分析-线性方程组的直接解法

数值分析-线性方程组的直接解法

算法 Gauss(A,a,b,n,x)
1. 消元 For k=1,2, … , n-1 1.1 if akk=0 , stop; 1.2 For i=k+1,k+2, …, n 1.2.1 l ik=aik /akk => aik 1.2.2 For j=k+1,k+2, … ,n ai j -aik ak j =>aij 1.2.3 bi -aik bk=> bi 2. 回代 2.1 bn / an=>xn; 2.2 For i=n-1,n-2, …, 2,1 2.2.1 bk => S 2.2.2 For j=k+1,k+2, … ,n S –akj xj =>S 2.2.3 S/ akk => xk a1 1 a1 2 a13 a2 1 a2 2 a23
线性方程组的直接解法
刘 斌
线性方程组的直接解法
§1 Gauss消去法 1.1 顺序Gauss消去法
1.2
§2 2.1 2.2 2.3
列主元Gauss消去法
Gauss消去法的矩阵运算 Doolittle分解法 平方根法
直接三角分解方法
2.4
追赶法
引入
在科学计算中,经常需要求解含有n个未知量 的n个方程构成的线性方程组 a11 x1 a12 x2 a1n xn b1 a21 x1 a22 x2 a2 n xn b2 (1) an1 x1 an 2 x2 ann xn bn
(1) a12 ( 2) a22 0
(1) (1) a13 a1 n ( 2) ( 2) a23 a2 n ( 3) ( 3) a33 a3 n
0

num_2.3直接三角分解法

num_2.3直接三角分解法

u 12 a 22 a 32 a 42 u 12 u 22 l 32 l 42
u 13 a 23 a 33 a 43 u 13 u 23 u 33 l 43
u 14 a 24 a 34 a 44 u 14 u 24 u 34 a 44
y1 b2 r 2 b3 b4 y1 y2 r4 y 3 b4
ai2
l
k 1
2
ik
uk2

a i 2 l i 1 u 12 l i 2 u 22
li 2
a i 2 l i 1 u 12 u 22
a 11 A ar1 a n1

a1r a rr a nr



a1n a rn a nn
u
jr1
n
rj
xj
r n 1 , n 2 , , 2 ,1
u rr
上述解线性方程组的方法称为 直接三角分解法的 Doolittle法( A=LU ) 例1. 用Doolittle法解方程组
2 3 1 4 10 4 2 14 0 12 3 9 3 13 4 13
T
ቤተ መጻሕፍቲ ባይዱ1 .5
0 .5
2
T
0
0
u 22
u 23
u 24 0
11
12
8 .5
u rj a rj
T
l
k 1
r1
rk
u kj
1
0
l 32
u 33
l 42

T
0

矩阵论4-1.三角分解

矩阵论4-1.三角分解
Department of Mathematics
~ 思 L 和 U 的计算公式。 的计算公式。 路 通过比较法直接导出
a11 a12 a a 21 22 A= M M an1 an2
L a1n 1 u11 u12 L a2n l21 1 u22 = O M M M O L ann ln1 L L 1
其中, 其中
D为对角阵
定理:(Cholesky分解 ) 分解 定理 正定的Hermite矩阵 A 可唯一的分解为 矩阵 可唯一的分解为: 正定的
A = LL
H
其中, 为正线下三角,即对角线的元素均为正的 其中 L 为正线下三角 即对角线的元素均为正的
Department of Mathematics
∃L∈C
n×n
U ∈C
n× n
可以作三角分解 LU 称 A可以作三角分解
u11 u12 L u1n l11 u22 L u2n l21 l22 U= L= O M M M O L unn ln1 ln2 L lnn
由此: 由此 l11 = 1, l 21 = 1, l 31 = 2, l 41 = 1
l11u12 = 0 ⇒ u12 = 0 , u13 = 2, u14 = 1 l 21 u12 + l 22 = 2 ⇒ l 22 = 2 − l 21u12 = 2
4 − u13 l 21 u23 = =1 l 22
1 u12 1 ~ U=
L u1n L u2n O M L 1
Department of Mathematics
~ 则 A = L U 为 Crout 分解 ~ 而 A = L U 为 Doolittle 分解

三角分解

三角分解

列主元素高斯消去法相当于先进行一系列行交换后再对 PAX Pb 应用顺序高斯消去法.
定理8(列主元三角分解) 若A为非奇异矩阵, 则存在排列 矩阵P使得 PA LU 其中L为单位下三角矩阵,U为上三角矩阵. 说明: L, U, Ip的存贮.
§7.4
高斯消去法的变形
设有线性方程组:AX=b
a11 a12 a1n x1 b1 a x b a22 a2 n 21 , X 2 , b 2 . A 如何简单的实现三 a x 角分解? bn an 2 ann n1 n
本节主要内容
1、回顾高斯消去法与三角分解的关系 2、三角分解的条件、方法与应用
下面用矩阵描述列主元消去法
L1I1,i1 A(1) A( 2) , L1I1,i1b(1) b( 2) ,, Lk I k ,ik A( k ) A( k 1) , Lk I k ,ik b( k ) b( k 1) .
其中I k ,ik 为初等置换阵.
于是 Ln 1I n 1,in1 L2 I 2,i2 L1I1,i1 A A( n ) U . ~ ~ P为排列矩阵 即 P A U , P b b( n ) . ~ L为单位下三角矩阵 下面就n 4考察P .
UA
( 4)
L3 I3,i3 L2 I 2,i2 L1I1,i1 A
PA 选主元三角分解算法: A, 整型Ip(n)记录主行, x b.
1. 对r 1,2,, n, r 1 (1) 计算si : air si air lik ukr (i r ,, n). k 1 (2) 选主元:取ir 使得 sir max si ,Ip(r ) ir

2-2直接三角分解法

2-2直接三角分解法

1
Ln1 Ln2 L2 L1b 1 b n ,
1 1 1 1 1 1 注意 A1 A , 则 A L1 L2 L 其中L L1 L2 L n1 U LU , n1 。


1 m21 1 由 L 可知 L m31 k 的特点, m n1
第k 步 : Ak x b k Ak 1 x b k 1
Lk Ak Ak 1 , Lk bk bk 1 , k 1,2,, n 1 , 其中
1 1 Lk 1 mk 1,k mnk 1 1 1 1 , Lk 1 mk 1,k 1 mnk ; 1 1
2 2 2 x1 1 3 2 4 x 2 1 2 1 3 9 x 5 2 3
解:
x1 1 x 2 1 x 0 3
2
2.2 直接三角分解法
矩阵的直接三角分解法 起源于Gauss消去法的矩阵形式。基 本思想:设
Ax b的系数矩阵A 可以分解为两个三角形 矩阵的乘积,记为A LU ,其中
L 为下三角矩阵, U 为上三角矩阵。此时Ax b 变为 LUx b 。令Ux y ,则方
Ly b 程组 Ax b ,即 Ax b 归结为两个三角形方程 组的求解,而三角形 Ux y 方程组的求解容易编程 实现。
1 u12 u1n l 22 1 u 2n l n 2 l nn 1
第一步:li1 ai1 , i 1,2,, n , u1i a1i l11 , i 2,3,, n

方程组直接三角分解法

方程组直接三角分解法

如果U的第1至k-1列和L的第1至k-1列已经算出,则由
ak1 lk1 , k 2,3, u11
k r 1
, n.
(4.2.2)
a l u ,j k , k 1 , , n , kj kr rj
可得U的第k行元素
ukj =akj 同理,由
k

k 1 r 1
l kr u rj
用向后回代的方法即可求得x。设x=(x1 ,x2, · · · xn) T, y=(y1, y2, · · · yn) T,b= (b1 ,b2, · · · bn) T, 则有计算公式
y b 1 1 i 1 (4.2.5) y b l y 1 , 2 ,..., n i i ir r ,i r 1
(4.2.8)
利用(4.2.7)和(4.2.7)可得
u1 b 1 n li ai / ui1, i 2,3,... u b l c , i 2,3,... n i i i1 i
(4.2.9)
由此可求得L和U的所有元素.。解原方程组Ax=b可分为两步Ly=d 和Ux=y,计算公式为
由于方车程组的右端参与了消元计算,所以Ly=Pb的解为y=b(3)= (20,14/3,216/39) T 。解Ux=y得x=(1,2,3) T
4.2.2
三对角方程组的追赶法
b a1 A c1 b c2 a n1 bn1 an c n1 bn



(k ) akk

uk 1,k 1 l k , k 1 l n , k 1

(k ) ank
u1n u2 n uk 1,n (k ) akn (k ) ann

第2章线性方程组求解方法第2讲

第2章线性方程组求解方法第2讲

y1 1 1 1 y2 3 3 y 34 3 5
1 2 3 x1 1 再解 5 9 x2 3 ,得 34 17 x 5 3 5
计算方法 2.3.1
线性代数方程组求解方法
直接三角分解法
将高斯消去法改写为紧凑形式,可以直接从矩阵A的元
素得到计算L、 U元素的递推公式,而不需要任何中间步骤 ,这就是所谓的直接三角分解法。一旦实现了矩阵A的LU分
解,那么求解线性代数方程组Ax=b的问题就等价于求解两
个三角方程组 Ly=b,求y Ux=y,求x 的问题,而这两个线性代数方程组只要回代,就可以求出其
1 u11 u12 u13 u 22 u 23 l21 1 l l 1 u 33 31 32 l l l 1 n1 n 2 n 3
计算方法
线性代数方程组求解方法
克罗脱(Grout)分解
a11 a12 a21 a22 a 31 a32 an 1 an 2 ... a1n ... a2n a3n ... ann ... u1n ... u 2n ... u 3n 1
a11 a12 ... a1n b1 a21 a22 ... a2n b2 a a ... a b nn n n1 n 2
u11 u12 ... u1n y 1 l21 u 22 ... u 2n y 2 l l ... u y nn n n1 n 2
设A
A=LU=L1U1 其中, L、L1 为单位下三角矩阵, U、 U1为上三角矩阵。由 于U1-1

研究生数值分(8)直接三角分解法

研究生数值分(8)直接三角分解法
u1i (i 1, 2, , n) 与L的第1列元素 li1 (i 2,3, , n)
(b) 对k+2,3,…,n 按计算公式(3),(4)依次
计算U的第k行元素 uki (i k, k 1, , n) 与L的第
k列元素 lik (i k 1, , n; k n)
20 求解三角形方程组LY=b,即按计算公
(i k, k 1, , n) (3)
k 1
lik (aik liju jk ) / ukk j 1
(i k 1, , n; k n) (4)
在我们利用杜利特尔矩阵分解解线性方程 组AX=b时,只要实现矩阵分解A=LU,依次解三角 形方程组LY=b与UX=Y即可。
计算公式:
y1
yk
对那些明确是1或是0的元素不再求。 由矩阵乘法规则与相等条件,
利用 aij 在上述计算过程中,
导出计算 lij 或 uij 的公式。
例如
第一步计算由 ai1 li1u11 得
u1i a1i (i 1,2, ,n)
第二步计算由 a1i u1i 得 li1 ai1 / u11 (i 2,3, ,n)
, n 1)
因此有 1 c1 / a1且0 1 1 由 a2 b2 a21 b2 a2 1 b2 a2 c2 0 有 2 c2 / a2且0 2 1
一般地,用归纳法可以证明
ai ci 0 (即0 i 1) (i 1, 2, , n 1)
因此我们从关系式(2)解出待定系数为
5 3 2, 2 3 5
3
2
3
4
b 7
1
0
2、用追赶法求方程组的解
4 1 0 0 x1 3
1
4
1

数值分析-第二章小结

数值分析-第二章小结

第二章 线性方程组的数值解法-------学习小结姓名 班级 学号 一、本章学习体会通过本章的学习,我了解了线性方程组的不同解法,切实体会到了不同的计算方法对计算结果的影响。

求解线性方程组的方法可分为两大类:直接方法和迭代方法。

直接方法在解一般的线性方程组的时候比较简便,使用此方法经过有限次运算就可得到方程组的解。

然而迭代法是要构造一个无限的向量序列,其极限是方程组的解向量,它适用于求解大型稀疏线性方程组。

总的来说,直接方法和迭代法各有优点与不足,在解线性方程组的时候,我们要根据具体的线性方程组的特点来选择合适的解法,这样我们才能快速准确的得到方程组的解。

因此,我们要熟悉书中介绍的各类线性方程组的解法,同时要善于思考、总结,在使用各种方法求解的同时尽量提出自己独特的见解,通过不断练习计算,使自己的能力得到提高。

二、本章知识梳理线性方程组的求解方法分为直接法和迭代法两种,Gramer (克莱姆)法是直接法的一种,但由于其计算量比较大,在世界工作中其效率比较低、经济效益差,所以此方法我们很少使用,本章主要介绍其他的计算方法。

2.1 Gauss 消去法Gauss (高斯)消去法由消元和回代两个过程组成。

消元过程就是对方程组的增广矩阵做有限次的初等行变换,使它的系数矩阵部分变换为上三角阵。

所用的初等行变换主要有两种:第一种,交换两行的位置;第二种,用一个数乘某一行加到另一行上。

回代过程就是先由方程组的最后一个方程解出n x ,然后通过逐步回代,依次求出1n x -,2n x -,…,1x 。

这种Gauss 消去法可分为Gauss 消去法和列主元素Gauss 消去法两种。

2.1.1 顺序Gauss 消去法在Gauss 消去法的消元过程中对方程组的增广矩阵只做前述的第二种初等行变换就形成了顺序Gauss 消去法,其算法如下:记(1)ij ij a a = (i ,j=1,2,…,n )i i 1、 消元过程对于k=1,2,…,n-1执行 (1)如果()0k kka =,则算法失效,停止计算;否则转(2)。

矩阵直接三角分解法

矩阵直接三角分解法

矩阵直接三角分解法算法将方程组Ax=b 中的A 分解为A=LU ,其中L 为单位下三角矩阵,U 为上三角矩阵,则方程组Ax=b 化为解2个方程组Ly=b ,Ux=y 。

具体算法:○1对j=1,2,3,…,n 计算 U 1j =a 1j对i=2,3,…,n 计算L i1=a i1/a 11○2对k=2,3…,n: a . 对j=k ,k+1,…,n 计算U kj=a kj -∑LkqUqj k−1q=1b.对i=k+1,k+2,…,n 计算l ik =(a ik -)∑LiqUqk k−1q=1/u kk○3y 1=b 1对k=2,3…,n 计算 Y k =b k -∑LkqUq k−1q=1○4X n =y n /U nn ,对k=n -1,n -2,…2,1计算 X k =(y k -∑UkqXq n q=k+1/U kk注:注由于计算u 的公式与计算y 的公式形式上一样,故可直接对增广矩阵[A|b]=[ a11 a12…a1n a1,n +1a21 a22…a2n a2,n +1:: ::an1 an2…ann an,n +1]施行算法○2○3,此时U 的第n+1列元素即为y 。

程序与实例求方程组Ax=bA=[1 2 −12 85 4 7 −2−3 7 9 56 −12 −8 3],b=[2741149]程序#include<stdio.h>void main(){float x[4];int i;float a[4][5]={1,2,-12,8,27,5,4,7,-2,4,-3,7,9,5,11,6,-12,-8,3,49};void DirectLU(float*,int,float[]);DirectLU(a[0],4,x);for(i=0;i<=3;i++)printf("x[%d]=%f\n",i,x[i]);}void DirectLU(float *u,int n,float x[]){int i,r,k;for(r=0;r<=n-1;r++){for(i=r;i<=n;i++)for(k=0;k<=r-1;k++)*(u+r*(n+1)+i)-=*(u+r*(n+1)+k)*(*(u+k*(n+1)+i));for(i=r+1;i<=n-1;i++){for(k=0;k<=r-1;k++)*(u+i*(n+1)+r)-=*(u+i*(n+1)+k)*(*(u+k*(n+1)+r));*(u+i*(n+1)+r)/=*(u+r*(n+1)+r);}}for(i=n-1;i>=0;i--){for(r=n-1;r>=i+1;r--)*(u+i*(n+1)+n)-=*(u+i*(n+1)+r)*x[r];x[i]=*(u+i*(n+1)+n)/(*(u+i*(n+1)+i));}}运行结果。

直接三角分解法

直接三角分解法
直接三角分解法
• 直接三角分解法简介 • 直接三角分解法的算法原理 • 直接三角分解法的实现过程 • 直接三角分解法的应用案例 • 直接三角分解法的优化与改进
01
直接三角分解法简介
定义与特点
定义
高效
直接三角分解法是一种线性代数中的方法 ,用于将一个矩阵分解为一个下三角矩阵 和一个上三角矩阵的乘积。
计算分解矩阵
根据所选方法计算出左奇 异矩阵、右奇异矩阵和奇 异值矩阵。
提取关键信息
从分解矩阵中提取关键信 息,如主成分或特征向量, 用于后续分析。
结果
可视化结果
将分解结果以图表、图像等形式呈现,便于直观 理解。
量化分析
对分解结果进行量化分析,如计算各主成分的贡 献率或方差解释率。
决策建议
根据分析结果提供决策建议,指导后续工作。
图像修复
通过直接三角分解法,可以将图像中的损坏或缺失部分进行修复或替 换,从而得到完整的图像。
05
直接三角分解法的优化与改进
算法优化
减少计算量
通过选择合适的算法和数据结构,减少不必要的计算和重复计算, 提高算法的效率。
并行化处理
将算法中的计算任务分解为多个子任务,并利用多核处理器或多 线程技术并行处理,加快计算速度。
利用三角分解法,可以方便地计算矩阵的逆和行列式,对于解决一些数学问题具有重要意义。
在机器学习中的应用
矩阵分解
在推荐系统和协同过滤等机器学习算法中,矩阵分解是一种常见的方法。通过直接三角分 解法,可以将矩阵分解成低秩矩阵和稀疏矩阵,从而更好地表示用户和物品之间的关系。
降维处理
在处理高维数据时,直接三角分解法可以用于降维处理,将高维数据投影到低维空间,保 留主要特征,降低计算复杂度。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、追赶法
1. 三对角矩阵:在实际问题中,经常会遇到如下 形式的方程组,
其系数矩阵为
没有写的部分均为零(下同),对角元为 对角线上的元素为
后次
,前次对角线上的元素为
。 我们称矩阵A为三对角矩阵,相应的方程组称三 对角方程组。如果对A进行LU分解,则将有如下形式:
并称它们为二对角矩阵。
定理3:设上述三对角矩阵A满足
L的第rj lrk ukj
k 1
r 1
r 2, , n j r , , n
r 2, , n 1
U的第r行 ------(3)
lir
air lik ukr
k 1
r 1
urr
i r 1, , n
L的第r列 ------(4)
(解
)
例3.用平方根法求解方程组 解: , , 则 解 , 解 得: , , ,
得:
,
平方根法不需要选主元(矩阵正定)约需 次乘法的工作量,是高斯消去法的一半(由对称性引 起),且具有算法稳定性,但其要进行n次开方运算。
A LLT
且该分解式唯一。
这种关于对称正定矩阵的分解称为Cholesky分解
a11 设 A ar 1 an 1 a1 r arr anr a1 n arn ann l11 L lr 1 lrr ln 1 lnr lnn
称上述(1) ~ (4)式所表示的分解过程为Doolittle分解 由此可以得到 和 的计算公式:
先计算U的第一行 行和L的第 计算L的第j列: 。在U的第 列计算出来后再
在U的第 第 再计算U的第i行:
行和L的 列均计算出来后
计算的过程是:
U第1行,L第1列,U第2行,L第2列,……顺序计算。
1.计算流程
4、LU分解的紧凑格式 我们不必在高斯消去法过程中产生L和U,而 是直接用矩阵A来进行LU分解。 下面导出计算公式 因A=LU则
利用矩阵乘法,得 a u j 1, 2,..., n 1j 1j i 1 aij lik ukj uij i 2,3,..., n.i j k 1 j aij lik ukj i 2,3,..., n.i j k 1

Doolittle分解: A = LU (单位下三角与上三角)
~~ Crout分解: A L U
LDU分解:
(下三角与单位上三角)
A = LDU (单位下三角, 对角及单位上三角)
A的Doolittle分解A LU中L为单位下三角阵 U 为上三角阵,如果将 A LU中的L表示为下三 角阵,U表示为单位上三角阵 , 则称之为Crout分 解, 请找出类似于 (1) ~ ( 4)式的表达式 .
追赶法的原理和高斯消去法相同,但考虑到 方程组的特点,计算时会把大量零元素撇开, 从而大大节省计算量。 也称Thomas法
21
例2:用追赶法求解 方程组
解:追的过程: , , ,
; ; ;
, , , 。
,
赶的过程:
,
,
,

定理1. (Cholesky分解) 设A为对称正定矩阵, 则一定存在一个主对角元全是 正数的下三角阵L, 使得
2.存储问题和全部流程
U可以存储在A的上三角部分,L可以存储在A的 下三角部分,对角元存U的对角元,A的对角元为1 而不必存储,如下图:
用LU分解来解线性方程组的全部流程如下:
例1:利用LU分解求解线性方程组
解:第一步,A的LU分解
第二步,求解
解得:
,
,
,

第二步,求解
解得:
,
,
,

矩阵的三种形式的分解:
且 则对矩阵A的LU分解能进行,且分解是唯一的。
3.追赶法的计算公式
利用矩阵乘法可得: 从而可以得到:


得:
得:
,
4.追赶法的计算流程
,
第一个循环称之为追的过程,相当于消元过程; 第二个循环称之为赶的过程,相当于回代过程。
总结

事实上,追赶法的求解过程就是将系数矩阵分 解两个简单的二对角线矩阵,从而归结为求解两 个简单三角形方程组的过程。
r 2, , n 1
arj lrk ukj 1 urj
k 1
air lik ukr lirurr
k 1
因此可以推导出
u1 j a1 j ai 1 li 1 u11
j 1,2 , , n
U的第一行
------(1)
i 2 ,3 , , n
第二章 解线性方程组的直接法
§ 2.4 直接三角分解法
矩阵的三角分解

一、LU分解(Doolittle分解)
1. LU分解
用n=3来举例说明。三元方程组Ax=b的增广矩阵为 ,用初等行变换变换为
这相当于将A矩阵左乘初等行变换矩阵
和 使M2M1[A b]=[A(1) b(1)],其中l21=a21/a11, l31=a31/a11 再将 进行初等行变换,得到
综合以上分析,有
a1 j u1 j
r
j 1,2 ,, n
ai 1 li 1u11
i 2 ,3 , , n
arj lrk ukj
k 1 r 1
j r , , n
r 2, , n
air lik ukr
k 1
r 1
r
i r 1, , n
23
aij a ji
三、解正定矩阵方程组的平方根法
如果方程组的系数矩阵A的对称正定矩 ,其中L 阵,可以证明: A可以唯一分解为 是下三角矩阵, 是L的转置, 即 A= 由矩阵乘法可知,在对角元上 列均计算完后得 ;在 时, =L 。 ; 在第 ;
在1,2,…,j-1列均计算完后 计算是按L的第1列, 第2列,...,第n列的次序进行的。 计算流程如下: ,
这相当于左乘初等行变换矩阵
,其中
,则
。记 。则
,则U是一个上三角矩阵,有 。其中 ,
,
记 。 L是下三角矩阵。这就是矩阵A的LU分解:A=LU。
3.
分解的充要条件
定理1:A能分解为 的充分必要条件是A的各 阶顺序主子式均不为零。即 ,
, 。
4、LU分解的紧凑格式 我们不必在高斯消去法过程中产生L和U,而 是直接用矩阵A来进行LU分解。 下面导出计算公式 因A=LU则
相关文档
最新文档