线性方程组的直接解法

合集下载

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

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

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

将下三角矩阵的对角元改成1,记为L,则有A=LU,这事实是一般的,我们不难从消去的第k个元素时的矩阵k行及k列元素的历史得到这一点.因为从消元的历史有u kj=a kj-m k1u1j- m k2u2j -…- m k,k-1u k-1,j, j=k,k+1,…,nm ik=(a ik-m i1u1k- m i2u2k -…-m i,k-1u k-1,k>/u kk i=k+1,k+2,…,n于是a kj=m k1u1j+m k2u2j+…+m k,k-1u k-1,j+u kj, j=k,k+1,…,na ik=m i1u1k+m i2u2k+…+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 k1u1j-l k2u2j -…- l k,k-1u k-1,j, j=k,k+1,…,nl ik=(a ik-l i1u1k-l i2u2k -…-l i,k-1u k-1,k>/u kk i=k+1,k+2,…,n2诸元素对应乘积,只不过算L的元素时还要除以同列对角元.这一规律很容易记住.可写成算法(L和U可存放于A>:for k=1:n-1for j=k:nu kj=a kj-l k1u1j-l k2u2j -…- l k,k-1u k-1,jendfor i=k+1:nl ik=(a ik-l i1u1k-l i2u2k -…-l i,k-1u k-1,k>/u kkendend这一算法也叫Gauss消去法的紧凑格式,可一次算得L,U的元素,不需逐步计算存储.考察上面的表格会发现还可安排其它计算次序,只要在这一次序下每个元素左边的L的元素与上方的U的元素已计算在先。

数值分析第三章线性方程组解法

数值分析第三章线性方程组解法

数值分析第三章线性方程组解法在数值分析中,线性方程组解法是一个重要的主题。

线性方程组是由一组线性方程组成的方程组,其中未知数的次数只为一次。

线性方程组的解法包括直接解法和迭代解法两种方法。

一、直接解法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分解法,可以得到线性方程组的精确解。

(整理)线性方程组的直接法

(整理)线性方程组的直接法

第二章线性方程组的直接法在近代数学数值计算和工程应用中,求解线性方程组是重要的课题。

例如,样条插值中形成的关系式,曲线拟合形成的法方程等,都落实到解一个元线性方程组,尤其是大型方程组的求解,即求线性方程组(2.1)的未知量的数值。

(2.1)其中ai j,bi为常数。

上式可写成矩阵形式Ax = b,即(2.2)其中,为系数矩阵,为解向量,为常数向量。

当detA=D0时,由线性代数中的克莱姆法则,方程组的解存在且惟一,且有为系数矩阵的第列元素以代替的矩阵的行列式的值。

克莱姆法则在建立线性方程组解的理论基础中功不可没,但是在实际计算中,我们难以承受它的计算量。

例如,解一个100阶的线性方程组,乘除法次数约为(101·100!·99),即使以每秒的运算速度,也需要近年的时间。

在石油勘探、天气预报等问题中常常出现成百上千阶的方程组,也就产生了各种形式方程组数值解法的需求。

研究大型方程组的解是目前计算数学中的一个重要方向和课题。

解方程组的方法可归纳为直接解法和迭代解法。

从理论上来说,直接法经过有限次四则运算,假定每一步运算过程中没有舍入误差,那么,最后得到方程组的解就是精确解。

但是,这只是理想化的假定,在计算过程中,完全杜绝舍入误差是不可能的,只能控制和约束由有限位算术运算带来的舍入误差的增长和危害,这样直接法得到的解也不一定是绝对精确的。

迭代法是将方程组的解看作某种极限过程的向量极限的值,像第2章中非线性方程求解一样,计算极限过程是用迭代过程完成的,只不过将迭代式中单变量换成向量而已。

在用迭代算法时,我们不可能将极限过程算到底,只能将迭代进行有限多次,得到满足一定精度要求的方程组的近似解。

在数值计算历史上,直接解法和迭代解法交替生辉。

一种解法的兴旺与计算机的硬件环境和问题规模是密切相关的。

一般说来,对同等规模的线性方程组,直接法对计算机的要求高于迭代法。

对于中等规模的线性方程组,由于直接法的准确性和可靠性高,一般都用直接法求解。

数值代数方法及其应用

数值代数方法及其应用

数值代数方法及其应用数值代数是数学中的一个分支,旨在通过计算和近似方法解决代数问题。

它结合了代数、数值计算和计算机科学的概念和技术,为科学研究和工程应用提供了强大的工具。

本文将介绍数值代数方法的基本原理、常用技术和应用领域。

一、数值代数方法简介数值代数方法是研究如何通过数值计算求解代数问题的学科。

它的核心思想是用数值计算的方式近似求解代数方程组、计算矩阵的特征值和特征向量等。

数值代数方法基于线性代数和数值分析的基本理论,通过算法和计算机程序实现。

数值代数方法的主要目标是提供一种有效、准确的计算方法,解决实际问题中的线性和非线性代数问题。

它在科学计算、工程模拟、金融建模等领域发挥着重要作用。

常用的数值代数方法包括线性方程组的直接解法、迭代解法、特征值问题的求解方法等。

二、常用的数值代数方法1. 线性方程组的直接解法线性方程组是数值代数中常见的问题之一,它的解决涉及到矩阵的运算和数值计算。

常用的直接解法包括高斯消元法、LU分解法等。

这些方法通过将线性方程组转化为等价的上三角或下三角矩阵,从而求解方程组的解。

2. 迭代解法当线性方程组规模较大时,直接解法的计算量较大。

此时可以使用迭代解法,通过反复迭代逼近线性方程组的解。

常用的迭代解法包括雅可比迭代法、高斯-赛德尔迭代法等。

这些方法通过计算矩阵的逆或逼近逆,逐步接近线性方程组的解。

3. 特征值问题的求解方法特征值问题在物理、化学、工程等领域中都有广泛的应用。

求解特征值问题涉及到矩阵的特征向量和特征值的计算。

常用的方法包括幂法、反幂法、QR方法等。

这些方法通过迭代计算矩阵的特征向量和特征值,从而求解特征值问题。

三、数值代数方法的应用领域数值代数方法在众多领域中都有着广泛的应用。

以下是数值代数方法在几个典型领域中的应用示例:1. 工程应用工程领域中常常需要求解大规模线性方程组,如结构力学问题、电路问题等。

数值代数方法提供了高效、准确的计算方式,可以快速求解这些问题,为工程设计和优化提供支持。

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

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

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

数值分析小论文线性方程组的直接解法

数值分析小论文线性方程组的直接解法

数值分析小论文线性方程组的直接解法线性方程组的直接解法是指通过一系列的代数运算直接求解线性方程组的解。

线性方程组是数值分析中非常重要的问题,广泛应用于工程、科学、计算机图形学等领域。

在线性方程组的直接解法中,最常用的方法是高斯消元法,它是一种基于矩阵变换的方法。

高斯消元法将线性方程组表示为增广矩阵,并通过一系列的行变换将增广矩阵转化为行阶梯形矩阵,从而得到方程组的解。

高斯消元法的主要步骤包括消元、回代和得到方程组的解。

消元是高斯消元法的第一步,通过一系列的行变换将增广矩阵的元素转化为上三角形式。

在消元过程中,我们首先找到主元素,即矩阵的对角线元素,然后将其它行的元素通过消元操作转化为0,从而使得矩阵逐步变成上三角形矩阵。

回代是高斯消元法的第二步,通过一系列的回代操作求解线性方程组。

回代操作是从上三角形矩阵的最后一行开始,通过依次求解每个未知数的值,最终得到方程组的解。

高斯消元法的优点是算法简单易于实现,可以在有限的步骤内求解线性方程组,适用于一般的线性方程组问题。

但是高斯消元法也存在一些问题,例如当矩阵的主元素为0时,无法进行消元操作,此时需要通过行交换操作来避免这种情况。

另外,高斯消元法对病态矩阵的求解效果较差,容易引起舍入误差累积,导致解的精度下降。

在实际应用中,为了提高求解线性方程组的效率和精度,人们常常使用一些改进的直接解法,例如列主元高斯消元法和LU分解法。

列主元高斯消元法通过选择最大主元来避免主元为0的情况,进一步提高了求解线性方程组的精度。

LU分解法将矩阵表示为两个矩阵的乘积,从而将线性方程组的求解问题转化为两个三角形矩阵的求解问题,提高了求解效率。

综上所述,线性方程组的直接解法是一种基于矩阵变换的方法,通过一系列的代数运算求解线性方程组的解。

高斯消元法是最常用的直接解法之一,它简单易于实现,适用于一般的线性方程组问题。

在实际应用中,可以通过改进的直接解法来进一步提高求解效率和精度。

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

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

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.读入线性方程组的系数矩阵A和常数向量b;2.进行初等行变换,将系数矩阵A转化为上三角矩阵U,并同时对常数向量b进行相应的变换;3.判断是否有唯一解,如果主对角线上存在零元素,则方程组无解;如果主对角线上所有元素都非零,则方程组有唯一解;4.进行回代计算,求解未知数的值。

高斯消元法的优点是简单直观,容易理解和实现。

但是在一些情况下,会出现主对角线上有零元素的情况,此时需要进行行交换,增加了额外的计算量。

二、LU分解法LU分解法是另一种常用的线性方程组直接解法。

它将系数矩阵A分解为下三角矩阵L和上三角矩阵U的乘积,即A=LU。

程序设计步骤如下:1.读入线性方程组的系数矩阵A和常数向量b;2.进行LU分解,找到下三角矩阵L和上三角矩阵U;3.解第一个方程Ly=b,先求解向前替代方程,计算出y的值;4.解第二个方程Ux=y,再求解向后替代方程,计算出x的值。

LU分解法的优点是可以在多次需要解线性方程组的情况下重复使用LU分解的结果,提高计算效率。

但是LU分解法需要找到L和U的值,增加了额外的计算量。

三、数学实验在进行数学实验时,需要注意以下几点:1.线性方程组的系数矩阵应该是满秩的,以保证方程组有唯一解;2.对于大规模的线性方程组,可以使用稀疏矩阵存储和计算,减少内存和计算时间的消耗;3.在求解过程中,需要判断方程组是否有解,并且考虑特殊情况的处理;4.通过数学实验可以验证直接解法的正确性和有效性,分析计算结果的误差和稳定性。

综上所述,线性方程组的直接解法程序设计在计算方法和数学实验中都是重要的研究内容。

高斯消元法和LU分解法是常用的直接解法,通过编写程序并进行数学实验,可以深入理解和应用这些方法。

这些方法的有效性和稳定性对于解决实际问题具有重要意义。

数值分析——线性方程组直接解法Hilbert矩阵

数值分析——线性方程组直接解法Hilbert矩阵

数值分析第一次上机实习报告——线性方程组直接解法一、问题描述设 H n = [h ij ] ∈ R n ×n 是 Hilbert 矩阵, 即11ij h i j =+- 对n = 2,3,4,…13,(a) 取11n n x R ⨯⎛⎫ ⎪=∈ ⎪ ⎪⎝⎭,及n n b H x =,用Gauss 消去法和Cholesky 分解方法来求解n n H y b =,看看误差有多大.(b) 计算条件数:2()n cond H(c) 使用某种正则化方法改善(a)中的结果.二、方法描述1. Gauss 消去法Gauss 消去法一般用于系数矩阵稠密且没有任何特殊结构的线性方程组。

设H =[h ij ],y = (y 1,y 2,…,y n )T . 首先对系数矩阵H n 进行LU 分解,对于k=1,2,…n,交替进行计算:1111),,1,,1(),1,2,,k kj kj kr rj r k ik ik ir rk r kk u h l u j k k n l a l u i k k n u -=-=⎧=-=+⎪⎪⎨⎪=-=++⎪⎩∑∑…… 由此可以得到下三角矩阵L=[l ij ]和上三角矩阵U=[u ij ]. 依次求解方程组Ly=b 和Ux=y ,111,1,2,,1(),,1,,1i i i ir r r n i i ir r r i ii y b l y i n x y u x i n n u -==+⎧=-=⎪⎪⎨⎪=-=-⎪⎩∑∑…… 即可确定最终解。

2. Cholesky 分解法对于系数矩阵对称正定的方程组n n H y b =,存在唯一的对角元素为正数的下三角矩阵L ,使得H=LL T 。

因此,首先对矩阵H n 进行Cholesky 分解,即1122111()1()j jj jj jk k j ij ij ik jk k jj l h l l h l l l -=-=⎧=-⎪⎪⎨⎪=-⎪⎩∑∑ 1,i j n =+… L 的元素求出之后,依次求解方程组Ly=b 和L T x=y ,即1111111(),2,3,i i i ik k k ii b y l y b l y i n l -=⎧=⎪⎪⎨⎪=-=⎪⎩∑… 11(),1,2,n n nn n i i ki k k i nn y x l x y l x i n n l =+⎧=⎪⎪⎨⎪=-=--⎪⎩∑…1 由此求得方程组n n H y b =的解。

第三章 线性代数方程组的直接解法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

线性方程组的直接解法

线性方程组的直接解法

线性方程组的直接解法
线性方程组(linear equation system)是一类几何问题,也是解决线性系统和代数问题的重要方法,线性方程组由多个联立方程组成,这些方程中也可能含有未知量。

直接解法是把数学模型转换为数值模型,并给出实现其解题步骤的算法,它不同于间接求解的方法,既不做任何假设,也不处理不确定性问题,只是简单地直接求解线性方程组。

解线性方程组的直接解法主要分为三种,分别是高斯消元法、列主元消去法和列坐标变换法。

高斯消元法是一种比较常用的方法,主要是把线性方程组的未知量从左到右一步步求出来,其中用到的主要技术是把矩阵中部分元素消去为零,以便求解不定线性方程组的未知量。

而列主元消去法则是以一列为主元,去消除其他联立方程中出现的此列中的变量,从而最终求出其他未知变量的值。

最后,列坐标变换法是将线性方程组转换为一个更有利于求解的矩阵,其中未知量可以直接求得解答。

除了这三种常见方法外,还有一些更特殊的直接解法,比如要解常微分方程的未知函数,可以用拉格朗日方法和分部积分方法,再比如求解雅各比方程的根,可以通过主副方程互解求解,这种方法也叫作特征根法。

综上,解线性方程组的直接解法有高斯消元法、列主元消去法、列坐标变换法等;特殊问题可以采用拉格朗日方法、分部积
分法和特征根法等。

每种方法都有自己的优势,因此在使用时,可以根据问题的特点,选择适合的方法来解决。

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

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

第三章 解线性方程组的直接法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章 线性方程组求解的直接解法

第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 =。

线性方程组直接解法实验

线性方程组直接解法实验

实验一 线性方程组直接解法实验一、实验目的1.运用matlab 软件完成线性方程组的直接实验;2.通过实验,了解Doolittle 分解方法和列主元消去法解方程组的过程,并比较两种方法的优点。

二、实验题目分别用Doolittle 分解方法和列主元消去法解方程组123410-7018-3 2.09999962 5.9000015-15-1521021⎛⎫⎛⎫⎛⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭x x x x . 输出A ,b ;Doolittle 分解方法的L 和U ;解向量x,det A ;列主元方法的行交换次序,解向量x,det A ;比较两种方法所得的结果。

三、实验原理1) Doolittle 分解方法的原理算法原理:应用高斯消去法解n 阶线性方程Ax b =经过1n -步消去后得出一个等价的上三角形方程组()()n n A x b =,对上三角形方程组用逐步回代就可以求出解来。

这个过程也可通过矩阵分解来实现。

将非奇异阵分解成一个下三角阵L 和上三角阵U 的乘积称为对矩阵A 的三角分解,又称LU 分解。

根据LU 分解,将Ax b =分解为Ly bUx y =⎧⎨=⎩形式,简化了求解问题。

程序框图:变量说明:ij a 为系数矩阵元素,i b 为常数矩阵系数,,ij ij l u 分别为下、上三角矩阵元素。

2)列主元消去法解方程组的原理算法原理:列选主元是当变换到第k步时,从k列的kk a及以下的各元素中选取绝对值a的位置上,然后再进行消元过程。

交换系数矩阵中最大的元素,通过行交换将其交换到kk的两行(包括常数项),相当于两个方程的位置交换了。

程序框图:Array变量说明:k表示消元到a为消元第k步时第k步,kk主对角线元素3)四、实验过程及结果1)Doolittle分解方法的输出结果----------计算实习题----------Page64 第1题用Doolittle分解方法解方程组A =10.0000 -7.0000 0 1.0000-3.0000 2.1000 6.0000 2.00005.0000 -1.0000 5.0000 -1.00002.0000 1.0000 0 2.0000b =8.00005.90005.00001.0000L =1.0e+006 *0.0000 0 0 0-0.0000 0.0000 0 00.0000 -2.5000 0.0000 00.0000 -2.4000 0.0000 0.0000 U =1.0e+007 *0.0000 -0.0000 0 0.00000 -0.0000 0.0000 0.00000 0 1.5000 0.57500 0 0 0.0000 X =-0.0000-1.00001.00001.0000det(A)值为-762.00009000----------输出完毕----------2)列主元消去法输出结果----------计算实习题----------Page64 第1题列主元消去法解方程组A =10.0000 -7.0000 0 1.0000-3.0000 2.1000 6.0000 2.00005.0000 -1.0000 5.0000 -1.00002.0000 1.0000 0 2.0000b =8.00005.90005.00001.0000X =0.0000-1.00001.00001.0000detA值为-762.00009000----------输出完毕----------五、实验分析1.运用LU分解法可以成批地解方程组,且速度快.若c先求LU=A3,再解(LU)x=b,则要重新计算,计算量增加;如果按照上述方法计算,能够减少运算次数,加快运算速度.3. ⑴无论当n=10、n=100、n=1000时,x1与x2的值都相等,且随着n的增大,变化的只是解的中间部分数字,头、前后几位数都没有变化.⑵高斯消去法应用于三对角方程组得到的就是所谓的“追赶法”.追赶法不需要对零元素计算,只有6n-5次乘除法计算量,求解速度快.且当系数矩阵对角占优时数值稳定,是解三对角方程组的优秀解法.⑶用LU分解法解此方程组速度慢.顺序高斯消去法实际上就是将方程组的系数矩阵分解成单位下三角矩阵与上三角矩阵的乘积.顺序高斯消去法的消元过程相当于LU分解过程和Ly=b的求解,回代过程则相当于解线性方程组Ux=y,故其求解速度慢.六、附原程序1)Doolittle分解方法原程序fprintf('----------计算实习题----------\n')fprintf('Page64 第1题用Doolittle分解方法解方程组\n')A=[10 -7 0 1 ; -3 2.099999 6 2 ;5 -1 5 -1 ; 2 1 0 2];b=[8;5.900001;5;1];n=length(A);U=zeros(n,n);L=eye(n,n);U(1,:)=A(1,:);L(2:n,1)=A(2:n,1)/U(1,1);for i=2:n;U(i,i:n)=A(i,i:n)-L(i,1:i-1)*U(1:i-1,i:n);L(i+1:n,i)=(A(i+1:n,i)-L(i+1:n,1:i-1)*U(1:i-1,i))/U(i,i); endY=zeros(n);Y(1)=b(1);for i=2:nY(i)=b(i)-L(i,1:i-1)*Y(1:i-1,1);endX=zeros(n,1);if det(U)==0;X=0;elseX(n)=Y(n)/U(n,n);for i=n-1:-1:1X(i)=(Y(i)-U(i,i+1:n)*X(i+1:n,1))/U(i,i);endendAbLUXfprintf('det(A)值为%9.8f\n',det(A))fprintf('----------输出完毕 ----------\n')2)列主元消去法原程序fprintf('----------计算实习题----------\n')fprintf('Page64 第1题列主元消去法解方程组\n')A=[10 -7 0 1 ; -3 2.099999 6 2 ;5 -1 5 -1 ; 2 1 0 2];b=[8;5.900001;5;1];C=[A b];n=length(A);D=zeros(n,n+1);l=zeros(n,1);for i=1:nD=C;k=min(find(C(i:n,i)==max(C(i:n,i))));C(i,i:n+1)=D(k+i-1,i:n+1);C(k+i-1,i:n+1)=D(i,i:n+1);l(i+1:n,1)=C(i+1:n,i)/C(i,i);C(i+1:n,i:n+1)= C(i+1:n,i:n+1)- l(i+1:n,1)*C(i,i:n+1); endX=zeros(n,1);X(n)=C(n,n+1)/C(n,n);for i=n-1:-1:1X(i)=(C(i,n+1)-C(i,i+1:n)*X(i+1:n,1))/C(i,i); endAbXfprintf('detA值为%9.8f\n',det(A))fprintf('----------输出完毕----------\n')。

