第三章 解线性方程组的直接方法
解线性方程组的直接方法
解线性方程组的直接方法一、高斯消元法高斯消元法是解线性方程组最常用的方法之一、它通过一系列的消元操作,将线性方程组转化为阶梯型方程组,从而求解未知数的值。
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.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分解法,可以得到线性方程组的精确解。
线性代数第三章第三节线性方程组的解课件
B1 1 ~1 1
1
1 2
1
1
1
1 1
2
~ 0 - 1 1 - - 2
0
1-
1 - 2
1
-
2
1 1
~ 0 -1 1-
2
- 2
0
0
2 - - 2
1
-
2
-
3
1 1
0 -1
1-
2
1 -
0
0
1 - 2
1
-
1
2
1 当 1时,
1 1 1 1 B ~ 0 0 0 0
例3 求解非齐次方程组的通解
x1 x1
-
x2 x2
x3 x3
-
x4 0 3x4 1
.
x1 - x2 - 2x3 3x4 -1 2
解 对增广矩阵B进行初等变换
1 - 1 - 1 1 0 1 - 1 - 1 1 0 B 1 -1 1 - 3 1 ~ 0 0 2 - 4 1
1 - 1 - 2 3 - 1 2 0 0 - 1 2 - 1 2
所以方程组的通解为
x1 1 0 1 2
x2 x3 x4
x2
1 0
0
x4
0 2 1
102 .
0
其中x2 , x4任意.
x1 - x2 a1
例4
证明方
程组
x2 x3
-
x3 x4
a2 a3
x4
-
x5
a4
x5 - x1 a5
有解的充要条件
是a1 a2 a3 a4 a5 0.在有解的情况下,
0
0 1
-2 2
第三章线性代数方程组的直接解法
由此看出,高斯消去法解方程组基本思想是设
法通消常去把方按程照组的先系消数元矩,阵后A回的代主两对个角线步下骤的求元解素线,而性 将方A程x=组b化的为方等法价称的上为三高角斯形(方G程a组us,s然)后消再去通法过。回
代过程便可获得方程组的解。换一种说法就是用矩 阵行的初等变换将原方程组系数矩阵化为上三角形 矩阵,而以上三角形矩阵为系数的方程组的求解比较 简单,可以从最后一个方程开始,依次向前代入求出 未知变量 xn , xn1 , , x1 这种求解上三角方程组的 方法称为回代, 通过一个方程乘或除以某个常数,以 及将两个方程相加减,逐步减少方程中的变元数,最 终将方程组化成上三角方程组,一般将这一过程称为 消元,然后再回代求解。
3.2.2 高斯消去法算法构造 我们知道,线性方程组(3.1)用矩阵形式表示为
a11 a12 a21 a22 an1 an2
a1n
a2n
ann
x1 b1
x
2
b2
xn bn
每个方程只含有一个未知数,从而得出所求的解。
整个过程分为消元和回代两个部分。
(1)消元过程 第1步:将方程①乘上(-2)加到方程 ②上去,将 方程 ①乘上 1 加到方程 ③上去,这样就消去
2
了第2、3个方程的 x1 项,于是就得到等价方程 组
2x1 x2 3x3 1
2
x1
x2
3x3
1
4x2 x3 2
5 2
x2
3 2
x3
13 2
第三章 线性代数方程组的直接解法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
第三章解线性方程组直接法
第三章 解线性方程组的直接法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 a a a aa a a a ΛΛΛΛΛΛ212222111211A R A 此实数排成的矩形表,称为m 行n 列矩阵。
⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⇔∈n n x x x M 21x R x x 称为n 维列向量矩阵A 也可以写成)(n 21a ,,a ,a A Λ= 其中 a i 为A 的第i 列。
同理⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=T T T n 21b b b A M其中Ti 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 kj ikb 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) 单位矩阵 ()nn ⨯∈=Re ,,e ,e I n 21Λ,其中()Tk e 0,0,1,0,0ΛΛ= k=1,2,…,n(6) 非奇异矩阵 设n n ⨯∈R A ,n n ⨯∈R B 。
线性方程组求解
第三章 线性方程组§1 消元法一、线性方程组的初等变换现在讨论一般线性方程组。
所谓一般线性方程组是指形式为⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++sn sn s s 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 22112222212*********,, (1) 的方程组,其中n x x x ,,,21 代表n 个未知量,s 是方程的个数,),,2,1;,,2,1(n j s i a ij ==称为线性方程组的系数,),,2,1(s j b j =称为常数项.方程组中未知量的个数n 与方程的个数s 不一定相等。
系数ij a 的第一个指标i 表示它在第i 个方程,第二个指标j 表示它是j x 的系数。
所谓方程组(1)的一个解就是指由n 个数n k k k ,,,21 组成的有序数组),,,(21n k k k ,当n x x x ,,,21 分别用n k k k ,,,21 代入后,(1)中每个等式都变成恒等式. 方程组(1)的解的全体称为它的解集合.解方程组实际上就是找出它全部的解,或者说,求出它的解集合。
如果两个方程组有相同的解集合,它们就称为同解的.显然,如果知道了一个线性方程组的全部系数和常数项,那么这个线性方程组就基本上确定了。
确切地说,线性方程组(1)可以用下面的矩阵⎪⎪⎪⎪⎪⎭⎫ ⎝⎛s sns s n n b a a a b a a a b a a a21222221111211 (2) 来表示。
实际上,有了(2)之后,除去代表未知量的文字外线性方程组(1)就确定了,而采用什么文字来代表未知量当然不是实质性的.在中学所学代数里学过用加减消元法和代入消元法解二元、三元线性方程组.实际上,这个方法比用行列式解线性方程组更有普遍性.下面就来介绍如何用一般消元法解一般线性方程组.例如,解方程组⎪⎩⎪⎨⎧=++=++=+-.522,4524,132321321321x x x x x x x x x 第二个方程组减去第一个方程的2倍,第三个方程减去第一个方程,就变成⎪⎩⎪⎨⎧=-=-=+-.42,24,1323232321x x x x x x x 第二个方程减去第三个方程的2倍,把第二第三两个方程的次序互换,即得⎪⎩⎪⎨⎧-==-=+-.6,42,132332321x x x x x x 这样,就容易求出方程组的解为(9,-1,—6)。
高数 第三章 第三节 线性方程组的解
第三节 线性方程组的解 一、线性方程组的形式(一)基本形式(1)(1)称为齐次线性方程组。
⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++0,0,0221122222211212111n mn m m n n n n x a x a x a x a x a x a x a x a x a(2)(2)称为非齐线性方程组。
⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++m n mn m m 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 22112222222111212111,,(二)线性方程组的矩阵形式,设则方程组(1)、(2)表达成⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=m n mn m m n n b b b b x x x X a a a a a a a a a A 2121212222111211,,(1)(2)O AX =bAX =二、方程组解的理论定理1 设 为 矩阵,则(I)方程组(1)只有零解的充分必要条件是 。
(II)方程组(1)有无数个解(非零解)的充分必要条件是 。
n A r <)(A n m ⨯n A r =)(定理2 设 为 矩阵,则(I)方程组(2)无解的充分必要条件是 。
(II)方程组(2)有解的充分必要条件是 ,其中当 时,方程组(2)有唯一解;当 时,方程组(2)有无数个解。
nA r A r <=)()(A nm ⨯)()(A r A r <)()(A r A r =n A r A r ==)()(三、齐次线性方程组的基础解系及通解【例1】求解方程组⎪⎩⎪⎨⎧=---=--+=+++034,0222,022432143214321x x x x x x x x x x x x【例2】求解方程组⎪⎩⎪⎨⎧=-+++=+-++=-+-+04253,024,032543215432154321x x x x x x x x x x x x x x x四、非齐次线性方程组的通解【例3】求解方程组⎪⎩⎪⎨⎧=-++=-+-=-+-3222,2353,132432143214321x x x x x x x x x x x x【例4】求解方程组⎪⎩⎪⎨⎧=--+=+--=--+0895,4433,13432143214321x x x x x x x x x x x x【例5】设方程组 当 取何值时,方程组有唯一解、无解、有无数个解,当存在无数个解时,求出其通解。
计算方法第三章线性方程组的直接解法
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
有限元课程第三章线性方程组解法
x2
a(2) 23
x3
...
a(2) 2n
b(2) 2
a(3) 33
x3
...
a(3) 3n
xn
b(3) 3
a(n) nn
xn
b(n) n
Gauss消元法的回代过程
回代过程:逐步回代求得原方程组的解
xn
b(n) n
/
a(n) nn
xk
(bk(k )
n
a(k kl
)
xl
)
/
a(k) kk
a(2) 2n
xn
b(2) 2
ai(jk bi(k
1) 1)
a(k) ij
b(k ) i
lik
a(k kj
)
a(k) kk
likbk(k )
xk
ak(
a x (k ) kk 1 k 1
x k 1)
1,k 1 k 1
a(k kn
)
xn
b(k ) k
a x b (k 1) k 1n n
(k 1) k 1
运算(i所, j需时k间,1,故只, n考) 虑作 乘除运算l量k1 。
由消元法步骤知,第k次消元需作nk次除法,作
(n k)(n k + 1)次乘法,故消元过程中乘除法运算量为:
乘法次数 : n1 (n k)(n k 1) n (n2 1) 除法次数 : n1 (n k) n (n 1)
第k步
:
在矩阵[A( k ) , b( k ) ]的第k列中选主元, 使
(k)
a
max
(k)
a
ik
ik
k
k in
将矩阵[A( k ) , b( k ) ]的第k行与第ik 行列换, 进行第k次消元.
第三章 解线性方程组的直接法
相等.
定理 线性方程组 AX = b 可以用简单高斯消元法求解的
充要条件是
系数矩阵
A的
k
阶顺序主子式
∆k
≠
0
(k
=1, 2, , n).
8
如果主对角元素 ak(kk) 的绝对值很小, 由第一章的误差分 析可知计算时将会产生很大的计算误差.
例 用简单高斯消元法求解方程组(用四位浮点数计算)
0.012x1 + 0.01x2 + 0.167 x3 = 0.6781,
a(2) 2n
b1(1) b2( 2 )
→
An
= 0
0
a(3) 33
a(3) 3n
b3( 3 )
.
0
0
0
a(n) nn
bn(n)
对应的同解上三角形方程组为
a(1) 11
x1
+
a(1) 12
x2
a(2) 22
x2
+
+
a(1) 1n
b
0.6781
12.10
981.0
r1 ↔ r3
14
例 用高斯全主元消元法求解方程组(用四位浮点数计算)
0.012x1 + 0.01x2 + 0.167 x3 = 0.6781,
x1
+
0.8334 x2
+
5.91x3
= 12.1,
3200
x1
+
1200 x2
+
第三章 线性方程组解法
§3.3 高斯-塞德尔迭代
x ik 1a 1 ii(b iij 1 1a ijxk j 1j n i 1a ijxk j),i 1 ,2 ...,n
大家好
21
§3.1 问题的提出
由原方程
8x1 x2 4 x1 10 x2
2x3 12 x3 21
3x1 2x2 5x3 16
构造
xx12((kk11))
2.5x2(k) 0.25x3(k) 1.5x1(k) 2.5x3(k)
5.25 8.0
(2) (3)
x3(k1) 4x1(k) 0.5x2(k) 6.0
§3.1 问题的提出
是方程组的精确解,用有限次运算得不到精 确解。迭代法是牛顿最先提出来的,1940年 经司威尔提出的松弛法也是一种迭代法,共 轭梯度法则是另一种迭代法,是弗莱彻等人 于20世纪60年代提出来的。
大家好
16
§3.1 问题的提出
例3.1
5x 2y 8 3x 20 y 26
5) 给出估计误差和迭代停止判据。
大家好
25
§3.1 问题的提出
❖ 定义:在n维空间中给定一个向量序
列 x k ,xk (x1 k,x2 k,...xn k)T ,如果对每一个分
量
x
k i
,当
k
时都有极限xi,
即
lim
k
xik
第三章-线性方程组的解
线性代数——第 3章
所以方程组的通解为
x1 1 0 1 2 x2 = c 1 + c 0 + 0 . x3 2 0 4 2 1 2 其中c2 ,c4 任意. 0 1 0 x4
可写成矩阵方程:
Ax b
B ( A, b)
线性代数——第 3章
例
1 2 2 1 1 0 2 4 8 2 设A , b 3 2 4 2 3 3 6 0 6 4
求矩阵A及矩阵B ( A b)的秩.
线性代数——第 3章
定理1 (1) (2) (3)
n元线性方程组Ax=b
无解的充分必要条件是R(A)<R(A,b); 有唯一解的充分必要条件是R(A)=R(A,b)=n; 有无穷多个解的充分必要条件是R(A)=R(A,b)<n;
线性代数——第 3章
1 0 0 ~ B0 0 0 x1
5 x1 2c2 3 c2 , x 2c 4 c , 2 2 3 2 x c , 3 1 x4 c 2 ,
线性代数——第 3章
2、非齐次线性方程组 增广矩阵化成行阶梯形矩阵,便可判断其是否有 解.若有解,化成行最简形矩阵,便可写出其通解. 例2 求解非齐次线性方程组
线性代数——第 3章
解
对系数矩阵 A 施行初等行变换:
1 2 2 1 1 2 2 1 r2 2r1 A 2 1 2 2 0 3 6 4 1 1 4 3 r3 r1 0 3 6 4
d d
解线性方程组的直接方法
解线性方程组的直接方法一、高斯消元法高斯消元法是解线性方程组的一种常用且直接的方法。
它的基本思想是通过一系列的代数运算,将方程组化为一个三角方程组,然后从最后一行开始,逐步回代求解未知数。
下面以一个二元一次方程组为例,说明高斯消元法的具体步骤:例如,给定方程组: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章 线性方程组直接求解
x1 x2 1 0.003 x1 3x2 2.001
12
3.3 列主元高斯消元法
列主元高斯消元法对应的程序(1/2)
#include <stdio.h> #include <math.h> #define MAXSIZE 50 void input(double a[MAXSIZE][MAXSIZE+1],long n); void output(double x[MAXSIZE],long n); void main(void) { double a[MAXSIZE][MAXSIZE+1],x[MAXSIZE],s,max,t; long n,i,j,k,maxi; printf("\n请输入原方程组的阶数:"); scanf("%ld",&n); input(a,n); for(k=0;k<=n-2;k++) { max=a[k][k];maxi=k; for(i=k+1;i<=n-1;i++) if(fabs(a[i][k])>fabs(max)){max=a[i][k];maxi=i;} if(max==0) break; if(maxi!=k) for(j=k;j<=n;j++) {t=a[k][j];a[k][j]=a[maxi][j];a[maxi][j]=t; } for(i=k+1;i<=n-1;i++) { a[i][k]/=-a[k][k]; for(j=k+1;j<=n;j++) a[i][j]+=a[i][k]*a[k][j];}}
克莱姆法则并不实用。常用的数值解法主要分为两类: ① 直接求解方法是指经过有限次四则运算,求出线性方程组精确解的方法。 ② 迭代求解方法是指构造一种迭代方法,由某个(套)迭代初值(粗略解), 得到近似解序列,用序列极限逐步逼近线性方程组精确解的方法。
平方根法解线性方程组
k 2
k 1
3
(n 1) (n 2)
2
1
1 2
n(n
1); (for
right
item)
除:(n 1) (n 2)
• 回代过程:
2 1
1 2
n(n
1)
1 2
(n
1)(multiply)
n(divide)
1 2
n(n
1).
• 运算量:1 n(n2 1) 1 n(n 1) 1 n(n 1) n3 3 n2 5 n
x
n
xi
b (n1) n
/
a (n1) nn
bi(i
1)
n
a x (i1)
ij
j
/
a (i1) ii
,
i
n 1,
j i 1
, 2,1
(3.10)
★ 高斯消元法算法:
1. 输入数据:n, A, b
2. 消元过程:
FOR k 1 TO n 1
求解线性方程组可采用: 直接法——经有限步算术运算可求得方程组的精确解的 方法(若计算过程无舍入误差)。 已知的直接解法是克莱姆法则(Gramer)。 迭代法——构造某种迭代格式,用其极限过程去逐步逼 近线性方程组精确解的方法。
设线性方程组为
a11x1 a12 x2
a
21
x1
xi
bi
n
uij x j
j i 1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题 3.11. 求下列方阵的秩:(1)⎪⎪⎪⎭⎫ ⎝⎛--340313021201;(2)⎪⎪⎪⎭⎫ ⎝⎛----174034301320;(3)⎪⎪⎪⎪⎪⎭⎫⎝⎛---------12433023221453334311;(4)⎪⎪⎪⎪⎪⎭⎫⎝⎛------34732038234202173132. 2. 求下列方阵的逆矩阵:(1) ⎪⎪⎪⎭⎫ ⎝⎛323513123; (2) ⎪⎪⎪⎪⎪⎭⎫⎝⎛-----1210232112201023. 3. 解下列矩阵方程(1) 设⎪⎪⎪⎭⎫⎝⎛--=⎪⎪⎪⎭⎫ ⎝⎛--=132231,113122214B A ,求X 使B AX =;(2) 设⎪⎪⎭⎫⎝⎛-=⎪⎪⎪⎭⎫ ⎝⎛---=132321,433312120B A ,求X 使B XA =;(3)⎪⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎪⎭⎫⎝⎛-=⎪⎪⎪⎭⎫ ⎝⎛-=112510324,123011113,1120111111C B A ,求X 使C AXB =.4. 求下列行列式(1)⎥⎥⎥⎥⎦⎥⎢⎢⎢⎢⎣⎢7110251020214214;(2)⎥⎥⎥⎥⎦⎥⎢⎢⎢⎢⎣⎢-2605232112131412;(3)⎥⎥⎥⎦⎥⎢⎢⎢⎣⎢---ef cf bf de cd bd ae ac ab ; (4)⎥⎥⎥⎥⎦⎥⎢⎢⎢⎢⎣⎢---d c b a100110011001. 5. 判断下列线性方程组解的情况,如果有唯一解,则求出解.⎪⎪⎩⎪⎪⎨⎧=+++-=----=+-+=+++;01123,2532,242,5)1(4321432143214321x x x x x x x x x x x x x x x x ⎪⎪⎪⎩⎪⎪⎪⎨⎧=+=++=++=++=+;15,065,065,065,165)2(5454343232121x x x x x x x x x x x x x (3) ⎪⎩⎪⎨⎧=-++=-+-=-+-;3222,2353,132432143214321x x x x x x x x x x x x (4) ⎪⎩⎪⎨⎧=---=--+=+++.034,0222,022432143214321x x x x x x x x x x x x习题 3.21. 用回代法解上三角形线性方程组(1)⎪⎪⎩⎪⎪⎨⎧==+-=-+=++;63,3,6333,8484443432321x x x x x x x x x (2)⎪⎪⎩⎪⎪⎨⎧-=-=+--=+--=-+.63,1032,92,92443432421x x x x x x x x x 2. 用回代法解下三角形线性方程组(1)⎪⎪⎩⎪⎪⎨⎧=+++=+-=+--=-;2142,10224,632,2464321321211x x x x x x x x x x (2)⎪⎪⎩⎪⎪⎨⎧=+++=++=+-=-.8224,793,522,4224321321211x x x x x x x x x x习题 3.31. 用高斯消元法解下列线性方程组(1)⎪⎪⎩⎪⎪⎨⎧-=-++=+++-=-++=++;473,10274,4345,8484432143214321321x x x x x x x x x x x x x x x (2)⎪⎪⎩⎪⎪⎨⎧=+--=+--=+++=+++.512105,31533,363,1324321432143214321x x x x x x x x x x x x x x x x 2. 用列主元消元法解下列线性方程组(1)⎪⎪⎩⎪⎪⎨⎧=+--=--+=-+-=+-+;01002,0101005,11.03052,0001.0204321432143214321x x x x x x x x x x x x x x x x (2)⎪⎪⎩⎪⎪⎨⎧=+---=+--=+++=++.012105,31533,06.031.0,103.02432143214321432x x x x x x x x x x x x x x x3. 设抛物线2cx bx a y ++=经过点(1,6),(3,5),(7,2),求此抛物线方程.习题3.41. 判断下列矩阵能否进行LU 分解,如果可以进行LU 分解,则求U L ,使LU A =,并求矩阵的秩.(1)⎪⎪⎪⎭⎫⎝⎛-231351642;(2)⎪⎪⎪⎭⎫ ⎝⎛--321921611.2. 判断下列矩阵能否进行LU 分解,如果可以进行LU 分解,则用两种方法将下列矩阵进行LU 分解, 其中;987541132111431.014322.0)1(⎪⎪⎪⎪⎪⎭⎫⎝⎛--=A.610124881034681214260)2(⎪⎪⎪⎪⎪⎭⎫⎝⎛=B3. 判断下列矩阵是否是正定对称矩阵,如果是正定对称矩阵,将矩阵进行楚列斯基分解.(1)⎪⎪⎪⎪⎪⎭⎫ ⎝⎛------19631690230311211; (2)⎪⎪⎪⎭⎫⎝⎛--502040202; (3)⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----2102121021212121021210212121;(4)⎪⎪⎪⎪⎪⎭⎫⎝⎛----1101111001111011.习题 3.51. 先将矩阵B 进行楚列斯基分解,然后解矩阵方程Bx =b .(1)⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫⎝⎛------=7531,19631690230311211b B ;(2)⎪⎪⎪⎪⎪⎭⎫⎝⎛-=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--------=71636,19631699723723312312b B .2. 先将矩阵A 进行LU 分解,然后解矩阵方程b AX =(1)⎪⎪⎪⎪⎪⎭⎫⎝⎛--=9875411321114312.0143702.0A ,⎪⎪⎪⎪⎪⎭⎫⎝⎛-=512.15.0b ;(2)⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛----=8162517623158765211331056897031354376231A ,⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛-=715513252b . 3. 解线性方程组(1)⎪⎪⎩⎪⎪⎨⎧=+-+=+++-=--+-=++-.23,6,15318,15433124321432143214321x x x x x x x x x x x x x x x x ;(2)⎪⎪⎩⎪⎪⎨⎧=+-=+--=-+=+.252,10473,332,324343232121x x x x x x x x x x 习 题 3.61.设⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=1095791068565778710A ,当=b ⎪⎪⎪⎪⎪⎭⎫ ⎝⎛31332332有微小误差=b δ⎪⎪⎪⎪⎪⎭⎫⎝⎛--1.01.01.01.0时,估计方程组b Ax =解的变化.2. 解下列矩阵方程b AX =,并比较方程(1)和(2)有何区别,它们的解有何变化.其中(1)⎪⎪⎭⎫ ⎝⎛=001.1111A ,⎪⎪⎭⎫ ⎝⎛=33b ;(2)⎪⎪⎭⎫ ⎝⎛=001.1111A ,⎪⎪⎭⎫⎝⎛=01.33b . 3. 根据定理3.10讨论第2题的线性方程组b AX =解的性态,并利用(3.39)式讨论当b 的绝对误差为01.00(=b δT)时,其解的相对误差.4. 根据定理3.10,用∞范数讨论线性方程组b AX =(其中A 为4阶希尔伯特矩阵)解的性态,并利用(3.40)式讨论A 中每个元都取4位有效数字时 (见下面的矩阵),其解的相对误差.其中⎪⎪⎪⎪⎪⎭⎫ ⎝⎛≈0.1429 0.1667 0.2000 0.2500 0.1667 0.2000 0.2500 0.3333 0.2000 0.2500 0.3333 0.5000 0.2500 0.3333 0.5000 1.0000A , ⎪⎪⎪⎪⎪⎭⎫⎝⎛=21.281.012.193.1b .5. 通过试验观察、分析下列问题是否病态,结果的计算误差与理论分析是否相符.(1) ⎪⎪⎪⎭⎫ ⎝⎛=9.155 5.832- 5.084 1.121 4.273- 1.031 6.913 2.7143.021A ,⎪⎪⎪⎭⎫ ⎝⎛=8.4072.121-12.648b ,求解矩阵方程b AX =;将A (2,2)改为 -4.275,再解b AX =.(2)⎪⎪⎪⎭⎫⎝⎛=9.344.81-0.991.23-4.161.271.996.033.01A,⎪⎪⎪⎭⎫⎝⎛=111b,求解矩阵方程bAX=;分别将A(1,1)改为3.00,A(3,1)改为0.99,再解bAX=.(3)A为n阶希尔伯特矩阵, 令x为全1向量,算出b;令b变化1%,求解x,分析误差(n=30~50).。