数值分析第三章 解线性方程组的直接方法..
数值分析第三章 解线性方程组的直接方法 ppt课件

对算每一一次行。计以算后每s注i一意数步m 1:学考j这上a虑n两|严x子a个格i列j |方等。 a程价为...kk 组。省中在时as间iki 最,s大i 只的在ai初k 为始主时元计。
a nk
注:稳定性介于列主元法和全主元法之间。
§2 三角分解法 /* Matrix Factorization */
A(2) b(2)
其中
a(2) ij
b(2) i
a(1) ij
b(1) i
mi
a(1)
1 1j
mi1b1(1)
(i, j 2, ...,n)
Step
k:设
a(k) kk
, 0计算因子
m ik a i(k k )/a k (k )k(i k 1 ,..n ) .,
且计算
a(k1) ij
➢ 高斯消元法的矩阵形式 /* Matrix Form of G.E. */:
Step 1: m i1a i1/a 11(a 1 10 )
1
记 L1 =
m 21 ...
1
m n1
a1(1)1...a1(1n) b1(1)
A b ,则 L 1 [A (1 ) b (1 )]
(2) (2)
1
Step n 1:
Ln1Ln2 ...L1
Ab
a1(11)
a(1) 12
a(2) 22
...
a(1) 1n
...
a(2) 2n
... ...
bb12((12))
...
其中 Lk =
1
a(n) nn
bn(n)
1
m k 1,k ...
m n ,k
1
1
解线性方程组的直接方法

解线性方程组的直接方法一、高斯消元法高斯消元法是解线性方程组最常用的方法之一、它通过一系列的消元操作,将线性方程组转化为阶梯型方程组,从而求解未知数的值。
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.1 引 言
迭代法又称为间接法,是先从一个给定的初始值开始,然后用 某种极限过程去逼近方程组准确解的一类方法. 这类方法编程较容 易,但要考虑迭代过程的收敛性、收敛速度等问题. 由于实际计算
时只能进行有限步的计算,从而得到的也是近似解. 当线性方程组
的系数矩阵阶数高,零元素比较多时(即系数矩阵为高阶稀疏矩 阵),一般优先考虑迭代法. 目前常用的迭代法有雅可比迭代法、 高斯─赛德尔迭代法、超松弛迭代法和梯度法.
( k 1)
, n )个
A
其中
xb
( k 1)
( k 1) (k ) (k ) aij aij mik akj ( k 1) ( k ) (k ) m bi ik b k bi
i, j 2,3, , n
3.2.2 n阶线性方程组的高斯消去法
只要 a
(k ) kk
0 ,就可继续进行消元,直到经过 n 1 次消元后,消
(1) (1) a11 a12 (2) a 22 (1) a x1 b1 (2) a x2 b 2 (n) (n) ann xn b n (1) 1n (2) 2n
其中,a
(k ) kk
称为各次消元的主元素,mik 称为各次消元的比例
系数,主元素所在的行称为主行。( k 1, 2,
,n )
3.2.2 n阶线性方程组的高斯消去法
(i ) a 定理1 约化的主元 ii 0(i 1, 2, , k ) 的充要条件是矩阵A的顺序主子
式均不为零,即
a11 D1 a11 0, Di ai1
数值分析第三章线性方程组解法