《线性方程组的直接解法及其应用》研究综述

《线性方程组的直接解法及其应用》研究综述

学院:建筑工程学院专业:结构工程组号:16 成绩:报告题目:《线性方程组的直接解法及其应用》研究学院:建工学院专业:结构工程组号:16号成员:xxx学院: 建筑工程学院 专业:结构工程 组号:16 成绩:《线性方程组的直接解法及其应用》研究第一章对象描述一、 《线性方程组的直接解法及其应用》描述在科技、工程、医学、经济等各个领域中,经常遇到求解n 阶线性方程组⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++,,,22112222212*********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 (1.1) 的问题.方程组(1.1)的系数),,2,1.(n j i a ij =和右端项),,2,1(n i b i =均为实数,且1b 、2b ,……,n b 不全为零。

方程组(1.1)可简记为b Ax =其中 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=mn m m n n a a a a a a a a a A 212222111211⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=n x x x x 21 , ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=m b b b b 21. 线性方程组的数值解法有两大类,一类是直接法,另一类是迭代法。

本次主要研究的是直接解法。

所谓直接法就是经过有限步算术运算,可求得线性方程组精确解的方法(若计算过程中没有舍入误差)。

但实际计算中由于舍入误差的存在和影响,这种方法也只能求得现行方程组的近似解。

这类算法中最基本的是高斯消元法及其某些变形,它是解决低阶稠密矩阵方程组及某些系数矩阵方程组的有效方法学院: 建筑工程学院 专业:结构工程 组号:16 成绩:二、 《线性方程组的直接解法及其应用》的相关概念1.特征值和特征向量设A 是一个n n ⨯阶实矩阵,若对于数λ,存在非零向量x ,使得x Ax λ=成立。

则称λ是A 的特征值(Characteristic Value),x 为A 的对应于λ的特征向量(Characteristic Vector)。

线性方程组直接法

线性方程组直接法
类似选主元法
练习 利用LU分解法求解方程组
1 2 3 x1 2 1 3 5 x2 4. 1 3 6 x3 5
1001 2 3 2 1 答L: U 110 01 2 , y 2 ,x 0 .
111 001 1 1
二、解三对角方程组的追赶法
在数值求解常微分方程边值问题、热传导方程和建立
二、向量和矩阵的范数
定义1 ( 向量范数) x 和 y 是 Rn 中的任意向量 , 向量范数‖•‖是定义
在 Rn上的实值函数, 它满足:
(1) ‖ x ‖≥0, 并且当且仅当 x=0 时, ‖ x ‖=0;
(2) ‖k x ‖=|k| ‖ x ‖, k 是一个实数;
(3) ‖ x + y ‖≤ ‖ x ‖+ ‖ y ‖
1 0 01 2 3
A 2 3
1 5
0 0 1 0
1 0
4
24
LU
3=-72/-24; 2=[-10+4*3]/1;
求解
1=[14-(2*2+3*3)]/1]
Ly (14, 18, 20)T , 得y (14, 10,72)T 同理当 ukk 0或 Ux (14, 10, 72)T , 得x (1, 2, 3)T 很小时,可用
子式 Di 0(i 1,2,,k),即
a11 Di
ai1
a1i
aii
0aa1i((i1i1))
0 Di
Di1 0
由于高斯消去法过在程消中元可能ak(出 kk) 现 0的情况, 这时消去法将无;法即进使行主a元 k(kk) 素0但很小时, 用其作除数,会他导元致素其数量级的长严和重舍增
入误差的扩散,使最得后计也算的解不可靠。

