线性方程组的直接解法命令(直接调用)

合集下载

(完整word版)线性方程组的直接解法及matlab的实现

(完整word版)线性方程组的直接解法及matlab的实现

本科毕业论文(2010 届)题目线性方程组的直接解法及matlab的实现学院数学与信息工程学院专业数学与应用数学班级2006级数学1 班学号0604010127学生姓名胡婷婷指导教师王洁完成日期2010年5月摘要随着科技技术的发展及人类对自然界的不断探索模拟。

在自然科学和工程问题中的很多问题的解决常常归结为线性代数问题!本文的主要内容是对线性方程组求解方法的探讨,主要介绍了四种求解线性方程组的方法,第一种是教科书上常见的消元法,我们称之为基本法。

第二种方法是标准上三角形求解法,即将增广矩阵经过初等变换后化成标准上三角形,然后求解.它改进了一般教科书上的常见方法,与常见方法比较有如下优点:1)规范了自由未知量的选取;2)只用矩阵运算;3)减少了计算量.第三种方法是对特定的方程组(系数矩阵A为n阶对称正定矩阵,且A的顺序主子式均不为零。

)的求解方法进行描述,并且为这种线性方程的求解提供了固定的公式化的方法。

第四种方法是对现在实际问题中常常会遇到的系数矩阵为三对角矩阵的方程组的求解方法。

同时给出这几种方法的数值解法(matlab程序),由于运用电脑软件求解,所以必须考虑计算方法的时间、空间上的效率以及算法的数值稳定性问题,所以针对不同类型的线性方程组有不同的解法.但是,基本的方法可以归结为两大类,即直接法和迭代法.关键词高斯消去法;三角分解法;乔莱斯基分解法;追赶法AbstractSystems of linear equations are associated with many problems in engineering and scinence ,as well as with applications of mathematics to the social sciences and the quantitative study of business and economic problems.The main content of this article is the method for solving linear equations,we introduce four methods for solving linear equations in this paper。

线性方程组直接解法

线性方程组直接解法

14/87
算法 1.3 LU 分解
1: 2: 3: 4: 5: 6: 7: 8:
for k = 1 to n − 1 do for i = k + 1 to n do aik = aik /akk for j = k + 1 to n do aij = aij − aik akj end for end for end for
其中
li2 =
ai2
(1) (1)
, i = 3, 4, . . . , n.
a22
ln2 0 · · · 1
1 (1) 用 L− , 并将所得到的矩阵记为 A(2) , 则 2 左乘 A a11 a12 a13 (1) 0 a(1) 22 a23 0 0 a(2) 1 −1 −1 A(2) = L− 33 2 A = L2 L1 A = . . . . . . . . . (2) 0 0 an3
k=i+1
加上回代过程的运算量 O(n2 ), 总运算量为
2 3 n + O(n2 ) 3
12/87
† 评价算法的一个主要指标是执行时间, 但这依赖于计算机硬件和编 程技巧等, 因此直接给出算法执行时间是不太现实的. 所以我们通常 是统计算法中算术运算 (加减乘除) 的次数.
† 在数值算法中, 大多仅仅涉及加减乘除和开方运算. 一般地, 加减运 算次数与乘法运算次数具有相同的量级, 而除法运算和开方运算次 数具有更低的量级.
· · · a1n (1) · · · a2n (2) · · · a3n . .. . · · · ann
(2)
9/87
(k−1) • 依此类推, 假定 akk ̸= 0 (k = 3, 4, . . . , n − 1), 则我们可以构造一系 列的矩阵 L3 , L4 , . . . , Ln−1 , 使得 a11 a12 a13 · · · a1n (1) (1) 0 a(1) 22 a23 · · · a2n 0 0 a(2) · · · a(2) 1 −1 −1 L− · · · L L A = ≜ U → 上三角 33 3 n n−1 2 1 . . . .. . . . . . . . (n−1) 0 0 0 · · · ann

解线性方程组的直接方法

解线性方程组的直接方法

