数值分析第三章 解线性方程组的直接方法
数值分析第三章 解线性方程组的直接方法 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可逆。
解线性方程组的直接方法
(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)式是消元过程的一般计算公式.式中作分母的元素
解线性方程组的直接法
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分解法,可以得到线性方程组的精确解。
数值分析第三章 解线性方程组的直接方法..
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
数值分析-线性方程组的直接解法
算法 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)条件”所有顺序主子式均不等于零”:保证在消去的过程中主 元非零,即消去过程可以完成。
且方程组有唯一解,即系数矩阵为可逆方阵。
数值分析小论文线性方程组的直接解法
数值分析小论文线性方程组的直接解法线性方程组的直接解法是指通过一系列的代数运算直接求解线性方程组的解。
线性方程组是数值分析中非常重要的问题,广泛应用于工程、科学、计算机图形学等领域。
在线性方程组的直接解法中,最常用的方法是高斯消元法,它是一种基于矩阵变换的方法。
高斯消元法将线性方程组表示为增广矩阵,并通过一系列的行变换将增广矩阵转化为行阶梯形矩阵,从而得到方程组的解。
高斯消元法的主要步骤包括消元、回代和得到方程组的解。
消元是高斯消元法的第一步,通过一系列的行变换将增广矩阵的元素转化为上三角形式。
在消元过程中,我们首先找到主元素,即矩阵的对角线元素,然后将其它行的元素通过消元操作转化为0,从而使得矩阵逐步变成上三角形矩阵。
回代是高斯消元法的第二步,通过一系列的回代操作求解线性方程组。
回代操作是从上三角形矩阵的最后一行开始,通过依次求解每个未知数的值,最终得到方程组的解。
高斯消元法的优点是算法简单易于实现,可以在有限的步骤内求解线性方程组,适用于一般的线性方程组问题。
但是高斯消元法也存在一些问题,例如当矩阵的主元素为0时,无法进行消元操作,此时需要通过行交换操作来避免这种情况。
另外,高斯消元法对病态矩阵的求解效果较差,容易引起舍入误差累积,导致解的精度下降。
在实际应用中,为了提高求解线性方程组的效率和精度,人们常常使用一些改进的直接解法,例如列主元高斯消元法和LU分解法。
列主元高斯消元法通过选择最大主元来避免主元为0的情况,进一步提高了求解线性方程组的精度。
LU分解法将矩阵表示为两个矩阵的乘积,从而将线性方程组的求解问题转化为两个三角形矩阵的求解问题,提高了求解效率。
综上所述,线性方程组的直接解法是一种基于矩阵变换的方法,通过一系列的代数运算求解线性方程组的解。
高斯消元法是最常用的直接解法之一,它简单易于实现,适用于一般的线性方程组问题。
在实际应用中,可以通过改进的直接解法来进一步提高求解效率和精度。
数值分析 第三章解线性方程组的直接法
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
第三章 解线性方程组的直接法
第三章 解线性方程组的直接法3.1 引言许多科学技术问题要归结为解含有多个未知量x 1, x 2, …, x n 的线性方程组。
例如,用最小二乘法求实验数据的曲线拟合问题,三次样条函数问题,解非线性方程组的问题,用差分法或有限元法解常微分方程、偏微分方程的边值等,最后都归结为求解线性代数方程组。
关于线性方程组的数值解法一般有两类:直接法和迭代法。
1. 直接法直接法就是经过有限步算术运算,可求得线性方程组精确解的方法(假设计算过程中没有舍 入误差)。
但实际计算中由于舍入误差的存在和影响,这种方法也只能求得线性方程组的近似解。
本章将阐述这类算法中最基本的高斯消去法及其某些变形。
2. 迭代法迭代法就是用某种极限过程去逐步逼近线性方程组精确解的方法,迭代法需要的计算机存储 单元少、程序设计简单、原始系数矩阵在计算过程中不变,这些都是迭代法的优点;但是存在收敛性和收敛速度的问题。
迭代法适用于解大型的稀疏矩阵方程组。
为了讨论线性方程组的数值解法,需要复习一些基本的矩阵代数知识。
3.1.1 向量和矩阵 用nm ⨯R表示全部n m ⨯实矩阵的向量空间,nm C⨯表示全部n m ⨯复矩阵的向量空间。
()⎪⎪⎪⎪⎪⎭⎫⎝⎛==⇔∈⨯nn n n n n ij nm a a aa a aa a a a212222111211A R A 此实数排成的矩形表,称为m 行n 列矩阵。
⎪⎪⎪⎪⎪⎭⎫⎝⎛=⇔∈n n x x x 21x R x x 称为n 维列向量矩阵A 也可以写成)(n 21a ,,a ,a A = 其中 a i 为A 的第i 列。
同理⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=T T T n 21b b b A其中T i b 为A 的第i 行。
矩阵的基本运算:(1) 矩阵加法 )( ,n m n m R C ,R B ,R A B A C ⨯⨯⨯∈∈∈+=+=n m ij ij ij b a c . (2) 矩阵与标量的乘法 ij j a ci αα== ,A C (3) 矩阵与矩阵乘法 p nk kjik b acij ⨯⨯⨯=∈∈∈==∑m p n n m R C ,R B ,R A AB C ( ,1(4) 转置矩阵 ji ij T nm a c ==∈⨯ , ,A C RA(5) 单位矩阵 ()n n ⨯∈=R e ,,e ,e I n 21 ,其中 ()Tk e 0,0,1,0,0 = k=1,2,…,n(6) 非奇异矩阵 设nn ⨯∈RA ,nn ⨯∈RB 。
计算方法第三章线性方程组的直接解法
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章线性方程组的直接解法1
b1(1) (1) (3.6) b2 (1) bn
若 a 第一步消元: 11 0,
1
(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,
数值分析线性方程组求解的数值方法
记
Lk
1
k 1, 2 , , n 1
m ik
a ik
(k ) (k )
, ( i , j k 1, k 2 , , n )
用 4 位浮点数计算精确解, 然后舍入到 4 位有效数字, 解出原方程的组的解为: (MATLAB 求解程序如下) A=[0.001 2.0 3.0;-1 3.712 4.623;-2 1.072 5.643]; >> b=[1 2 3]'; >> X=A\b
x1 0.4904 , x2 0.05104 , x3 0.3675 ,
a r i m r k u r i m rk u k i u ri , 有 :
k 1 r 1 k 1
n
r1
u r i a r i m r k u k i , i r , r 1, , n ) (
k 1 r 1
a i r m ik u k r
比较得知,用高斯消元法求解结果误差较大,不能作 为原方程组的近似解,其原因就是在消元过程中使用了小 主元 0.001,至使方程组的系数数量级增加,使误差扩散。
避免方法:高斯主元消元法
高斯主元消去法的MATLAB实现
程 序 8- 2 用 高 斯 列 主 元 消 去 法 求 解 线 性 方 程 组 AX b , 首 先 将 矩 阵 A 化 为上三角矩阵,再执行回代过程。
用回代法求解上三角线性方程组AX=B,其中A为非奇异。
function X=backsub(A,b) %A是一个n阶上三角非奇异阵。 %b是一个n维向量。 %X是线性方程组AX=b的解。 n=length(b); X=zeros(n,1); X(n)=b(n)/A(n,n); for k=n-1:-1:1 X(k)=(b(k)-A(k,k+1:n)*X(k+1:n))/A(k,k); End
解线性方程组的直接法和迭代法
数值分析方法中方程求解的直接法和迭代法第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。
数值分析-线性方程组直接解法1
找乘数 l43
a ( 3) 43
a ( 3) 33
,以第四个方程减去第三个方程乘l43得:
a1(11)
x1
a (1) 12
x2
a(2) 22
x2
a(1) 13
x3
a(1) 14
x4
b1(1)
a(2) 23
x3
a(2) 24
x4
b2(2)
a(3) 33
x3
a(3) 34
li1a1(1j)
bi(2) bi(1) li1b1(1)
完成第一次消元之后
i, j 2,3,4 的方程组记为: A(2) x = b (2)
Gauss消元法的基本步骤3(4阶)
第二步: 消x2 ,首先找到乘数 li2
a(2) i2
a(2) 22
,i
3,4
以方程组中第i个方程减去第二个方程乘li2 (i = 3,4),完
小数,即不可避免地存在着舍入误差的影响, 因而即使是准确解法,也只能求到近似解。
直接法在求解中小型线性方程组(≤100个), 特别是系数矩阵为稠密型时,是常用的、非常好的方法
§1 Gauss消元法
Gauss消元法是最基本的一种方法,下例说明其基本思想:
例1
解线性方程组:1x21
x1
x2
i, j 2,3,,n
a(2) n2
x2
a(2) nn
xn
b(2) n
将上方程组中第i个方程减去第2 个方程乘以li2 (i=3,…,n),完成
解线性方程组的直接方法
解线性方程组的直接方法一、高斯消元法高斯消元法是解线性方程组的一种常用且直接的方法。
它的基本思想是通过一系列的代数运算,将方程组化为一个三角方程组,然后从最后一行开始,逐步回代求解未知数。
下面以一个二元一次方程组为例,说明高斯消元法的具体步骤:例如,给定方程组: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。
逆矩阵法的优势在于其求解过程相对简单,计算量较小,并且不需要对系数矩阵进行消元操作。
但是逆矩阵法的限制在于当系数矩阵不可逆时无法使用。
三、克莱姆法则克莱姆法则是解线性方程组的另一种直接方法,它通过定义克莱姆行列式和克莱姆向量,利用行列式的性质求解方程组的解向量。
数值分析-线性方程组的直接解法
U =
Columns 1 through 7
16.0000 10.0000 -11.0000 -9.0000 17.0000 34.0000 2.0000
0 4.5000 3.2500 -3.2500 10.2500 15.5000 -2.5000
0 0 -3.2222 10.2222 -3.7778 -3.4444 1.5556
fori=2:n
t=0;
fork=1:i-1
t=t+L(i,k)*b(k);
end;
b(i)=b(i)-t;
end;
y=b
x(n)=b(n)/U(n,n);
fori=n-1:-1:1
t=0;
fork=i+1:n
t=t+U(i,k)*x(k);
end;
x(i)=(y(i)-t)/U(i,i);
end;
ifk~=1
A(k:n,k)=A(k:n,k)-A(k:n,1:k-1)*A(1:k-1,k);
end
t=find(abs(A(k:n,k))==max(abs(A(k:n,k))));
t=t(1)+k-1;
flag(k)=t;
ift~=k
p=A(k,:); A(k,:)=A(t,:); A(t,:)=p;
A=[4 2 -3 -1 2 1 0 0 0 0;
8 6 -5 -3 6 5 0 1 0 0;
4 2 -2 -1 3 2 -1 0 3 1;
0 -2 1 5 -1 3 -1 1 9 4 ;
-4 2 6 -1 6 7 -3 3 2 3;
8 6 -8 5 7 17 2 6 -3 5;
0 2 -1 3 -4 2 5 3 0 1;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(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 )
进行到底,得到唯一解。
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 的乘积, 且这种分解是唯一的.
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
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 */ 省去换列的步骤,每次仅选一列中最大的元。
将增广矩阵/* 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 )
ai j
min( i , j ) k 1
l
ik
uk j
§2 Matrix Factorization – Choleski
平方根法 /* Choleski’s Method */: ——对称 /* symmetric */ 正定 /* positive definite */ 矩阵的分解法 定义 一个矩阵 A = ( aij )nn 称为对称阵,如果 aij = aji 。 T x A 称为正定阵,如果 Ax 0 对任意非 定义 一个矩阵 零向量 x 都成立。 回顾:对称正定阵的几个重要性质 A1 亦对称正定,且 aii >0 A 的顺序主子阵 /* leading principal submatrices */ Ak 亦对 称正定 1 10 T TT 1 Tx 1 T A y A x 存在非零解,即 x 0 y 0 对任意 , 存在 , 使得 , x ( 0 ... 1 ... 0) a x A x 0 若不然,则 AA I , ( A ) A I ( A ) A 其中 ii 1 T 1 T 1 T A 的特征值 value */ >y 0 AA Ay y Ay 0 /* A x T yeigen i x A x 即 。 x Ax 0 存在非零解。 第 i 位 k x 0 R 对称性显然。对任意 有 k A 的全部顺序主子式 det ( Ak ) > 0 xk n T T 设对应特征值 的非零特征向量 x 0 R xk Ak xk x A x 0 , 其中 。 0 2 n T T 0 x) Ax x x x 。 为 x因为 ,则de t(A i
. a nk
si
注:稳定性介于列主元法和全主元法之间。
§2 三角分解法 /* Matrix Factorization */
高斯消元法的矩阵形式 /* Matrix Form of G.E. */:
Step 1: mi 1 ai 1 / a11
1 m21 1 . . . m n1
| 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
L L ... L
1
1 1
1 2
1 n1
1
记为
mi , j
L
1
a
(1) 11
a a
记U=
(1) 12 ( 2) 22
Hey hasn’t GE given me 单位下三角阵 (1) Factorize A first, then When you have to ... /* a1unitary lower-triangular n headache? enough Why matrix */ Could you be more for (every you only have to solve the system for ) b know its aI 2 do have to ... 2n solve two simple triangular specific, please? different with a fixed b matrix form??! . systems and L ... . A .y b . Ux y .
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 ,计算因子
选主元消去法
例:单精度解方程组 /* 精确解为 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计算:
b1(1) b2( 2 ) . . . ( n) bn
1
其中
Lk =
1 m k 1, k . . . m n ,k
1
§2 Matrix Factorization – Matrix Form of G.E.
1
1
1 L k
1 m k 1, k . . . m n ,k
思 通过比较法直接导出L 和 U 的计算公式。 路 反复计算, a1n 1 a11 ... …… u11 ... u1n 很浪费哦
l . . . . . 21 1 . . . . . ... . . . . . an1 ... ann l n1 ... 1 ... . . . . . . unn
注: L 为一般下三角阵而 U 为单位上三角阵的分解称为 Crout 分解。 ~~ 实际上只要考虑 A* 的 LU 分解,即A* LU ,则 ~ ~ A U * L * 即是 A 的 Crout 分解。
§2 Matrix Factorization – Doolittle
道立特分解法 /* Doolittle Factorization */: —— LU 分解的紧凑格式 /* compact form */
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 */
max | a ij | 。为省时间,si 只在初始时计 对每一行计算 si 注意:这两个方程组 1 j n 在数学上严格等价。 a kk a 算一次。以后每一步考虑子列 .. 中 ik 最大的 aik 为主元。
§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.