线性方程组直接解法实验

线性方程组直接解法实验

实验一 线性方程组直接解法实验一、实验目的1.运用matlab 软件完成线性方程组的直接实验;2.通过实验,了解Doolittle 分解方法和列主元消去法解方程组的过程,并比较两种方法的优点。

二、实验题目分别用Doolittle 分解方法和列主元消去法解方程组123410-7018-3 2.09999962 5.9000015-15-1521021⎛⎫⎛⎫⎛⎫⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭x x x x . 输出A ,b ;Doolittle 分解方法的L 和U ;解向量x,det A ;列主元方法的行交换次序,解向量x,det A ;比较两种方法所得的结果。

三、实验原理1) Doolittle 分解方法的原理算法原理:应用高斯消去法解n 阶线性方程Ax b =经过1n -步消去后得出一个等价的上三角形方程组()()n n A x b =,对上三角形方程组用逐步回代就可以求出解来。

这个过程也可通过矩阵分解来实现。

将非奇异阵分解成一个下三角阵L 和上三角阵U 的乘积A LU =称为对矩阵A 的三角分解,又称LU 分解。

根据LU 分解,将Ax b =分解为Ly bUx y=⎧⎨=⎩形式,简化了求解问题。

程序框图:变量说明:ij a 为系数矩阵元素,i b 为常数矩阵系数,,ij ij l u 分别为下、上三角矩阵元素。