(1.5)
消去法的回代过程是解上三角形方程组(1.5).我们从方程组(1.5)的第三个方 x3 6 / 6 1 ; 程解得 然后将它代入第二个方程得到
x2 ( 5 x3 ) / 3 2;
最后,将 x3 1, x2 2 代第一个方程得到
x1 (3 2 x2 3 x3 ) / 2 2.

(n+1)n/2次运算
i 1 l11 bi lij x j l21 l22 j 1 A xi , i 1, , n lii l l l nn n1 n 2

(n+1)n/2次运算
n u11 u12 u1n bi uij x j u22 u2 n j i 1 A x , i n, ,1 i uii u nn
1,2,...,n)
( 1 .2 )
Ax b,
a1n a2 n , ann
§1 1.1 Gauss 消去法 本章主要介绍求解线性方程组(1.1)的直接法。所谓直接法,就是不考虑 计算过程的舍入误差时,经有限次数的运算便可求得方程组准确解的方法.我 们还将在§5中对计算过程中的舍入误差作一些初步分析.
a11 a 21 A, b ... an 2
之间有一对应关系.不难看出:
a12 a22 ... an 2
... ... ... ...
a1n a2 n ... ann
b1 b2 ... bn
(1.3)
(1)交换矩阵(1.3)的第p,q两行(记作 的第p,q两个方程;

(1.8)
(1.9)
(1.9)式是消元过程的一般计算公式.式中作分母的元素

第二章 线性方程组的直接解法

第二章  线性方程组的直接解法

a i(kk ) l ik = ( k ) a kk a ( k +1) = a ( k ) − l a ( k ) ij ik kj ij ( k +1) = 0 a ik b ( k +1) = b ( k ) − l b ( k ) i ik k i
( i = k + 1, ⋯ , n ) ( i , j = k + 1, ⋯ , n ) ( i = k + 1, ⋯ , n ) ( i = k + 1, ⋯ , n )
定理2 定理2.1 高斯消元法消元过程能进行到底的充要条件是系 n- 阶顺序主子式不为零; Ax=b 能用高斯消元 数阵A的 数阵 A 的 1 到 n-1 阶顺序主子式不为零 ; Ax=b能用高斯消元 法解的充要条件是A的各阶顺序主子式不为零 的各阶顺序主子式不为零. 法解的充要条件是 的各阶顺序主子式不为零.
(i=2,3,⋯,k) )
(i ) 显然, Di ≠ 0 ↔ a ii ≠ 0 , 可知,消元过程能进行到底的充 显然, 可知, 要条件是D 要条件是 i≠0 ,(i=1,2,⋯,n-1),若要回代过程也能完成,还应 , 若要回代过程也能完成, 加上D | | ,综合上述有: 加上 n=|A|≠0,综合上述有:

( a kkk )

( a nkk )
⋯ a 1(1 ) b1(1 ) n (2) (2) ⋯ a 2 n b2 ⋯ ⋯ ⋯ (k ) (k ) ⋯ a kn b k ⋯ ⋮ ⋮ (k ) (k ) ⋯ a nn b n
7
结束
本次消元的目的是对框内部分作类似第一次消元的处 ( (k 消掉第k+1到第 个方程中的 k项,即把 akk ) ,k到 ank ) 化 到第n个方程中的 理,消掉第 到第 个方程中的x +1 为零.计算公式如下: 为零.计算公式如下:

解线性方程组的直接解法

解线性方程组的直接解法

解线性方程组的直接解法一、实验目的及要求关于线性方程组的数值解法一般分为两大类:直接法与迭代法。

直接法是在没有舍入误差的情况下,通过有限步运算来求方程组解的方法。

通过本次试验的学习,应该掌握各种直接法,如:高斯列主元消去法,LU分解法和平方根法等算法的基本思想和原理,了解它们各自的优缺点及适用范围。

二、相关理论知识求解线性方程组的直接方法有以下几种:1、利用左除运算符直接求解线性方程组为bx\=即可。