数值分析第三章线性方程组解法在数值分析中,线性方程组解法是一个重要的主题。
线性方程组是由一组线性方程组成的方程组,其中未知数的次数只为一次。
线性方程组的解法包括直接解法和迭代解法两种方法。
一、直接解法1.1矩阵消元法矩阵消元法是求解线性方程组的一种常用方法。
这种方法将方程组转化为上三角矩阵,然后通过回代求解得到方程组的解。
1.2LU分解法LU分解法是将系数矩阵A分解为一个下三角矩阵L和一个上三角矩阵U的乘积,然后通过解两个三角方程组求解线性方程组。
这种方法可以减少计算量,提高计算效率。
1.3 Cholesky分解法Cholesky分解法是对称正定矩阵进行分解的一种方法。
它将系数矩阵A分解为一个下三角矩阵L和它的转置的乘积,然后通过解两个三角方程组求解线性方程组。
Cholesky分解法适用于对称正定矩阵的求解,具有较高的精度和稳定性。
二、迭代解法2.1 Jacobi迭代法Jacobi迭代法是一种迭代求解线性方程组的方法。
它通过分解系数矩阵A为一个对角矩阵D和一个余项矩阵R,然后通过迭代更新未知数的值,直至达到一定精度要求为止。
Jacobi迭代法简单易懂,容易实现,但收敛速度较慢。
2.2 Gauss-Seidel迭代法Gauss-Seidel迭代法是一种改进的Jacobi迭代法。
它通过使用新计算出的未知数值代替旧的未知数值,达到加快收敛速度的目的。
Gauss-Seidel迭代法是一种逐步逼近法,每次更新的未知数值都会被用于下一次的计算,因此收敛速度较快。
2.3SOR迭代法SOR迭代法是一种相对于Jacobi和Gauss-Seidel迭代法更加快速的方法。
它引入了一个松弛因子,可以根据迭代的结果动态地调整未知数的值。
SOR迭代法在理论上可以收敛到线性方程组的解,而且收敛速度相对较快。
三、总结线性方程组解法是数值分析中的一个重要内容。
直接解法包括矩阵消元法、LU分解法和Cholesky分解法,可以得到线性方程组的精确解。
数值分析-北交大-王兵团-3-线性方程组解法 (1)

©
追赶法求解公式为:
追赶法算法
用追赶法来求解三对角线性方程组, 计算量只是5n-4,这比Gauss消元法的计算 量要小很多。
©
第3章 线性方程组解法
§3.5 线性方程组解对系数的敏感性
©
1、解对系数敏感性的相对误差 设方程组Ax=b的解为
扰动方程组的准确解为
有
©
用上述过程求解 的方法称为追赶法解法。
©
定理3.7
Sor法收敛的必要条件是松弛因子满足0<<2 证明
©
2、误差估计 定理3.8 设矩阵B的某种矩阵范数
证明参照非线性方程求根定理的证明, 将:绝对值换成范数、函数换成矩阵,注意范数关系 的使用,
©
例3.1 用Jacobi 迭代法解线性方程组 解
Jacobi迭代收敛!
故所求近似解为 准确解:
©
第3章 线性方程组解法
§3.4 线性方程组的直接解法
©
一、Gauss消元法 1、基本思想 先将线性方程组通过消元方法化为同解的上三角
方程组,然后从该三角方程组中按第n个方程、第n1个方程、…、第1个方程的顺序,逐步回代求出线 性方程组的解。
2、构造原理 Gauss消元法的求解过程分为两个: “消元”:把原方程组化为上三角方程组; “回代”:求上三角方程组的解。
©
计算量
©
2)Gauss消元法矩阵解释 第1步消元
第n-1步消元后,有
©
L是下三角阵,U是上 三角阵。
A=D-L-U ?
例:研究线性方程组
的Gauss消元法求解结果,假设计算在4位浮点十进 制数的计算机上求解。
解:
用Gauss消元法得
©
用Gauss消元法求解得 其准确解为
解线性方程组的直接方法