开始输入a ij ,b ii,j=1,2,…,na i1=l i1=a i1/a 11i=2,3,…,nk=2akj=ukj=akj-∑l ktj=k,…,nk=n?k=k+1y 1=b 1,y i =b i -∑l ij y ji=2,…,n x n =y n /u nnx i =(y i -∑u ij x j )/u iii=n-1,…2,1是否a kj =l jk =(a jk -∑l it u tk )/u kkj=k,…,n2)列主元消去法解方程组的原理算法原理:列选主元是当变换到第k步时,从k列的kk a及以下的各元素中选取绝对值最大的元素,通过行交换将其交换到kka的位置上,然后再进行消元过程。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4章 线性方程组的直接解法本章主要内容线性方程组的直接解法——消元法(高斯消元法、主元消元法). 矩阵的三角分解法( Doolittle 分解、Crout 分解、 LDU 分解) 紧凑格式 改进平方根法.本章重点、难点一、消元法(高斯消元法、列主元消元法)本章求解的是n 阶线性方程组Ax=b 的(即方程的个数和未知量的个数相等的线性方程组)⎪⎪⎪⎩⎪⎪⎪⎨⎧=+⋅⋅⋅++⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅=+⋅⋅⋅++=+⋅⋅⋅++nn nn n 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 2211232222121112121111. 高斯消元法①高斯消元法的基本思想:通过对线性方程组Ax=b 的进行同解消元变换(也可以用矩阵的初等行变换法进行线性方程组的消元变换),将线性方程组化为上三角形方程组,然后用回代法求出此线性方程组的解。