AAx=,则输入b2、列主元的高斯消元法程序流程图:输入系数矩阵A,向量b,输出线性方程组的解x。

根据矩阵的秩判断是否有解,若无解停止;否则,顺序进行;对于1p:1-=n选择第p列中最大元,并且交换行;消元计算;回代求解。

(此部分可以参看课本第150页相关算法)3、利用矩阵的分解求解线性方程组(1)LU分解调用matlab中的函数lu即可,调用格式如下:[L,U]=lu(A)注意:L往往不是一个下三角,但是可以经过行的变换化为单位下三角。

(2)平方根法调用matlab 中的函数chol 即可,调用格式如下:R=chol (A )输出的是一个上三角矩阵R ,使得R R A T =。

三、研究、解答以下问题问题1、先将矩阵A 进行楚列斯基分解,然后解方程组b Ax =(即利用平方根法求解线性方程组,直接调用函数):⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--------=19631699723723312312A ,⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-=71636b 解答:程序:A=[12 -3 2 1;-3 23 -7 -3;2 -7 99 -6;1 -3 -6 19];R=chol(A)b=[6 3 -16 7]';y=inv(R')*b %y=R'\bx=inv(R)*y %x=R\y结果:R =3.4641 -0.8660 0.5774 0.28870 4.7170 -1.3780 -0.58300 0 9.8371 -0.70850 0 0 4.2514y =1.73210.9540-1.59451.3940x =0.54630.2023-0.13850.3279问题 2、先将矩阵A 进行LU 分解,然后解方程组b Ax =(直接调用函数):⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----=8162517623158765211331056897031354376231A ,⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-=715513252b解答:程序:A=[1/3 -2 76 3/4 5;3 1/sqrt(3) 0 -7 89;56 0 -1 3 13;21 65 -7 8 15;23 76 51 62 81];b=[2/sqrt(5);-2;3;51;5/sqrt(71)];[L,U]=lu(A)y=inv(L)*bx=inv(U)*y结果:L = 0.0060 -0.0263 1.0000 0 00.0536 0.0076 -0.0044 0.1747 1.00001.0000 0 0 0 00.3750 0.8553 -0.6540 1.0000 00.4107 1.0000 0 0 0U =56.0000 0 -1.0000 3.0000 13.00000 76.0000 51.4107 60.7679 75.66070 0 77.3589 2.3313 6.91370 0 0 -43.5728 -50.06310 0 0 0 96.5050y =3.0000-0.63880.859850.9836-11.0590x =0.13670.90040.0526-1.0384-0.1146问题3、利用列主元的高斯消去法,求解下列方程组:⎪⎪⎩⎪⎪⎨⎧=+--=--+=-+-=+-+01002010100511.030520001.0204321432143214321x x x x x x x x x x x x x x x x解答:程序:function [RA,RB,n,X]=liezhu(A,b)B=[A b];n=length(b);RA=rank(A);RB=rank(B);zhica=RB-RA;if zhica>0disp('Çë×¢Ò⣺RA~=RB£¬ËùÒÔ´Ë·½³Ì×éÎ޽⡣')returnendif RA==RBif RA==ndisp('Çë×¢Ò⣺ÒòΪRA=RB=n,ËùÒÔ´Ë·½³Ì×éÓÐΨһ½â¡£')X=zeros(n,1);C=zeros(1,n+1);for p=1:n-1[Y ,j]=max(abs(B(p:n,p)));C=B(p,:);for k=p+1:nm=B(k,p)/B(p,p);B(k,p:n+1)=B(k,p:n+1)-m*B(p,p:n+1)endendb=B(1:n,n+1);A=B(1:n,1:n);X(n)=b(n)/A(n,n);for q=n-1:-1:1X(q)=(b(q)-sum(A(q,q+1:n)*X(q+1:n)))/A(q,q);endelsedisp('Çë×¢Ò⣺ÒòΪRA=RB¡´n£¬ËùÒÔ´Ë·½³ÌÓÐÎÞÇî¶à½â¡£') endend键入A=[1 20 -1 0.0012 -5 30 -0.15 1 -100 -102 -100 -1 1];b=[0;1;0;0];[RA,RB,n,X]=liezhu(A,b)结果:请注意:因为RA=RB=n,所以此方程组有唯一解。