解线性方程组的直接方法1.1 主元的选取与算法的稳定性1.1.1问题提出Gauss 消去法是我们在线性代数中已经熟悉的。
但由于计算机的数值运算是在一个有限的浮点数集合上进行的,如何才能确保Gauss 消去法作为数值算法的稳定性呢?Gauss 消去法从理论算法到数值算法,其关键是主元的选择。
主元的选择从数学理论上看起来平凡,它却是数值分析中十分典型的问题。
1.1.2实验内容考虑线性方程组n n n R b R A b Ax ∈∈=⨯,,编制一个能自动选取主元,又能手动选取主元的求解线性方程组的Gauss 消去过程。
1.1.3实验要求(1)取矩阵⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=1415157,6816816816 b A ,则方程有解T x )1,,1,1(* =。
取10n =计算矩阵的条件数。
让程序自动选取主元,结果如何?(2)现选择程序中手动选取主元的功能。
每步消去过程总选取按模最小或按模尽可能小的元素作为主元,观察并记录计算结果。
若每步消去过程总选取按模最大的元素作为主元,结果又如何?分析实验的结果。
(3)取矩阵阶数20n =或者更大,重复上述实验过程,观察记录并分析不同的问题及消去过程中选择不同的主元时计算结果的差异,说明主元素的选取在消去过程中的作用。
(4)将上述矩阵A中的主元改为0.00006再重新作一次数值实验看看。
(5)选取其他你感兴趣的问题或者随机生成矩阵,计算其条件数。
重复上述实验,观察记录并分析实验结果。
1.1.4实验过程(1)程序:clear;clc;a=input('是否调整消元次序(是:1,否:0)');n=input('系数矩阵的阶数:');%构造题中给定形式的矩阵A(1,1)=6;A(1,2)=1;A(1,n+1)=7;%第n+1列取题中的bfor i=1:(n-2);A(i+1,i)=8;A(i+1,i+1)=6;A(i+1,i+2)=1;A(i+1,n+1)=15;end;A(n,n-1)=8;A(n,n)=6;A(n,n+1)=14;%自动消元if a==0;for i=1:(n-1);for j=(i+1):n;x=A(j,i)/A(i,i);for k=1:(n+1);A(j,k)=A(j,k)-x*A(i,k);end;end;end;y(n)=A(n,n+1)/A(n,n);for i=2:n;y(n-i+1)=A(n-i+1,n+1);for j=1:(i-1);y(n-i+1)=y(n-i+1)-A(n-i+1,n-j+1)*y(n-j+1);end;y(n-i+1)=y(n-i+1)/A(n-i+1,n-i+1);end;yend;%手动控制消元次序if a==1;for i=1:(n-1);A %显示每步消元的结果m=input('请选取作为主消元行的行号');for l=1:(n+1);c=A(i,l);A(i,l)=A(m,l);A(m,l)=c;end;for j=(i+1):n;x=A(j,i)/A(i,i);for k=1:(n+1);A(j,k)=A(j,k)-x*A(i,k);end;end;end;y(n)=A(n,n+1)/A(n,n);for i=2:n;y(n-i+1)=A(n-i+1,n+1);for j=1:(i-1);y(n-i+1)=y(n-i+1)-A(n-i+1,n-j+1)*y(n-j+1);end;y(n-i+1)=y(n-i+1)/A(n-i+1,n-i+1);end;yend;(2)数值实验结果及分析:1、根据要求当10n=时用Matlab算得Cond(A)=1727.6,让程序自动选主元,x=与精确解一致。
数值分析-线性方程组的直接解法

算法 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
数值分析(本科)线性方程组直接法

线性方程组的直接解法
一、引言
求解线性方程组是数值计算的核心问题之一 两类解法:直接解法和迭代解法 满矩阵 ------ 直接法
大规模稀疏矩阵 ------- 迭代法 特殊形式的矩阵 ------- 追赶法 本章主要介绍直接法(包括追赶法)。
二、高斯消去法
求解线性方程组
注:本章所考虑的线性方程组的未知量个数与方程个数相等,
注:
利用三角分解的方法求解时,三角分解(消去过程)只需要计 算一次。
四、三角分解之杜利脱尔分解
注:
利用高斯消去法进行计算时,消去过程一般需要多次计算。
四、三角分解之杜利脱尔分解
注:
由于消去过程的计算量要远大与回代过程的计算量, 所以对于这类问题,应采用三角分解的方法求解。
四、三角分解之杜利脱尔分解
练习. 分别用高斯消去法和列主元高斯消去法计算下述线性方程 组
解:(列主元高斯消去法)
三、列主元高斯消去法
练习. 分别用高斯消去法和列主元高斯消去法计算下述线性方程 组
解:(列主元高斯消去法)
三、列主元高斯消去法
练习. 分别用高斯消去法和列主元高斯消去法计算下述线性方程 组
解:(列主元高斯消去法)
四、三角分解之杜利脱尔分解
引入如下矩阵
例如,
四、三角分解之杜利脱尔分解
上述初等变换用矩阵乘法来描述:
四、三角分解之杜利脱尔分解
高斯消去法的 消去过程
上三角阵
上述初等变换用矩阵乘法来描述:
四、三角分解之杜利脱尔分解
说明: 1)条件”所有顺序主子式均不等于零”:保证在消去的过程中主 元非零,即消去过程可以完成。
且方程组有唯一解,即系数矩阵为可逆方阵。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1步 共进行 n ?
(1) (1) ) (1) a11 x a12 ... a1(1 b 1 n 1 ( 2) ( 2) ( 2) a22 ... a2 n x2 b2 . . . . . ... . . . . ( n) ( n) ann xn bn
§1 Gaussian Elimination – The Method
回代
( n) ( n) xn bn / ann
bi( i ) xi
a
j i 1 (i ) ii
(i ) a ij x j
n
( i n 1, ..., 1)
Then must find the Whatwe if we can’t (n i) smallest integer k i with ( ) 0 定理 若A的所有顺序主子式 a /* determinant of leading What if ? find such k ? ii No No unique unique a 0 What if ? (i ) nn , and interchange a ki 0 exists. solution solution exists. principal submatrices */ k 均不为 ,则高斯消元无需换行即可 the -th row0 with the i-th row.
x2 1,
x1 0
全主元消去法 /* Complete Pivoting */
每一步选绝对值最大的元素为主元素,保证 Step k: ① 选取 | ai
k
| mik | 1 。
jk
| max | aij | 0 ;
k i , jn
② If ik k then 交换第 k 行与第 ik 行; If jk k then 交换第 k 列与第 jk 列; ③ 消元 注:列交换改变了 xi 的顺序,须记录交换次序,解完后 再换回来。 列主元消去法 /* Partial Pivoting, or maximal column pivoting */ 省去换列的步骤,每次仅选一列中最大的元。
选主元消去法
例:单精度解方程组 /* 精确解为 x1
1 1 109
109 x1 x1 x2 x2 1 2
8个 8个 1.00...0100... 和 x 2 2 x1 0.99 ... 9899 ... */
用Gaussian Elimination计算:
a 22 1 m 21 1 0.0 ... 01 10 9 10 9 10 9
m21 a21 / a11 109 8个
b2 2 m21 1 109
10 9 0 1 10 9 1 10 9
小主元 /* Small pivot element */ 可能导致计 算失败。
x2 1 ,
注:列主元法没有全பைடு நூலகம்元法稳定。
9 1 10 例: 1 1
10 9 2
1 109 9 0 10
109 x2 1 , x1 0 9 10
标度化列主元消去法 /* Scaled Partial Pivoting */
| a i k , k | max | a ik | 0
k in
§1 Gaussian Elimination – Pivoting Strategies
9 10 例: 1
1 1
1 2
1 109
1 2 1 1
x1 1
1 1 2 0 1 1
进行到底,得到唯一解。
1 存在,则可通过逐 注:事实上,只要 A 非奇异,即 A de t(Ai ) ... ... ... 次消元及行交换,将方程组化为三角形方程组,求出 a i 1 ... a ii 唯一解。
a11
... a1i
定理(矩阵的 LU 分解) 设A为n阶矩阵,如果A的顺序主子式Di 0( i 1, 2, , n 1), 则A可分解为一个下三角矩阵L和一个上三角矩阵U 的乘积, 且这种分解是唯一的.
将增广矩阵/* augmented matrix */ 第 i 行 mi1 第1 行,得到 其中 ( 2 ) ( 1) ( 1) ( 1) ( 1) (1)
a11 a12 ... a1n
A
( 2)
(2) b
b1
(1) a ij a ij m i 1a1 j (2) (1) (1) b b m b i i1 1 i ( i , j 2, ..., n )
(k ) (k ) (k ) m a / a a 0 Step k:设 kk ,计算因子 ik ik kk (i k 1, ..., n)
( k 1 ) (k ) (k ) a ij a ij m ik a kj 且计算 ( k 1) (k ) (k ) b b m b i ik k i ( i , j k 1, ..., n )
Ch5 解线性方程组的直接方法
求解 A x b
高斯消元法:
思 首先将A化为上三角阵 /* upper-triangular matrix */, 路 再回代求解 /* backward substitution */。
=
(1) b1 (1) (1) (1) . 记 A A (aij )nn , b b . . 消元 (1) bn (1) (1) ( 1) m a / a (i 2, ..., n) a 0 i 1 i 1 11 Step 1:设 11 ,计算因子