②高斯消元法计算公式:⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧--=-=--==⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧+=-=-=====-+=------------∑)1,...,2,1()1,...,2,1(,...,1,,,,...,2,1),...,2,1,(,)1(1)1()1()1()1()1()1()1()1()()1()1()1()1()(,)0()0(n n i a x a b x n n i a b x nk j i b a a b b a a a a a n k n j i b b a a i ii ni j ji ij i i i n nnn nn k k k kk k ik k i k i k kjk kk k ik k ij k ij i i ij ij对回代公式:消元公式:利用高斯消元法进行消元时,消元过程能进行到底的充分必要条件是系数矩阵A 的各阶顺序主子式不为零。

或要求),,1(0)1(n k a k kk =≠-,若0)1(=-k kka (k=1,..,n ),则消元法过程无法进行;若虽然0)1(≠-k kka ,但很小,用它作除数,会引起很大的误差。

所以为了减小舍入误差、提高数值计算的稳定性,通常采用选主元的消元法(包括列主元消元法和全主元消元法)。

2. 主元消元法①列主元消元法的计算步骤: 在进行第k (k=1,2,…,n-1)步消元时,首先在第k 列下面的n-k+1个元素中选取绝对值最大的元素)1()1()1(max ,-≤--=k ik ik k pk k pka a a 即作为列主元素,然后将列主元所在方程与第k 个方程交换位置,再按照高斯消元法进行消元、回代计算。

②全主元消元法的计算步骤: 在进行第k (k=1,2,…,n-1)步消元时, 首先在第k 行至第n 行和第k 列至第n 列的(n-k+1)2个元素中选取绝对值最大的元素)1()1()1(,max ,-≤--=k ij ji k k pq k pq a a a 即作为全主元素,然后将全主元所在行与第k 行交换,将全主元所在列与第k 列交换,再按照高斯消元法进行消元、回代计算。

例1 用高斯消元法、列主元消元法解线性方程组⎪⎪⎩⎪⎪⎨⎧-=+-=-+--=+-1242222321321321x x x x x x x x x解 1. 高斯消元法 用矩阵的初等行变换法求解① 消元[]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=130023102211763023102211121421122211b A得同解上三角方程组为 :⎪⎩⎪⎨⎧=-=+--=+-132322332321x x x x x x② 回代,得:⎪⎪⎪⎩⎪⎪⎪⎨⎧=⨯-+-==⨯+==31312323313231123x x x方程组的解为:⎪⎪⎩⎪⎪⎨⎧===31331321x x x2.列主元消元法① 消元[]⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=3110075.15.175.0012145.105.0075.15.175.00121475.15.175.005.105.001214221121121214121421122211b A 得同解上三角方程组为 :⎪⎪⎪⎩⎪⎪⎪⎨⎧=-=+--=+-3175.15.175.0124332321x x x x x x② 回代,得方程组的解为:⎪⎪⎪⎩⎪⎪⎪⎨⎧===31331321x x x二 矩阵的三角分解(包括Doolittle 分解和Crout 分解) ㈠ 矩阵的三角分解和线性方程组的关系若线性方程组Ax=b 的系数矩阵A 能进行三角分解,即A=LR ,则解线性方程组Ax=b 等价于求解两个系数矩阵为三角阵的方程组 LY=b 和 RX=Y 。

其中消元法的消元过程就是分解系数矩阵为A=LR ,并解线性方程组LY=b ,而回代过程则是解方程组RX=Y 。

用代入法解方程组LY=b 的计算公式为:⎪⎪⎩⎪⎪⎨⎧⋅⋅⋅=-==∑-=nk y l b y b y k m m km k k ,,3,21111再回代解方程组RX=Y 的计算公式为:⎪⎪⎩⎪⎪⎨⎧⋅⋅⋅-=-===∑+=1,,1/)(3/1n k r x r y x r y x kk n k m m km k k nn n n㈡ 矩阵的三角分解是将给定的n 阶矩阵A ,找到一个下三角矩阵L 和上三角矩阵R,使得A=LR.1. Doolittle 分解:是指将矩阵A 分解为单位下三角矩阵L 和上三角矩阵R,即A=LR.2. Crout 分解: 是指将矩阵A 分解为下三角矩阵L ~和单位上三角矩阵R ~,即3. LDU 分解: 是指将矩阵A 分解为单位下三角矩阵L 、对角矩阵D 和单位上三角矩阵R,即A=LDR.注意:不是任何方阵都可以进行三角分解。

例如二阶非奇异矩阵⎥⎥⎦⎤⎢⎢⎣⎡0110就没有三角分解。

㈢ 矩阵A 进行三角分解的条件与结论:若矩阵A 的所有顺序主子式detA k ≠0(k=1,2,…,n-1),则 ①存在唯一单位下三角阵L 和上三角阵R.使得A=LR ;②存在唯一的单位下三角阵L 、对角阵D 和单位上三角阵U ,使得A=LDU. ㈣ 主元消元法与矩阵分解的条件与结论:若n 阶矩阵A 非奇异,即detA ≠0,则①存在n 阶置换矩阵P,元素绝对值不大于1的单位下三角阵L 和上三角阵R,使得PA=LR ②存在n 阶置换矩阵P 和Q,元素绝对值不大于1的单位下三角阵L 和上三角阵R,使得PAQ=LR 例2 已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=342454122A 检验A 是否满足三角分解的条件,若满足条件,则进行R L A LDU A LR A ~~,,===分解.解 因为02det 1≠=A ,02det 2≠=A ,04det ≠-=A ,所以A 满足三角分解条件, 下面用高斯消元法分解因为0211≠=a ,存在消元阵11-L ,使得⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=-22211223424541221112111A L由01)1(22≠=a ,存在消元阵12-L ,使得⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=--221122222112212111112A L L 于是有⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡==221122121121LR A再取 ⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=-211212121D D⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡-==-1212111221122211211R D U 于是有⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡==1212111212121121LDU A 再取UR LD L =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-==~222142~于是有⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-==1212111222142~~R L A三、紧凑格式紧凑格式是利用矩阵乘法和矩阵相等的法则,对矩阵A 直接进行三角分解的一种有一定规律的、便于记忆的分解方法。

并且可以用此方法很容易地求解线性方程组。

紧凑格式的公式为:⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧⋅⋅⋅+=-=⋅⋅⋅=-=⋅⋅⋅=⋅⋅⋅==⋅⋅⋅==∑∑-=-=nk i r r l a l n k j r l a r n ki n j r a l n j a r kk k m mj km ik ik k m mj km kj kj j j j j ,,1,/)(,,,,,2,,2,;),,2,1(,1111111111)(对)(⎪⎩⎪⎨⎧-=-==⎪⎩⎪⎨⎧=-==∑∑+=-=1,,1,)(,,,2,11111 n k r x ry x y x nk y l b y b y kk nk m m kmk k n n k m mkm k k紧凑格式的计算表:利用紧凑格式的计算表对矩阵进行三角分解的步骤:1. 计算顺序:将a ij ,r ij ,l ij 按紧凑格式的计算表排列好,计算时按框从外到内进行,每一框中先计算行,从左向右依次计算r ij ;再计算列,自上而下计算l ij 。

2. 计算方法:按行计算时,需将所求元素r ij 的对应元素a ij 逐项减去r ij 所在行左边各框的元素l ik 乘以r ij 所在列上面各框相应的元素r kj ; 按列计算l ij 时,在作上述运算后还需除以l ij 所在框的对角元素r ii 。

3. 写出矩阵的三角分解式。

例3 利用紧凑格式法对线性方程组AX=b 的系数矩阵A 进行三角分解,并求解此线性方程组。

其中⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=1721,542774322b A【思路】可以利用矩阵的乘法和矩阵相等的法则对矩阵A 直接进行三角分解; 也可以利用紧凑格式的计算公式(或列出紧凑格式的计算表)按顺序计算出单位下三角阵L 和上三角阵R 的元素,直接完成A=LR 的三角分解.再分别代入两个三角方程LY=b ,RX=Y 中,求出方程的解X解 方法一解 首先直接完成矩阵A 的三角分解LR A =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-332322131211323121111542774322r r r r r r l l l根据矩阵乘法法则及矩阵相等的定义, 用L 第一行乘R 各列得3,2,2131211===r r r再用L 第二、三行乘R 第一列得 122,2243121-=-===l l用L 第二、三行乘R 第二、三列得3227,32272322=⨯-==⨯-=r r再用L 第三行乘R 第二列得 232)1(432=⨯--=l最后再用L 第三行乘R 第三列得6123)1(533=⨯-⨯--=r 于是得矩阵A 的三角分解式⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=600130322121012001A然后解单位下三角形方程组b LY = 即⎪⎩⎪⎨⎧=--==-===⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=18011721121012001,232131331212211321y l y l b y y l b y b y y y y b LY 则得,即 由第一个方程开始逐个代入得 TY )18,0,1(= 再解上三角形方程组Y RY =即TT x x x x r x r x r y x r x r y x r y x x x x Y RX)3,1,3(),,(3/)(1/)(3/1801600130322321113132121122323223333321--==∴⎪⎩⎪⎨⎧-=--=-=-===⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=方程组的解为则得即又方法二利用紧凑格式的计算公式得()⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=∴=+-==⨯--=-==⨯-=-==⨯-=-=-=-===========6001303221210120016001303221210120016)(,232141327,3227,122,224;3,2,223321331333322123132321321222312212222113131112121131312121111A R L r l r l a r r r l a l r l a r r l a r r a l r a l a r a r a r 即⎪⎩⎪⎨⎧=--==-===⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=1811721121012001,232131331212211321y l y l b y y l b y b y y y y b LY 则得,即TT x x x x r x r x r y x r x r y x r y x x x x Y RX )3,1,3(),,(3/)(1/)(3/1801600130322321113132121122323223333321--==∴⎪⎩⎪⎨⎧-=--=-=-===⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=方程组的解为则得即又四、改进平方根法当矩阵A 为对称矩阵时,它有对称的三角分解式,称为改进平方根法。

相关文档
最新文档