6第六章 线性方程组的直接解法

6第六章 线性方程组的直接解法
a b
( 3) ij

a12
( 2) a22
a13
a1n
0 0 0
( 2) ( 2) a23 a2 n ( 3) ( 3) a33 a3 n
0 0



( 3) ( 3) an a 3 nn
b1 ( 2) b2 ( 3) b3 ( 3) bn
即 其中
Numerical Analysis 第二步: 若 (2) 22
a
0
2015/11/6
J. G. Liu
a1n a a
( 2) 2n
( 2) nn
b1 ( 2) b2 ( 2) bn
, a 11
a 第i行 第2行 a ( 2)
A b
1 2 3
2 5 1
3 14 3 14r 2 r 1 2 r2 3r1 0 1 4 10 2 18 3 1 0 5 4 22 5 20
School of Math. & Phys.
9
North China Elec. P.U.

( 2) n
( 2) nn
b
( 2) i
ai1 bi b1 a11
运算量: (n-1)*(n+1)
11 North China Elec. P.U.
School of Math. & Phys.
a11 a12 ( 2) 0 a22 0 a ( 2) n2
a a a
0 0
(1) 13 (2) 23 (3) 33
a a
0

解线性方程组的直接方法

解线性方程组的直接方法

或写为矩阵形式
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)块.

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

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

算法 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

数值分析第二章解线性方程组的直接方法

数值分析第二章解线性方程组的直接方法

a2(22) x2 ... a2(2n) xn b2(2) ,
..............
an(nn) xn bn(n) .
对此方程组进行回代,就可求出方程组的解.
xn
xiΒιβλιοθήκη bn(n) (bi(i )
an(nn) ,
n
ai(ji ) x
j i 1
j
)
ai(ii ) ,
i n 1,n 2,,1.
x3 x3
1 1
4x1 2x2 2x3 3
消去后两个方程中的x1得
x1
2 x2 5 x2
x3 1 2x3 2
6x2 6x3 1
再消去最后一个方程的x2得
x1
2 x2 5 x2
x3 1 2x3 2
42 5
x3
7 5
消元结束.
x1
1 2
经过回代得解:
x2
1 3
互换, 因而程序比较复杂, 计算时间较长.
• 列主元素法的精度虽然稍低于全主元素法, 但其
计算简单, 工作量大为减少, 且计算经验与理论实
践均表明, 它与全主元素法同样具有良好的数值稳
定性.
• 列主元素法是求解中小型稠密线性方程组的最好
方法之一.
27
§2 直接三角分解法
Gauss消元法的矩阵表示
a12
a13
a 1 0 a21 a22 a23 a21 aa11 a22 aa12 a23 aa13
b 0 1 a31 a32 a33 a31 ba11 a32 ba12 a33 ba13
28
n=3时Gauss消元法的矩阵表示
a11 a12 a13 A a21 a22 a23

第三章 线性代数方程组的直接解法1

第三章 线性代数方程组的直接解法1

