第三章 解线性方程组的直接方法
- 格式:doc
- 大小:85.50 KB
- 文档页数:4
解线性方程组的直接方法一、高斯消元法高斯消元法是解线性方程组最常用的方法之一、它通过一系列的消元操作,将线性方程组转化为阶梯型方程组,从而求解未知数的值。
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分解法,可以得到线性方程组的精确解。
第三章 解线性方程组的直接法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】设方程组 当 取何值时,方程组有唯一解、无解、有无数个解,当存在无数个解时,求出其通解。
解线性方程组的直接方法一、高斯消元法高斯消元法是解线性方程组的一种常用且直接的方法。
它的基本思想是通过一系列的代数运算,将方程组化为一个三角方程组,然后从最后一行开始,逐步回代求解未知数。
下面以一个二元一次方程组为例,说明高斯消元法的具体步骤:例如,给定方程组: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.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).。