线性方程组直接法(3)
第3章 线性方程组直接求解
顺序高斯消元法 列主元高斯消元法 全主元高斯消元法 高斯约当消元法 消元形式的追赶法 LU分解法 LU分解法 矩阵形式的追赶法 平方根法
1
3.1 引言
n阶线性方程组的一般形式为: 阶线性方程组的一般形式为: 阶线性方程组的一般形式为 n阶线性方程组一般形式的矩阵形式为: 阶线性方程组一般形式的矩阵形式为: 阶线性方程组一般形式的矩阵形式为 a11x1+a12x2+…+a1nxn=b1 Ax = b a21x1+a22x2+…+a2nxn=b2 … … … … an1x1+an2x2+…+annxn=bn 阶数在100~150以上的线性方程组为高阶线性方程组 ~ 阶数在 以上的线性方程组为高阶线性方程组 阶数在100~150以下的线性方程组为低阶线性方程组 阶数在 ~ 以下的线性方程组为低阶线性方程组 系数矩阵的大部分元素为零元素的线性方程组为稀疏线性方程组 系数矩阵的大部分元素为非零元素的线性方程组为稠密线性方程组 实际应用中,经常见到高阶稀疏线性方程组,低阶稠密线性方程组, 实际应用中,经常见到高阶稀疏线性方程组,低阶稠密线性方程组, 对称正定线性方程组,带状线性方程组等等。 对称正定线性方程组,带状线性方程组等等。 克莱姆法则并不实用。常用的数值解法主要分为两类: 克莱姆法则并不实用。常用的数值解法主要分为两类: 直接求解方法是指经过有限次四则运算,求出线性方程组精确解的方法。 ① 直接求解方法是指经过有限次四则运算,求出线性方程组精确解的方法。 迭代求解方法是指构造一种迭代方法,由某个( 迭代初值(粗略解), ② 迭代求解方法是指构造一种迭代方法,由某个(套)迭代初值(粗略解), 得到近似解序列,用序列极限逐步逼近线性方程组精确解的方法。 得到近似解序列,用序列极限逐步逼近线性方程组精确解的方法。
解线性方程组的直接方法
解线性方程组的直接方法一、高斯消元法高斯消元法是解线性方程组最常用的方法之一、它通过一系列的消元操作,将线性方程组转化为阶梯型方程组,从而求解未知数的值。
1.确定线性方程组的阶数和未知数的个数。
设线性方程组中有n个未知数。
2.将线性方程组写成增广矩阵的形式。
增广矩阵是一个n行n+1列的矩阵,其中前n列是线性方程组的系数矩阵,第n+1列是等号右边的常数。
3.通过初等行变换(交换行、数乘行、行加行)将增广矩阵化为阶梯型矩阵。
具体步骤如下:a.首先,找到第一个非零元素所在的列,将它所在的行视为第一行。
b.将第一行的第一个非零元素(主元)变成1,称为主元素。
c.将主元所在列的其他元素(次元素)变为0,使得主元所在列的其他元素只有主元素是非零的。
d.再找到第一个非零元素所在的列,将它所在的行视为第二行,并重复上述步骤,直到将增广矩阵化为阶梯型矩阵。
4.根据阶梯型矩阵求解未知数的值。
具体步骤如下:a.从最后一行开始,依次求解每个未知数。
首先,将最后一行中非零元素所在的列作为含有该未知数的方程,将该未知数的系数设为1b.将含有该未知数的方程中其他未知数的系数设为0,并对其他方程进行相应的变换,使得该未知数所在列的其他元素都为0。
c.重复上述步骤,直到求解出所有未知数的值。
高斯消元法的优点是简单易懂、容易实现,但当线性方程组的系数矩阵接近奇异矩阵时,计算精度可能会降低。
二、矩阵求逆法矩阵求逆法是解线性方程组的另一种直接方法。
它通过对系数矩阵求逆,然后与常数矩阵相乘,得到未知数的值。
1.确定线性方程组的阶数和未知数的个数。
设线性方程组中有n个未知数。
2.将线性方程组写成矩阵方程的形式,即Ax=b,其中A是一个n阶方阵,x和b分别是n维列向量。
3.求系数矩阵A的逆矩阵A^-1a. 首先,计算系数矩阵A的行列式det(A)。
b. 判断det(A)是否为0,如果det(A)=0,则该线性方程组无解或有无穷多解;如果det(A)≠0,则系数矩阵A可逆。
第3章_解线性方程组的直接方法
变换结束后增广矩阵最后一列就是解,不
需回代。这种解法称为约当消去法。
它容易学习掌握,也容易编写计算机程序。 其计算过程可写为:
2020/1/22
18
数值计算方法
对k=1~n(步)做
对j= k+1~n (行)令 akj akj / akk
对I=1~n但i≠k(行)做(“适当倍数”)
对j= k+1~n+1(列)令aij aij aikakj
4
数值计算方法
例如: 要解方程组
x1 2x2 3x3 1 5x1 x2 3x3 4
7x1 8x2 11x3 3
其步骤如下:将第一个方程乘-5,-7,分别加于第二、 第三方程,消去未知量x1,得同解方程组
x1 2x2 3x3 1 9x2 18x3 9
6x2 10x3 10
2020/1/22
5
数值计算方法
将所得方程组的第二方程乘 2 ,加到第三方程,
3
消去未知量x2,得同解方程组
x1 2x2 3x3 1
9x2 18x3 9
2x3 4
这是上三角形方程组。
由第三方程解得x3=-2,将x3代入第二方程可
数值计算方法
不过交换两列相当于改变未知量顺序,所 以需用一数组,专门记录未知量顺序及其变化, 并在最后调整解的顺序,使解中n个数与未知 量正确对应。
假定用数组L表求未知量的顺序,则全主 元法的计算步骤可归纳如下:
2020/1/22
26
数值计算方法
对j=1~n令Lj j(记未知量原始顺序) 对k=1~n-1做(以下为消去过程)
bn
线性方程组的直接法
Hilbert 矩阵H n =[h i,j ]∈R n*n ,其元素h i,j =1/(i+j-1),分别对n=2,3,4…... (1)计算cond(H n )∞,分析条件数作为n 的函数如何让变化?(2)令x=(1,1…..1)T ∈R n ,计算b n =H n *x ,然后用Gauss 消去法或cholesky 方法解方程组b n =H n *x ,解出的解为x , 计算剩余变量r n =b n - H n *x 和误差向量;▽x=x -x 。
(3)分析对每个n ,x 分量的有效数字如何随n 变化,此变化与条件数有何联系。
当n 为多大时绝对误差达到100%(即X 连一位有效数字也没有了)。
解:希尔伯特矩阵是著名的病态矩阵。
n 阶Hilbert 矩阵为⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-++=)12/(1)1/(1/1)1/(13/12/1/12/11n n n n n H n 其条件数 Cond(H n )∞ 如下表所示Input(‘input n=’); H=hilb(n) Cond(H,inf)随着n 的增大,矩阵条件数迅速增加。
猜测:希尔伯特矩阵条件数以指数规律增长。
即,设矩阵阶数为n ,有Cond(H n ) ∞≈ exp( a n + b )用数据拟合的方法验证。
问题分析:由于选择拟合函数为指数函数,直接列出超定方程组将是非线性的方程组。
为了便于计算,对表中的条件数做对数变换,问题转化为线性拟合问题ln[Cond(H n ) ∞] = a n + b ,( n = 2,3,4,5,6)实际操作时使用MA TLAB 的多项式拟合命令。
线性拟合图形如下线性函数的两个系数分别为a = 3.3216,b = – 3.3474故指数拟合函数为:Cond(H n)∞≈exp(3.3216 n –3.3474)拟合函数的残差向量为r1r2r3r4r50 -9.0000e+001 8.8000e+002 4.0420e+003 -5.9917e+005 MATLAB程序段如下C=[];for k=2:6H=hilb(k);C=[C,cond(H,inf)];endLC=log(C);n=2:6;P=polyfit(n,LC,1)plot(n,LC,'o',n,polyval(P,n))residure=C-exp(polyval(P,n))2. x=(1,1…..1)T∈R n,.,令b=H n x,用高斯消去法求解方程组H n x = b解出x。
解线性方程组的直接方法
或写为矩阵形式
a11 a21
a12
a22
a1n x1 b1
a2n
x2
b2
,
am1 am2 amn xn bm
(2.1)
17
简记为 Ax b. 例1 用消去法解方程组
x1 x2 x3 6,
4x2 x3 5,
2x1 2x2 x3 1.
(2.2) (2.3) (2.4)
其中用 r表i 示矩阵的第 行i . 由此看出,用消去法解方程组的基本思想是用逐次消
去未知数的方法把原方程组 Ax 化b为与其等价的三角 形方程组,而求解三角形方程组可用回代的方法.
上述过程就是用行的初等变换将原方程组系数矩阵化
为简单形式(上三角矩阵),从而将求解原方程组(2.1)的
问题转化为求解简单方程组的问题.
x
j
)/ ai(ii)
(i n1,n2,,1).
(2) 如果 为A非奇异矩阵,则可通过高斯消去法(及交
换两行的初等变换)将方程组 Ax约b化为(2.10).
29
算法1(高斯算法)
设 AR mn (m 1), s min( m1,n), 如果
a(k) kk
0(k
1,2,,s),
本算法用高斯方法将
非奇异矩阵 P使得
设 A为 n阶矩阵,则存在一个
J1(1)
P1 AP
J 2 (2 )
,
J r (r )
13
其中
i
1
i
J
i
(i
)
i 1
i ni ni
r
ni 1(i 1,2,,r),且 ni n. i1
为若当(Jordan)块.
Chapter32线性方程组的直接法
a21x1 a22 x2 a2n xn b2
(1)
an1x1 an2 x2 ann xn bn
矩阵表示记为 AX b
a 这里 A
, 我们假设 A 0,
ij nn
X (x1 , , xn )T , b (b1 ,
, bn )T.
❖ 全主元消去法
在第k步消去前, 在系数矩阵右下角的n-k+1阶 主子阵中,选绝对值最大的元素作为主元素。
| ak pq
|
max
k i, jn
|
aikj
|0
(1) If p k then 交换第 k 行与第p行; If q k then 交换第 k 列与第 q 列;
(2) 消元
注:列交换改变了 xi 的顺序,须记录交换次序,
矩阵A可进行三角分解,即A=LU
注: (1) L 为单位下三角阵而 U 为一般上三角阵的分 解称为Doolittle 分解
(2)L 为一般下三角阵而 U 为单位上三角阵的分
解称为Crout 分解。
➢ Doolittle分解法 :
思 路
通过比较法直接导出L 和 U 的计算公式。
a11 ... a1n 1
i1
i1 11
对 k 2, 3, , n 计算
k 1
u a l u
kj
kj
kr rj
r 1
jk, ,n
k 1
l a l u u (
ik
ik
)/ i k 1 , , n
ir rk kk
r 1
LU 分解求解线性方程组
AX b LY b , UX Y
1
l
数值分析 第三章解线性方程组的直接法
T T A LDU 0 , AT U 0 DT LT , A AT U 0 L A LDLT
由于A是正定矩阵,所以D中的元素都大于零,可以把D也再分解
14
d11 d11 1 1 1 d 22 D2 D2 , D2 D d nn
lii 1,lik 0 k i , ukj 0 k j
11
ai1 由此得算法: u1 j a1 j , j 1, 2,, n; li1 a ,i 1, 2,, n 11
uij aij lik ukj , j i, i 1,, n; lij
还可以进一步用标度化的选主元(相对最大)
6
第三节 矩阵的三角分解
消元法求解方程组是通过行初等变换把系数矩阵化为对角阵,由 线性代数知识可知,左乘一个初等矩阵,就相当于做一次行变换.
1 a 21 a11 a 记 L = 31 1 a11 an1 ห้องสมุดไป่ตู้ 11
第三章 解线性方程组的直接法
第一节 引言
解线性方程组的方法可分为两大类:直接法和迭代法. 直接法的基本原理就是高斯消元法,再根据数值计算的特点 做一些适当的处理而得到的一类算法.直接法的特点是没有 截断误差,只有计算误差(舍入误差). 迭代法是类似于上一章单个方程那样,以某种方式构造一 个向量序列,使得这个向量序列收敛到解向量.因此迭代 法既有截断误差又有舍入误差.
0.01000 0.01200 0 0.100 103 0 0 .
8.010 44.41 1175 105 6517 105 x3 5.546; x2 100.0; x1 104.0 0.1670 0.6781
计算方法第三章线性方程组的直接解法
5 3
3 1
r3
r1 6
6 1 18 2
1 0
4 5 1 3
3 1
r3 r225
1 0
4 1
5 3
3 1
0 25 48 16
0 0 27 9
林龙
计算方法
6
化原方程组为三角方程组的过程为消元过程. 解三角方程组的过程为回代过程.
也可将上边的增广矩阵进一步化简.
1 4 5 3
1 0 7 1
xi
Di D
(i
1, 2,3,
),由于方程含有n 1个
行列式.如对每个行列式按展开定理来计算.
用克莱姆法则求解,所需要的乘除运算量为
n!(n2 1) n次,若n 20用每秒一千万次的
计算机要三百万年,所以并不是凡直接法都
可以用来做实际运算.
林龙
计算方法
4
设有
§3.1直接法
a11x1 a12 x2 a21x1 a22 x2
解 : 10
7
0
7
r1 r2
5 1 5 6
林龙
计算方法
16
10 3 5
7 2 1
0 6 5
7 4 6
r2
3 10
r1
r3
5 10
r1
10
0
0
7 0.1 2.5
0 7 6 6.1 5 2.5
r2 r3
r3
1 25
r2
10 7 0 7 x3 1
0
2.5
5
2.5
x2
2.5 5x
nn
a11 a12 .... a1n 1 0 0
a21
a22
第3章 线性方程组求解的直接解法
线性方程组求解的直接法5.2线性方程组直接解法概述直接解法就是利用一系列公式进行有限步计算,直接得到方程组的精确解的方法.当然,实际计算结果仍有误差,譬如舍入误差,而且舍入误差的积累有时甚至会严重影响解的精度.这是一个众所周知的古老方法,但用在计算机上仍然十分有效.求解线性方程组最基本的一种直接法是消去法.消去法的基本思想是,通过将一个方程乘以或除以某个常数,以及将两个方程相加减这两种手段,逐步减少方程中的变元的数目,最终使每个方程仅含一个变元,从而得出所求的解.高斯(Gauss )消去法是其中广泛应用的方法,其求解过程分为消元过程和回代过程两个环节.消元过程将所给的方程组加工成上三角方程组,所归结的方程组再通过回代过程得出它的解.Gauss 消去法由于添加了回代的过程,算法结构稍复杂,但这种改进的算法明显减少了计算量.直接法比较适用于中小型方程组.对高阶方程组,即使系数矩阵是稀疏的,但在运算中很难保持稀疏性,因而有存储量大,程序复杂等不足.5.3直接解法5.3.1Gauss 消去法Gauss 消去法是一个古老的求解线性方程组的方法,由它改进而来的选主元法是目前计算机上常用的有效的求解低阶稠密矩阵线性方程组的方法.例5.1用Gauss 消去法解方程组1231231232221(5.3.1)1324 (5.3.2)2539(5.3.3)2x x x x x x x x x ⎧++=⎪⎪++=⎨⎪++=⎪⎩解〖JP4〗第1步,式35.3.12⨯-()()加到式(5.3.2)上,式()15.3.1()2⨯-加到式(5.3.3)上,得到等价方程组123232322211(5.4.4)282(5.4.5)x x x x x x x ⎧++=⎪⎪-+=-⎨⎪⎪+=⎩第2步,式()2⨯5.3.4加到式(5.3.5)上得等价的方程组12323322211100(5.3.6)x x x x x x ++=⎧⎪-+=-⎨⎪=⎩第3步,回代法求解方程组(5.3.6),即可求得该方程组的解为32110,1,.2x x x ===-.用矩阵描述其约化过程即为233(2)22221011100100r r r ⨯+⇒⎡⎤⎢⎥--⎢⎥⎢⎥⎣⎦→[]122133(1)3()21()222212221,3241/201111395/20282r r r r r r A b ⨯-+⇒⨯-+⇒⎡⎤⎡⎤⎢⎥⎢⎥=--⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦→.这种求解过程称为具有回代的Gauss 消去法.由此例可见,Gauss 消去法的基本思想是:用矩阵的初等行变换将系数矩阵A 化为具有简单形式的矩阵(如上三角阵、单位矩阵等),而三角形方程组是很容易回代求解的.一般地,设有n 个未知数的线性方程组为11112211211222221122n n n n n n nn n na x a x a xb a x a x a x b a x a x a x b +++=⎧⎪+++=⎪⎨⎪⎪++=⎩L L MM M L (5.3.7)1212)(,,)(,,)T T ij n n n n A a X x x x b b b b ⨯===L L (,,,则方程组(5.3.7)化为AX b =.方便起见,记()(1)det 0A AA ==≠,(1)b b =,且()1A的元素记为()()11,ij a b ,的元素记为()1i b ,则消去法的步骤如下:第1步:1110a≠(),,计算(1)11(1)11(2,3,4),i i a m i n a ==L 用()1i m -乘方程组(5.3.7)中的第1个方程加到第i个方程中()2,3,i n =L ,即进行行初等变换()112,3,i i i R m R R i n -⋅→=L ,消去第2个到第n个方程中的未知数1,x ,得等价方程组111121(2)(2)(2)22222(2)(2)(2)2inn n n nn n x a a b x a a b ⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦LMM LM M L (5.3.8)记为(2)(2)A X b =,其中(2)(1)(1)(2)(1)(1)1111(,2,3),2,3,ij ij i j i i i a a m a i j n b b m b i n =-==-=L L ,,第k 步()1,2,1k n =-L:继续上述消元过程.第1步到第1k -步计算已完成,且得到与原方程组等价的方程组(1)(1)(1)(1)1112111(2)(2)(2)222223()()()()()()nn k k k kkkn k n k k k nk nn n a a a b x a a b xx aa b x a a b ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎣⎦⎣⎦L L LLOM L M MMM L(5.3.9)记为()(()K k A X b =,进行第k 步消元:设()0k kka≠,计算乘数()()(1,)k ikk ik kka m k k n a ==+L ,用ik m -乘方程组(5.3.9)中第k 个方程加到第i 1)i k n =+L (,,,个方程上消去方程组(5.3.9)中第i 1)i k n =+L (,,个方程的未知数k x ,得到与原方程组等价的方程组:(1)()()(1)()()(1)(1)()(,1,)( 1.)k k k ij ij ik kj k k k i i ik k k k k k a a m a i j k n b b m b i k n A A k b b k ++++⎧=-=+⎪=-=+⎨⎪⎩L L ()与前行元素相同,与前个元素相同 (5.3.10) 记为(1)(1)k k A X b ++=其中(1)(1,k k A b ++)中元素计算公式为(1)()()(1)()()(1)(1)()(,1,)( 1.)k k k ij ij ik kj k k k i i ik k k k k k a a m a i j k n b b m b i k n A A k b b k ++++⎧=-=+⎪=-=+⎨⎪⎩L L ()与前行元素相同,与前个元素相同 (5.3.11)重复上述过程,且设()0(1,2,1)k kk a k n ≠=-L ,共完成1n -步消元计算,得到与方程组(5.3.7)等价的三角形方程组1111211(2)(2)(2)22222()()n n n n n nn n x a a b x a b ⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦LMOM M (5.3.12)再用回代法求方程组(5.3.12)的解,计算公式为()()()()1()(),(1,2,1)n n n nn n i i i ij j j i i i ii b x a b a x x i n n a =+⎧=⎪⎪⎨-⎪==--⎪⎩∑L (5.3.13)元素()k kka 称为约化的主元素.将方程组(5.3.7)化为方程组(5.3.12)的过程称为消元过程.方程组(5.3.12)的求解过程(5.3.13)称为回代过程.由消元过程和回代过程求解线性方程组的方法称为Gauss 消去法.定理5.1(Gauss 消去法)设AX b =。
(完整版)2.1,2.2线性方程组的直接法
第二章线性方程组的直接法一、 教学目标及基本要求通过对本章的学习,使学生掌握线性方程组的直接法求解。
二、 教学内容及学时分配本章主要介绍线性方程组的直接法。
具体内容如下:第 第31-32学时讲授内容:追赶法、误差分析。
三、 教学重点难点1. 教学重点:消去法、追赶法。
2. 教学难点:消去法。
四、 教学中应注意的问题多媒体课堂教学为主。
适当提问,加深学生对概念的理解。
五、正文直接法所谓直接法,就是经过有限步算术运算,可求出方程组精确解的方法(若计算过程中没有舍入差)。
但实际计算中由于舍入误差的存在和影响,这种方法也只能求得线性方程组的 近似解,如何避免舍入误差的增长是设计直接法时必须考虑的问题。
本章将介绍这类方法中最基本的高斯(Gauss )消去法和矩阵分解法。
由于其准确性和可靠性,这类方法是解除稠 密线性方程组的有效方法。
最近直接法在求解较高阶稀疏线性方程组方面也取得了较大的进 展。
§2.1 消去法1约当消去法例1运用消去法求解方程组4x 1 2X 2 5X 34 (1)X 1 2X 2 71)将方程(1)的第一个方程中 X 1的系数化为1,并从方程组(1)的其余方程中消去 X 1 , 得:29-30学时讲授内容:消去法。
2x 1 x 2 3x3 1(7)x 1 0.5X 2 1.5x 3 0.54 X 2 X 32 (2)2.5X 21 .5X 3 6.52)将(2)中的第二个方程中 X 2的系数化为1,从其余方程中消去 X 2X 1 1 .375X 3 0.75X 2 0.25X 3 0.5(3)0.875X 3 5.25最后将方程(3)中第三个方程中X 3的系数化为1,从其余方程中消去X 3X 1 9 X 21 X 36上述算法就是所谓的约当消去法, 特点:每一步仅在一个方程中保留某个变元,而从其余各个方程中消去这个变元,最后,每个方程都变为仅含一个变元的形式, 从而得出所求的解。
第七章 线性代数方程组的直接法资料.
5n 6
Qdp
n1
(n
k )(n
k
1)
n3
n2
n
k 1
3 26
➢ 回代过程:
乘除法计算量: Qrt
n1 k 1
(n
k)
n
n(n 1) 2
加减法计算量: Qrp n1 (n k) n(n 1)
k 1
2
乘除法计算量总计:
Qt Qdt Qrt n3 n2 5n n(n 1) n3 n2 1 n
mi1
ai(11) a1(11)
消元因子
令ai(j2)
a(1) ij
mi1a1(1j)
i 2, , n,j 2 , n 1;
a(1) 11
0
a(1) 12
a(2) 22
0
a(2) n2
即:A(2) x b(2)
a(1) 1n
a(2) 2n
a(2) nn
x1
x2
...
xn
a11x1 a12 x2 a1n xn b1
a21x1
a22 x2 a2n xn
b2
an1x1 an2 x2 ann xn bn
AX = b
a11
A
a21
an1
a12 a22
a1n a2n
an2 ann
x1
X
x2
xn
(7.1)
b1
a11 x1
b1
a21x1
a22 x2
b2
an1x1 an2 x2 ann xn bn
a11x1 a12 x2 a1n xn b1
a22 x2 a2n xn b2
ann xn bn
解线性方程组的直接法和迭代法
数值分析方法中方程求解的直接法和迭代法第3章 解线性方程组的直接法一、消元法1. 高斯消元法(加减消元):首先将A 化为上三角阵,再回代求解。
11121121222212n n n n nnn a a a b a a a b a a a b ⎛⎫⎪ ⎪⎪⎪⎝⎭ (1)(1)(1)(1)(1)11121311(2)(2)(2)(2)222322(3)(3)(3)3333()()00000n n nn n nnn a a a a b a a a b a a b a b ⎛⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭步骤如下:第一步:1111,2,,i a i i n a -⨯+=第行第行11121121222212n n n n nnn a a a b a a a b a a a b ⎛⎫⎪ ⎪⎪⎪⎝⎭ 111211(2)(2)(2)2222(2)(2)(2)200n nn nnn a a a b a a b a a b ⎛⎫ ⎪ ⎪ ⎪ ⎪⎝⎭第二步:(2)2(2)222,3,,i a i i n a -⨯+=第行第行 111211(2)(2)(2)2222(2)(2)(2)200nnn nnn a a a b a a b a a b ⎛⎫⎪ ⎪ ⎪ ⎪⎝⎭11121311(2)(2)(2)(2)222322(3)(3)(3)3333(3)(3)(3)300000n n n n nn n a a a a b a a a b a a b a a b ⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭类似的做下去,我们有:第k 步:()()k ,1,,k ikk kka i i k n a -⨯+=+第行第行。
n -1步以后,我们可以得到变换后的矩阵为:11121311(2)(2)(2)(2)222322(3)(3)(3)3333()()00000n n nn n nnn a a a a b a a a b a a b a b ⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭注意到,计算过程中()k kk a 处在被除的位置,因此整个计算过程要保证它不为0。
解线性方程组的直接方法
解线性方程组的直接方法一、高斯消元法高斯消元法是解线性方程组的一种常用且直接的方法。
它的基本思想是通过一系列的代数运算,将方程组化为一个三角方程组,然后从最后一行开始,逐步回代求解未知数。
下面以一个二元一次方程组为例,说明高斯消元法的具体步骤:例如,给定方程组:a₁₁x₁+a₁₂x₂=b₁a₂₁x₁+a₂₂x₂=b₂其中,a₁₁,a₁₂,a₂₁,a₂₂,b₁,b₂为已知系数。
1.检查a₁₁的值是否为0,若为0则交换第一行与非零行。
2.将第一行的每个元素除以a₁₁,使a₁₁成为13.将第一行乘以(-a₂₁)并加到第二行上,使第二行的第一个元素变为0。
4.引入一个新的未知数y₂=a₂₁x₁+a₂₂x₂,并代入第二行,化简方程组。
5.使用回代法求解方程组。
高斯消元法的优势在于其直接的解题思路和较高的计算精度,但是其缺点是计算复杂度较高,对于大规模的方程组不太适用。
二、逆矩阵法逆矩阵法是解线性方程组的另一种直接方法,它通过求解方程组的系数矩阵的逆矩阵,并将其与方程组的常数向量相乘,得到方程组的解向量。
下面以一个三元一次方程组为例,说明逆矩阵法的具体步骤:例如,给定方程组:a₁₁x₁+a₁₂x₂+a₁₃x₃=b₁a₂₁x₁+a₂₂x₂+a₂₃x₃=b₂a₃₁x₁+a₃₂x₂+a₃₃x₃=b₃其中,a₁₁,a₁₂,a₁₃,a₂₁,a₂₂,a₂₃,a₃₁,a₃₂,a₃₃,b₁,b₂,b₃为已知系数。
1.计算系数矩阵A的行列式D=,A。
2. 求解系数矩阵A的伴随矩阵Adj(A)。
3. 计算逆矩阵A⁻¹=Adj(A)/D。
4.将常数向量b用列向量表示。
5.计算解向量x=A⁻¹b。
逆矩阵法的优势在于其求解过程相对简单,计算量较小,并且不需要对系数矩阵进行消元操作。
但是逆矩阵法的限制在于当系数矩阵不可逆时无法使用。
三、克莱姆法则克莱姆法则是解线性方程组的另一种直接方法,它通过定义克莱姆行列式和克莱姆向量,利用行列式的性质求解方程组的解向量。
3解线性方程组的直接法习题+答案
2 1 2 1 2
1 5 2 3 5
1
3
2
3
5
1 0 0
2 1 1
得
A
LU
,其中 L
1 2
1
0
,
U
0
5 2
3
2
1
3
1
0
0
3
2 5
姓名
第三章 线性方程组的直接解法
学号
班级
习题主要考察点:高斯消去法,LU 分解法,平方根法和追赶法解线性方程组。
要点:(1)利用列主元高斯消去法求解线性方程组
(2)矩阵的 Doolittle 分解
(3)利用系数矩阵的 Doolittle 分解求解线性方程组
例 1 用列主元消元法的方程组
2
x
1
3 x1
4 0 0
5 7
3 1 22 12 6
15
7
2
31
4 5 7 15 4 5 7 15
0 12 6 31 0 12 6 31
主元 0
3
1
7
消去
0
0
1
3
2 2 2
4 8
得等价的线性方程组为:
1 2 3 x1 2 2 7 2 x2 3 4 8 4 x 3 0
第三章解线性方程组的直接法
第三章 解线性方程组的直接法ﻩ许多科学技术问题要归结为解含有多个未知量x1, x 2, …, 的线性方程组ﻩﻩ⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++nn nn n n n n n n b x a x a x a b x a x a x a b x a x a x a 22112222212111212111ﻩﻩﻩﻩﻩﻩ(3。
1)这里 (i , j = 1, 2, …, n )为方程组的系数,(i = 1, 2, …, n )为方程组自由项。
方程组(3.1)的矩阵形式为: ﻩ ﻩﻩ = b 其中ﻩﻩﻩ⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎭⎫⎝⎛=n n nn n n n n b b b b x x x X a a aa a a a a a A2121212222111211ﻩ线性方程组的数值解法可以分为直接法和迭代法两类。
所谓直接法,就是不考虑舍入误差,通过有限步骤四则运算即能求得线性方程组(3。
1)准确解的方法.如克莱姆法则,但通过第一章的分析,我们知道用克莱姆法则来求解线性代数方程组并不实用,因而寻求线性方程组的快速而有效的解法是十分重要的.ﻩ本章讨论计算机上常用而有效的直接解法――高斯消去法和矩阵的分解等问题.为方便计,设所讨论的线性方程组的系数行列式不等于零。
§1 高斯消去法ﻩ高斯()消去法是解线性方程组最常用的方法之一,它的基本思想是通过逐步消元,把方程组化为系数矩阵为形矩阵的同解方程组,然后用回代法解此形方程组得原方程组的解。
下面先讨论形方程组的解法。
ﻩ1。
形方程组的解法ﻩ形方程组是指下面两种形式的方程组ﻩﻩﻩ⎪⎩⎪⎨⎧=+++=+=n n nn n n bx a x a x a b x a x a b x a 221122221211111ﻩﻩﻩﻩﻩﻩﻩﻩ(3。
2) 和ﻩﻩﻩ⎪⎪⎩⎪⎪⎨⎧==++=+++n n nn n n n n b x a b x a x a b x a x a x a 2222211212111ﻩﻩ ﻩﻩ ﻩ(3.3)方程组(3.2)叫做下形方程组,方程组(3.3)叫做上形方程组,形方程组的求解是很简单的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解Ly = b , 得
y2 y3 y 4 )T = (10 20 − 17 / 11 − 16)T
解Ux = y , 得
xn =
T
yn u nn
j =r + 1
( x1
x2
x3
x4 ) = (1 2 3 4 )T
yr − xr =
∑u
n
rj
xj
urr
Doolittle 法在计算机上实现是比较容易的 但如果按上述流程运算仍需要较大的存储空间:
对于线性方程组
Ax = b
系数矩阵非奇异 ,经过Doolittle分解后
A = LU
线性方程组可化为下面两个三角形方程组
Ly = b
y为中间未知量向量
1 l 21 L = l 31 M l n1 1 l 32 M ln 2
Ux = y
O L 1
u 13 u 14 u 23 u 24 a33 a34 a 43 a 44 u 13 u 23 u 33 l43 u 14 u 24 u 34 u 44
y1 y2 b3 b4
u 11 u 12 r=3 l21 u 22 −→ l31 l32 l 41 l42
u 13 u14 u 23 u 24 u 33 u 34 l43 a 44
A, b , x , L ,U , y都需要单独的存储空间
而从lij , uij的计算过程(1) ~ ( 4 )式可知 求出U的第一行u 1 j 后a1 j ( j ≥ 1)的存储位置即不再需要
求出L的第一列li 1后ai 1 (i ≥ 2 )的存储位置即不再需要
求出U的第r行urj 后arj ( j ≥ r )的存储位置即不再需要
a11 M A = ar 1 M a n1 L a1 r O M L arr M L anr L a1 n 1 O M M L arn = lБайду номын сангаасr +1, 1 L 1 M O M M L ann l n1 L lnr O L 1
j = r ,L , n r = 1 ,2 , L , n
air = ∑ lik u kr
k =1 r −1
r
a rj = ∑ lrk u kj + 1 ⋅ u rj
k =1
air = ∑ lik u kr + lir u rr
k =1
因此可以推导出
u1 j = a1 j ai 1 li1 = u 11
第二章 解线性方程组的直接法
§2.4 直接三角分解法
§ 2.4
直接三角分解法
一、基本的三角分解法 (Doolittle法)
若 n阶方阵 A = ( a ij ) n×n 的顺序主子式 Dk ≠ 0 , k = 1 ,2 , L , n
则由上节可知 , A的 LU 分解 A = LU 存在且唯一 , 即
T
u rj = a rj − ∑ l rk u k j
k =1
r −1
T
0 u33 u34 ) = (0 0 − 3 / 11 − 2 / 11) 0 1 l43 )
T
lir =
air − ∑ lik ukr
k =1
r −1
urr
(0 (0 ( y1
= (0 0 1 − 9 )T
0 0 u44 ) = (0 0 0 − 4 )
0 −3 2 10 − 3 − 4 − 12 13 1 2 3 −4 4 14 9 − 13
x1 10 x2 = 5 x3 − 2 x 4 7
u1 j = a1 j
u 14 a24 a34 a 44
y1 u 11 u 12 b2 r = 2 l21 u 22 −→ l31 l32 b3 l b4 41 l42 y1 u 11 u 12 y2 r = 4 l21 u 22 y 3 − → l31 l32 l b4 41 l42
1 M ln 3
u11 u12 u 22 U =
u 13 u 23 O
L L u n − 1 ,n − 1
u1 , n u2 , n M u n − 1 ,n unn
由第一节三角形方程组的知识, 不难得到Ly = b的解 :
y1 = b1 y2 = b2 − l21 y1
li 1 = ai1 u 11
解:
由Doolittle分解
u12 l21 u13 l31 u14 ) = (2 10 0 − 3) l41 )T = (1 − 1.5 0.5 2 )T
(u11 (1
(0 (0 (0
u22 u23 u24 ) = (0 11 − 12 8.5 ) 1 l32 l42 ) = (0 1 − 3 / 11 − 6 / 11)
a12 a 22 a 32 a 42
a13 a23 a33 a 43
a14 a 24 a 34 a 44
b1 b2 b3 b4
存储单元(位置)
u 11 r =1 l21 −→ l31 l 41
u12 a 22 a 32 a 42
u 13 a23 a33 a43
u11 L u1 r L u1 n O M M ⋅ u rr L u rn O M u nn
可知A的第r列元素主对角线以下元素 air (i = r + 1,L , n)为
air = ∑ lik u kr
k =1
r
i = r + 1, L , n r = 1, 2 , L , n − 1 i = 2 , 3, L , n
r −1
li 1 =
a i1 u 11
lir =
air − ∑ lik ukr
k =1
urr
2 3 − r=2 2 − → 1 2 2 2 3 − r=3 2 − → 1 2 2
10 17 11 − 12 20 2 3 − 3 − 4 − 2 11 6 − 9 − 13 7 11 10 0 −3 10 17 11 − 12 20 2 3 3 2 17 − − − − 11 11 11 11 6 − − 9 − 13 7 11
r −1 k =1
10 5 −2 7
0 − 3 10 2 10 3 − − 4 − 12 13 5 r =1 − → 12 2 3 − 4 − 2 2 2 14 9 − 13 7
u1
j
= a1
j
u rj = a rj − ∑ l rk u k j
显然 , r = 1时 , ai 1 = li 1u11
综合以上分析,有
a1 j = u1 j
r
j = 1,2 ,L , n
ai 1 = li 1u 11
i = 2 ,3 , L , n i = r + 1, L , n r = 1 ,2 ,L , n − 1
a rj = ∑ lrk u kj
k =1 r −1
y1 y2 y3 y4
从上式最后一个矩阵中 可知 L , U , y 然后解线性方程组 Ux = y
紧凑格式的 Doolittle 法
例2. 用紧凑格式的Doolittle 法解方程组 (例1) 解:
a11 a 21 A= a 31 a 41 a12 a22 a32 a42 a13 a23 a33 a 43 a14 a24 a34 a 44 a15 2 10 0 −3 a25 − 3 − 4 − 12 13 = a35 1 2 3 −4 a45 9 − 13 4 14
根据矩阵的乘法原理 , A的第一行元素 a 1 j 为
a1 j = u 1 j
j = 1,2 , L , n
A的第 r 行元素主对角线以右元 素 arj ( j = r , L , n )为
a rj = ∑ l rk u kj
k =1
r
j = r ,L , n r = 1, 2 , L , n
同样,由
y r = br − ∑ lrj y j
j =1 r −1
r = 2 ,3 ,L , n
1 l21 L = l31 M l n1
1 l 32 M ln 2 1 M ln 3
O L 1
因此再由Ux = y的解便得到Ax = b的解 u u yn xn = u unn
求出 y1后 b1的存储位置即不再需要
求出yi 后bi (i ≥ 2 )的存储位置即不再需要 因此yi的存储可以使用 bi (i ≥ 1)空出的存储位置
bi ⇐ yi , i = 1, 2 , L , n
直接三角分解的Doolittle法可以用以下过程表示 :
a11 a 21 a 31 a 41 a12 a 22 a 32 a 42 a13 a23 a33 a 43 a14 a 24 a 34 a 44 a15 a11 a25 a 21 = a35 a 31 a45 a 41