for
j = n : −1 : 2
y( j ) = y( j ) u( j , j )
y (1 : j − 1) = y (1 : j − 1) − y ( j )u(1 : j − 1, j )
end
y(1) = y(1) u(1,1)
加减乘除运算次数之和)均为 两种算法的工作量(加减乘除运算次数之和 两种算法的工作量 加减乘除运算次数之和 均为 n
高斯变换
a 0
(1) 11

L = I +l e 1
其中 l i 1
T 1 1
l1 = (0, l21,⋯, ln1)
a
(1) 11
T
=
−1 1
a
(1) i1
i = 2, 3,⋯ , n
−1 1 T 1 1

A
( 2)
=L A
(1)
L = I −l e
(1 a11) 0 I n−1 c1 T 1
(i ) ii
的各阶顺序主子式都不等于零 顺序主子式都不等于 A 的各阶顺序主子式都不等于零,即
−1 −1 1 2
1 4 7 0 −3 − 6 = U L2 L1 A = 0 0 1
∴ A = L L U = LU
其中
1 0 0 2 1 0 −1 − 1 L = L1 L2 = 3 2 1
Gauss消去法的矩阵表示 消去法的矩阵表示 设给定 n 阶矩阵 记
1 0 0 −2 1 0 L1 = −3 0 1
设给定矩阵
则有
7 1 4 0 −3 −6 L1 A = 0 −6 −11

线性方程组的直接解法

线性方程组的直接解法
n
| aii | | aij | 0 j 1 ji
(i 1,2,, n)
即对角线上每一元素的绝对值均大于同行其他各元素绝对 值之和,这样的矩阵称为按行严格对角占优矩阵,简称严格对角 占优矩阵.
例:
4 2 1
A3 8 2
1 1 5
性质:严格对角占优矩阵必定非奇异.
若A对 称 且 严 格 对 角 占 优, 则 消 元 过 程 中 第k步 主 元
9 上一页 下一页 返回
回代
求 解 三 角 形 方 程 组(2), 得 求 解 公 式
x
n
b( n1) n
a ( n1) nn
n
(bk(k 1)
a(k kj
1)
x
j
)
x
k
j k 1
a(k 1) kk
(k n 1, n 2,,1)
定理 若A的所有顺序主子式 /* determinant of leading principal
输入方程阶数n, 增广矩阵a(n, n 1), k 1, D 1
akk 0 F
i k 1,, n, aik aik / akk 输 出 失 败 信 息, 停 消
k=k+1


j k 1,, n, aij aij aik akj

D D •akk
ann 0 F
D D •a nn
思 首先将A化为上三角阵 /* upper-triangular matrix */, 路 再回代求解 /* backward substitution */。
=
一、 高斯顺序消去法 是一种古老的求解线性方程组的方法, 按自然顺序进
行消元的方法.
3 上一页 下一页 返回

第3章线性方程组的直接解法1

第3章线性方程组的直接解法1

b1(1) (1) (3.6) b2 (1) bn
若 a 第一步消元: 11 0,

(1) 利用主元素(即为消元过程中的主对角线元素)a11 (1) a 消去下面的 i1 , i 2,3,, n
取消元因子 消元计算得到
li1 a / a , i 2,3,, n 用第 i 行减去第一行的 l a(1) / a(1) , i 2,3,, n倍 i1 i1 11
i 1
三、上三角方程组(返回Gauss)
u11 x1 u12 x 2 u13 x3 u1n x n b1 u ii xi u i ,i 1 xi 1 u in x n bi u n 1,n 1 x n 1 u n 1,n x n bn 1 u nn x n bn n uii xi bi (ui ,i 1 xi 1 uin xn ) bi uij x j
阶线性方程组消元过程可描述为经过
步消元化成上三角方程组.
A
(1)
,b
(1)
A
k 1
( 2)
,b
( 2)
A
k 2
(k )
,b
(k )
A
k n 1
(n)
, b( n )

三、高斯消去法的算法公式
(上三角形式).
总结上述消元与回代过程,得到高斯消去法的算法公式如下
或写成矩阵形式:
(3.1)
返回
a11 a12 a a 21 22 a a n1 n 2
或简单地记为:
a1n x1 b1 a 2 n x 2 b2 b a nn x n n Ax b,

求解线性方程组的直接解法

求解线性方程组的直接解法

求解线性方程组的直接解法5.2 LU 分解① Gauss 消去法实现了LU 分解顺序消元结束时的上三角矩阵U 和所用的乘数,严格下三角矩阵。

将下三角矩阵的对角元改成1,记为L ,则有A =LU ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-613322121121542774322这事实是一般的,我们不难从消去的第k 个元素时的矩阵k 行及k 列元素的历史得到这一点.因为从消元的历史有 u kj =a kj -m k 1u 1j - m k 2u 2j -…- m k ,k-1u k-1,j , j=k ,k+1,…,n m ik =(a ik -m i 1u 1k - m i 2u 2k -…-m i ,k-1u k-1,k )/u kk i=k+1,k+2,…,n 于是 a kj =m k 1u 1j +m k 2u 2j +…+m k ,k-1u k-1,j +u kj , j=k ,k+1,…,n a ik =m i 1u 1k +m i 2u 2k +…+m i ,k-1u k-1,k +m ik u kk i=k+1,k+2,…,n 从前面两个式子我们可以直接计算L 和U (见下段).将矩阵分解为单位下三角矩阵和上三角矩阵之积称为矩阵的LU 分解.顺序消元实现了LU 分解,同时还求出了g , Lg =b 的解.② 直接LU 分解上段我们得到(l ij =m ij ) u kj =a kj -l k 1u 1j -l k 2u 2j -…- l k ,k-1u k-1,j , j=k ,k+1,…,n l ik =(a ik -l i 1u 1k -l i 2u 2k -…-l i ,k-1u k-1,k )/u kk i=k +1,k+2,…,n2诸元素对应乘积,只不过算L 的元素时还要除以同列对角元.这一规律很容易记住.可写成算法(L 和U 可存放于A ): for k =1:n -1 for j=k :n u kj =a kj -l k 1u 1j -l k 2u 2j -…- l k ,k-1u k-1,jendfor i=k+1:nl ik =(a ik -l i 1u 1k -l i 2u 2k -…-l i ,k-1u k-1,k )/u kk end end这一算法也叫Gauss 消去法的紧凑格式,可一次算得L ,U 的元素,不需逐步计算存储.考察上面的表格会发现还可安排其它计算次序,只要在这一次序下每个元素左边的L 的元素与上方的U 的元素已计算在先。

第3章 线性方程组求解的直接解法

第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-13)
(k ) (k ) 左乘矩阵 [ A( k ) , b(k ) ], 其中 lik aik / akk (i k 1,, n)
经过
n 1
次消元后得到
21
21
第二章 解线性方程组的直接方法
(1) a11 [ A( n ) , b ( n ) ] 0
时作行与列的互换,因而程序比较复杂,计算时间较长.
列主元素法的精度虽稍低于全主元素法,但其计算简单, 工作量大为减少,且计算经验与理论分析均表明,它与全
主元素法同样具有良好的数值稳定性,故列主元素法是 求解中小型稠密线性方程组的最好方法之一.
16
第二章 解线性方程组的直接方法
§2.3 直接三角分解法
2.3.1 Gauss 消去法的矩阵形式 如果用矩阵形式表示,Gauss消去法的消元过程是对 方程组(2-1)的增广矩阵[A,b]进行一系列行初等变换, 将系数矩阵A化成上三角形矩阵的过程.
我们知道,对矩阵进行一次初等行变换,相当于用相 应的初等矩阵去左乘原来的矩阵. 将系数矩阵A化成上三角形矩阵的过程,也等价于 用一串初等矩阵去左乘增广矩阵,因此消元过程可以
1i n
将(2-11)
中第1行与第 i1 行互换.为方便起见,记行互换后的增广
矩阵为 [ A(1) , b (1) ] ,然后进行第一次消元,得矩阵
7
第二章 解线性方程组的直接方法
(1) a11 [ A( 2 ) , b ( 2 ) ] (1) a12 ( 2) a22 ( 2) an 2 1) a1(n ( 2) a2 n ( 2) ann
(3)
等价于用矩阵
0 1 l32 ln 2

解线方程组的直接方法

解线方程组的直接方法

11 1
12 2
13 3


a x a x (2) (2)
22 2
23 3
a x a x (2) (2)
32 2
33 3


a x a x (2) (2)
n2 2
n3 3
a x b (1) (1)
1n n
1
a x b (2) (2)
2n n
11 1
12 2
13 3

a x a x (2) (2)
22 2
23 3
a x(3) 33 3




a x b (1) (1)
1n n
1
a x b (2) (2)
2n n
2
a x b (3) (3)
3n n
3
a x b (n)
(n)
nn n
n
3.712
4.623

x2


2.000
2.000 1.072 5.643 x3 3.000
四位有效数字精确解为x* (0.4904, 0.05104,0.3675)T
解:(1)高斯消去法
0.001
A | b 1.000
2.000
L

L11L21

L1 n 1


21

1

m m
n1
n2 1
定理7(矩阵的LU分解) 设A为n阶矩阵,如果A的顺序主子式 Di≠0(i=1,2,…,n-1),则A可分解为一个单位下 三角矩阵L和一个上三角矩阵U的乘积,且这种分解是 唯一的。

线性方程组的直接解法

线性方程组的直接解法
………………………… an 1 an 2 an3 … an n bn
a1 1 a1 2 a13 . a1 n b1
l a22 a23 . a2n b2
21
l31 l32 a33 . a 3n b3 l41 l42 l43 . a 4n b4 . . . . . .. l n1 l n2 l n3 . ann bn
若出现 =0,消元过程就不能进行下去。 ≠0,消去过程能够进行,但若 很小,也会
造成舍入误差积累很大导致计算解的精度下降。
例5-2 在四位十进制的限制下,试顺序Gauss消 去法求解如下方程组
此方程组具有四位有效数字的精确解为
x1=17.46,x2=-45.76,x3=5.546
解 用顺序Gauss消去法求解,消元过程如下
如果用每秒百万次的计算机来计算,需要三千万 年时间。可见Gramer法则不是一种实用的方法。
因此,必须构造出适合于计算机使用的线性方程 组的求解方法。
求解线性方程组的数值方法可分为两大类:直接 方法和迭代方法。本章讨论直接方法,迭代方法将在 下一章中讨论。
直接方法的特点是,如果不考虑计算过程中的舍 入误差,运用此类方法经过有限次算术运算就能求 出线性方程组的精确解。
Gauss消去法由消元和回代两个过程组成,先讨论 一个具体的线性方程组的求解。
一、顺序Gauss消去 法
例1. 用Gauss消去法解方程组
用增广矩阵进行进算
这样,对于方程组
(5.1)
或者 我们用增广矩阵表示,并给出gauss消去法的具体算法
顺序Gauss消去法的消元过程可表述如下:
第一步,设
,将第一列以下各元素消成零,
即依次用
(i=2,3,…,n)

数值分析第五章线性方程组直接解法

数值分析第五章线性方程组直接解法

x3 1 x2 8 7x3 1
x1 2 2x2 2x3 2
3
Gauss 消去法
考虑 n 阶线性方程组:
a11x1 a12x2 ... a1nxn b1
a21
x1
a22 x2
...
a2n xn
b2
an1x1 an2x2 ... annxn bn矩阵形式Biblioteka Ax b109 1
1
0 109 109
列主元Gauss消去法:
109 1 1
1
1 2
1 1 2 109 1 1
x2 1, x1 0
x1 x2
1 1
数值分析
第五章 解线性方程组的直接方法
—— 矩阵三角分解法
18
LU 分解
1、LU分解 将 Gauss 消去过程中第 k-1 步消元后的系数 矩阵记为:
10
LU 分解存在唯一性
LU 分解存在
高斯消去法不被中断
所有顺序主子式不为零
a(k) kk
0
定理:若 A 的所有顺序主子式不为零,则 A 存在 唯一的 LU分解
11
列主元 Gauss 消去法
Gauss 消去法有效的条件是: 主元全不为零
例:解线性方程组
0 1
1 0
x1 x2
1 1
列主元 Gauss 消去法
( k = 1, …, n-1)
a(k) nk
a(k) nn
A L A 则 A(k) 与 A(k+1) 之间的关系式可以表示为: (k1)
(k) k
其中: 1
Lk
1 mk1,k 1
mik
a(k) ik
a(k) kk
( i = k + 1, …, n )
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档