Gauss消去法、 矩阵分解

合集下载

Gauss列主元消去法、QR(MATLAB)

Gauss列主元消去法、QR(MATLAB)

Gauss列主元消去法、QR(MATLAB)Gauss列主元消去法是一种线性方程组的求解方法,也称Gauss消去法。

其基本思想是将方程组转化为上三角矩阵,然后通过反向代入求解。

该方法的优点在于计算精度高,求解速度快,但缺点是需要大量的计算,尤其是在矩阵阶数较高时。

具体来讲,Gauss列主元消去法的步骤如下:步骤一:将系数矩阵A进行LU分解,其中L是下三角矩阵、U是上三角矩阵。

设$A=LU$,则原方程组可以写成$LUx=b$。

步骤二:通过初等矩阵左乘系数矩阵A,将每一列的主元变为该列所有元素中绝对值最大的那个元素。

这个过程称为选主元,可以避免计算中的数值不稳定问题。

步骤三:将选主元后的系数矩阵A进行LU分解,得到$L^{'}$、$U^{'}$。

步骤五:通过反向代入求解$U^{'}x=y$,得到$x$的解。

Gauss列主元消去法的实现通常通过矩阵的变换来实现。

对于$n$阶矩阵$A=[a_{ij}]$,通过一系列的行变换,可以将其变为上三角矩阵。

其中的变换可以表示为:$$ R_{i} \leftrightarrow R_{j} $$其中,$R_{i}$和$R_{j}$分别表示矩阵$A$中的第$i$行和第$j$行,$k$是一个非零常数。

这些变换被称为初等行变换。

在MATLAB中,可以使用已经实现好的{\color{blue}\texttt{gauss}}函数来求解线性方程组。

该函数实现的算法是Gauss列主元消去法。

其调用格式为:x = gauss(A,b)其中,$A$是系数矩阵,$b$是结果向量。

函数返回结果向量$x$。

如果$A$或$b$不合法,则函数会返回一个空向量。

除了Gauss列主元消去法,还有一种常用的求解线性方程组的方法是QR分解法。

步骤二:通过正交矩阵左乘系数矩阵$A$,使其变为一个上三角矩阵。

这个过程称为正交相似变换。

步骤三:将$b$进行正交相似变换,得到$Q^{T}b$。

高斯消元法与矩阵运算

高斯消元法与矩阵运算

高斯消元法与矩阵运算在数学领域中,矩阵是一种重要的数学工具,广泛应用于各个学科的研究中。

而高斯消元法是一种解线性方程组的常用方法,通过矩阵运算将线性方程组转化为简化的行阶梯形矩阵,从而求得方程组的解。

本文将探讨高斯消元法与矩阵运算的相关概念、原理和应用。

一、矩阵的基本概念与运算1.1 矩阵的定义与表示矩阵是由m行n列的数按一定顺序排列成的矩形数表,用大写字母表示。

例如,一个3行2列的矩阵可以表示为:A = [a11 a12a21 a22a31 a32]其中,a11、a12、a21、a22、a31、a32为矩阵A的元素。

1.2 矩阵的运算矩阵的运算包括加法、减法和乘法。

矩阵的加法和减法要求两个矩阵具有相同的行数和列数,运算规则为对应元素相加或相减。

例如,对于两个3行2列的矩阵A和B,其加法和减法运算如下:A +B = [a11+b11 a12+b12a21+b21 a22+b22a31+b31 a32+b32]A -B = [a11-b11 a12-b12a21-b21 a22-b22a31-b31 a32-b32]矩阵的乘法要求第一个矩阵的列数等于第二个矩阵的行数,运算规则为按行乘以列并求和。

例如,对于一个3行2列的矩阵A和一个2行4列的矩阵B,其乘法运算如下:A *B = [a11*b11+a12*b21 a11*b12+a12*b22 a11*b13+a12*b23a11*b14+a12*b24a21*b11+a22*b21 a21*b12+a22*b22 a21*b13+a22*b23 a21*b14+a22*b24 a31*b11+a32*b21 a31*b12+a32*b22 a31*b13+a32*b23 a31*b14+a32*b24]二、高斯消元法的基本原理高斯消元法是一种解线性方程组的常用方法,其基本原理是通过矩阵运算将线性方程组转化为简化的行阶梯形矩阵,从而求得方程组的解。

2.1 线性方程组的表示线性方程组可以表示为矩阵形式,即AX = B,其中A为系数矩阵,X为未知数矩阵,B为常数矩阵。

浅谈矩阵的LU分解和QR分解及其应用

浅谈矩阵的LU分解和QR分解及其应用

浅谈矩阵的LU分解和QR分解及其应用基于理论研究和计算的需要,往往有必要把矩阵分解为具有某种特性的矩阵之积,这就是我们所说的矩阵分解.本文将介绍两种常用的矩阵分解方法,以及其在解线性方程组及求矩阵特征值中的应用.1.矩阵的LU 分解及其在解线性方程组中的应用1.1高斯消元法通过学习,我们了解到利用Gauss消去法及其一些变形是解决低阶稠密矩阵方程组的有效方法. 并且近些年来利用此类方法求具有较大型稀疏矩阵也取得了较大进展. 下面我们就通过介绍Gauss 消去法,从而引出矩阵的LU 分解及讨论其对解线性方程组的优越性.首先通过一个例子引入:(1.1)例1, 解方程组(1.2)(1.3)解. Step1 (1.1) ( 2) (1.3) 消去(1.3)中未知数, 得到4x2 x3 11 (1.4)Shep2 . (1.2) (1.4) 消去(1.4) 中的未知数x2x1 x2 x3 6 1有4x2x3 5 显然方程组的解为x* 2 上述过程相当于2x3 6 31 1 1 6 1 1 1 6 1 1 1 60 4 1 5 0 4 1 5 0 4 1 52 2 1 10 4 1 100 2 62)+ (r i 表示矩阵的i行)由此看出,消去法的基本思想是: 用逐次消去未知数的方法把原方程化为与 其等价的三角方程组 .下面介绍解一般 n 阶线性方程组的 Gauss 消去法 .a11a1nx 1b 1设AXb则n 阶线性方程组a n1annx nb nAX b (1.5) 并且 A 为非奇异矩阵 .通过归纳法可以将 AX b 化为与其等价的三角形方程,事实上: 及方程(1.5)为A 1 X b 1 ,其中A1Ab 1b(1) 设 a 1(11)0,首先对行计算乘数 mi1a i11m 111. 用 m i1乘 (1.5)的第一个方程加到第 i i 2,3, ,n 个方程上 .消去方程 (1.5)的第 2个方程直到第 n 个方程的未知数 x . a 111 得到与 (1.5) 等价的方程组A 2 b 2(1.6)其中 a ij 2a ij 1m i1a ij 1b i 2b i 1m i1b 11(2) 一般第 k 1 k n 1 次消去,设第 k 1步计算完成 . 即等价于A kX b k(1.7)a 111 a 112 a222且消去未知数 x 1,x 2, ,x k 1.其中 A kb 11简记作 b n 2由设 D i 0(i 1, ,k)及式 (1.8)有 a kk k设 a k (kk) 0 计 算 m ik a ik k/a k kk (ik= 1, n,ikn用 m ik aa ik k (i k 1, ,n) 消去 第k 1 个 方 程直 到第 n 个 方 程的 未知 数 x k . 得 到与 (1. 7等)价的 方 程组 A k 1X b k 1故由数学归纳法知,最后可以把原方程化成一个与原方程等价的三 角方程组 . 但是以上分析明显存在一个问题,即使 A 非奇异也无法保证 a ii i0, 需要把非奇异的条件加强 .D i 0. 即a11 D1 a11 0,Dkak1aikakk证明 利用数学归纳法证明引理的充分性 . 显然,当 k 1 时引理的充分性是成 立的,现在假设引理对 k 1是成立的,求证引理对 k 亦a ii i0 i 1,2 k 1 于是可用 Gauss 消去法将中,即a 111 a 121a 222A1 A ka kk a 11na 22nka knD 2a122 a 111 a 222a 222Dka n k ka n knnnD 3 a 111 a 222 a 333a2ka 111 a 222 a kk k(1.8)a k kka 222显然,由假设 a ii10 i 1,2 k ,利用(1.8) 亦可以推出D i 0(i 1, ,k) 从而由此前的分析易得;定理 1 如果n阶矩阵A的所有顺序主子式均不为零,则可通过Gauss消去法(不进行交换两行的初等变换) ,将方程组(1.5) 约化成上三角方程组,即a111a112a11n x1 b11a222 a22n x2 b22(1.9)a n n n x nb n n1.2矩阵LU 分解从而由以上讨论即能引出矩阵的LU 分解,通过高等代数我们得知对 A 施行行初等变换相当于用初等矩阵左乘A,即L1A1 A2 L1b 1 b2其中1m21 1L1m n1 0 1一般第k 步消元,,相当于L k A k A k 1 Lkb k b k 1重复这一过程,最后得到L n 1 L2L1A1A nn 1 2 11 n(1.10)L n 1 L2L1b 1 b n1m k 1,k 1m nk将上三角形矩阵A n记作U,由式(1.9)得到A=L11L21L n11U LU ,其中其中1m21 1m n1 m n2 1 由以上分析得;定理 2 (LU 分解) 设 A 为n阶矩阵,如果 A 的顺序主子式D i 0(i 1,2,, n 1). 则 A 可分解为一个单位下三角矩阵 L 和一个上三角矩阵 U的乘积,且这种分解是唯一的 .证明 由先前的分析得出存在性是显然的,即 A LU . 下证唯一性 ,设A LU CD 其中 L , C 为单位下三角矩阵, U , D 为上三角矩阵 . 由于D 1 L C UD 上式右端为上三角矩阵,左端为单位下三角矩阵,从而上式两端都 必须等于单位矩阵,故 U D , L C . 证毕.11 例 2 对于例子 1 系数矩阵矩阵 A 0 4 22 结合例 1,故1 0 0 1 1 1A LU0 1 0 0 4 121 10 2对于一般的非奇异矩阵, 我们可以利用初等排列矩阵 I ki (由交换单位矩阵 I的第 k 行与第 i k 行得到),即L 1I 1i 1A 1 A 2 ,L 1I 1i 1b 1 b21 1 (1.11) L k I ki kA k A k 1 ,L k I ki kb kbk 1(1.11)利用(1.11)得L n 1I n 1,i n 1 L 1I 1i 1A AU .简记做. 其中面就 n 情况来考察一下矩阵A AL4I 4i 4L 3I 3i 3L 2I 2i 2L 1I 1i 1A L 4 I 4i 4L 3I 4i 4 (I 4i 4I3i 3I 2i 2L 1I 4i 4I 3i 3I 2i 2) (I 4i 4 I 3i 3I 2i 2I 1i 1)A11 由 Gauss 消去法,得(I4i 4 I 3i 3L 2I 4i 4I 3i 3 )从而记从而容易的为单位下三角矩阵, 总结以上讨论可得如下定理.定理3 如果A非奇异矩阵,则存在排列矩阵P使PA LU 其中L为单位下三角矩阵,U 为上三角矩阵.1.3矩阵LU 分解的应用以上对非奇异矩阵 A 的LU 分解进行了全面的讨论,一下我们就简单介绍一下应用.对于矩阵A一旦实现了LU 分解,则解线性方程的问题,便可以等价于:(1) Ly b 求y (2) Ux=y , 求x (1.12)即,设 A 为非奇异矩阵,且有分解式 A LU ,其中三角矩阵。

Guass列选主元消去法和三角分解法

Guass列选主元消去法和三角分解法

Guass列选主元消去法和三⾓分解法 最近数值计算学了Guass列主消元法和三⾓分解法解线性⽅程组,具体原理如下:1、Guass列选主元消去法对于AX =B1)、消元过程:将(A|B)进⾏变换为,其中是上三⾓矩阵。

即:k从1到n-1a、列选主元选取第k列中绝对值最⼤元素作为主元。

b、换⾏c、归⼀化d、消元2)、回代过程:由解出。

2、三⾓分解法(Doolittle分解)将A分解为如下形式由矩阵乘法原理a、计算U的第⼀⾏,再计算L的第⼀列b、设已求出U的1⾄r-1⾏,L的1⾄r-1列。

先计算U的第r⾏,再计算L的第r列。

a)计算U的r⾏b)计算L的r列C#代码: 代码说明:Guass列主消元法部分将计算出来的根仍然储存在增⼴矩阵的最后⼀列,⽽Doolittle分解,将分解后的结果也储存⾄原来的数组中,这样可以节约空间。

using System;using System.Windows.Forms;namespace Test{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Cannel_Button_Click(object sender, EventArgs e){this.textBox1.Clear();this.textBox2.Clear();this.textBox3.Clear();boBox1.SelectedIndex = -1;}public double[,] GetNum(string str, int n){string[] strnum = str.Split(' ');double[,] a = new double[n, n + 1];int k = 0;for (int i = 0; i < n; i++){for (int j = 0; j < strnum.Length / n; j++){a[i, j] = double.Parse((strnum[k]).ToString());k++;}}return a;}public void Gauss(double[,] a, int n){int i, j;SelectColE(a, n);for (i = n - 1; i >= 0; i--){for (j = i + 1; j < n; j++)a[i, n] -= a[i, j] * a[j, n];a[i, n] /= a[i, i];}}//选择列主元并进⾏消元public void SelectColE(double[,] a, int n){int i, j, k, maxRowE;double temp; //⽤于记录消元时的因数for (j = 0; j < n; j++){maxRowE = j;for (i = j; i < n; i++)if (System.Math.Abs(a[i, j]) > System.Math.Abs(a[maxRowE, j]))maxRowE = i;if (maxRowE != j)swapRow(a, j, maxRowE, n); //与最⼤主元所在⾏交换//消元for (i = j + 1; i < n; i++){temp = a[i, j] / a[j, j];for (k = j; k < n + 1; k++)a[i, k] -= a[j, k] * temp;}}return;}public void swapRow(double[,] a, int m, int maxRowE, int n){int k;double temp;for (k = m; k < n + 1; k++){temp = a[m, k];a[m, k] = a[maxRowE, k];a[maxRowE, k] = temp;}}public void Doolittle(double[,] a, int n){for (int i = 0; i < n; i++){if (i == 0){for (int j = i + 1; j < n; j++)a[j, 0] = a[j, 0] / a[0, 0];}else{double temp = 0, s = 0;for (int j = i; j < n; j++){for (int k = 0; k < i; k++){temp = temp + a[i, k] * a[k, j];}a[i, j] = a[i, j] - temp;}for (int j = i + 1; j < n; j++){for (int k = 0; k < i; k++){s = s + a[j, k] * a[k, i];}a[j, i] = (a[j, i] - s) / a[i, i];}}}}private void Exit_Button_Click(object sender, EventArgs e){this.Close();}private void Confirm_Button_Click(object sender, EventArgs e){if (this.textBox2.Text.Trim().ToString().Length == 0){this.textBox2.Text = this.textBox1.Text.Trim();}else{this.textBox2.Text = this.textBox2.Text + "\r\n" + this.textBox1.Text.Trim();}this.textBox1.Clear();}private void Calculate_Button_Click(object sender, EventArgs e){string str = this.textBox2.Text.Trim().ToString();string myString = str.Replace("\n", " ").Replace("\r", string.Empty);double[,] a = new double[this.textBox2.Lines.GetUpperBound(0) + 1, this.textBox2.Lines.GetUpperBound(0) + 2];a = GetNum(myString, this.textBox2.Lines.GetUpperBound(0) + 1);if (boBox1.Text == "Guass列主消元法"){Gauss(a, this.textBox2.Lines.GetUpperBound(0) + 1);for (int i = 0; i < this.textBox2.Lines.GetUpperBound(0) + 1; i++){this.textBox3.Text = this.textBox3.Text + "\r\nX" + (i + 1) + "=" + a[i, this.textBox2.Lines.GetUpperBound(0) + 1]; }}else if (boBox1.Text == "Doolittle三⾓分解法"){this.textBox3.Enabled = true;Doolittle(a, this.textBox2.Lines.GetUpperBound(0) + 1);bel3.Text = "分解后的结果:";this.textBox3.Clear();this.textBox3.Text += "L矩阵:\r\n";for (int i = 0; i < this.textBox2.Lines.GetUpperBound(0) + 1; i++) {for (int j = 0; j < this.textBox2.Lines.GetUpperBound(0) + 1; j++) {if (j < i){this.textBox3.Text += a[i, j].ToString() + "\t";}else if (i == j){this.textBox3.Text += "1\t";}else{this.textBox3.Text += "0\t";}}this.textBox3.Text += "\r\n";}this.textBox3.Text += "\r\nU矩阵:\r\n";for (int i = 0; i < this.textBox2.Lines.GetUpperBound(0) + 1; i++) {for (int j = 0; j < this.textBox2.Lines.GetUpperBound(0) + 1; j++) {if (j >= i){this.textBox3.Text += a[i, j].ToString() + "\t";}else{this.textBox3.Text += "0\t";}}this.textBox3.Text += "\r\n";}}}private void textBox1_KeyDown(object sender, KeyEventArgs e){if (e.KeyCode == Keys.Enter){if (this.textBox1.Text.Trim().ToString().Length == 0){Calculate_Button_Click(sender, e);}else{Confirm_Button_Click(sender, e);}}}private void button1_Click(object sender, EventArgs e){this.textBox2.Enabled = true;}}} 运⾏截图: ⾄此完毕。

gauss消元法和doolittle乘法运算次数

gauss消元法和doolittle乘法运算次数

《深入探讨高斯消元法和Doolittle分解的乘法运算次数》在数学和计算机科学领域,高斯消元法和Doolittle分解是两种常见的线性代数运算方法。

它们被广泛用于解决线性方程组和矩阵求逆等问题。

本文将从深度和广度的角度对这两种方法进行全面评估,并进一步探讨它们的乘法运算次数的比较。

1. 高斯消元法简介高斯消元法是一种用于解决线性方程组的方法,通过矩阵变换将其转化为上三角矩阵,从而求解方程组。

其基本思想是通过一系列的行变换,将系数矩阵变换为上三角矩阵,再通过回代求解出未知数的值。

在实际应用中,高斯消元法通常需要进行大量的乘法和加法运算,其乘法运算次数随矩阵的大小而增加。

2. Doolittle分解简介Doolittle分解是将一个矩阵分解为一个下三角矩阵和一个上三角矩阵的乘积,这种分解方法可以简化矩阵的求逆和解线性方程组的计算。

与高斯消元法相比,Doolittle分解在某些情况下可以更加高效地解决线性方程组的问题,尤其是对于大型矩阵的计算。

其乘法运算次数与矩阵的大小和稀疏程度密切相关。

3. 乘法运算次数比较在实际应用中,我们常常需要比较高斯消元法和Doolittle分解的乘法运算次数,以确定哪种方法更适合特定的问题。

根据理论分析和实际测试,我们可以得出以下结论:- 对于小型矩阵,通常情况下高斯消元法的乘法运算次数略少于Doolittle分解。

- 对于大型矩阵,Doolittle分解的乘法运算次数通常比高斯消元法少很多,尤其是在矩阵稀疏的情况下。

- 对于需要多次求解的问题,Doolittle分解可以通过分解一次,多次使用的方式,进一步减少总体的乘法运算次数。

4. 个人观点和理解从个人观点来看,高斯消元法和Doolittle分解都是非常重要的线性代数运算方法,它们各有优劣。

在实际应用中,我们需要根据具体的问题特点来选择合适的方法。

对于小型矩阵或需一次性解决问题的情况,高斯消元法可能更加便捷;而对于大型矩阵或需要多次使用的情况,Doolittle分解可能更具优势。

第五章方程组-Gauss消去法1-2

第五章方程组-Gauss消去法1-2

Ax = b
------------(1) ------------(1)
a11 a21 A= M a n1
a12 L a1n x1 b1 a22 L a2 n x2 b = b2 x= M M M M M x b an 2 L ann n n
假定 a
( 1) 11
≠0
定义行乘数
a mi 1 = a
( 1) i1 ( 1) 11
i = 2 ,3 , L , n
第i行 − 第1行 × mi 1 , 则
a
(2) ij
=a
( 1) ij
−m a
( 1) i1 1 j
i , j = 2 ,3 , L , n
( bi( 2 ) = bi( 1 ) − mi 1b11 )
( A( 1 ) , b( 1 ) )
由于 det( A) ≠ 0
( 可知 aiii ) ≠ 0
i = 1,2 , L , n
因此 , 上三角形方程组 A( n ) x = b( n ) 有唯一解
因此可得线性方程组 Ax = b 的解:

( bnn ) xn = ( n ) ann
引言
稀疏线性 方程组 (80%)
按未知量 的个数: 的个数:
高阶线性 (如1000) 方程组
低阶线性 方程组
按系数矩Байду номын сангаас阵的形状
对称正定 方程组
三角形 方程组
三对角占 优方程组
1、Gauss消去法----直接法 Gauss消去法----直接法 消去法---- 1、消元与回代计算 对线性方程组

研究生数值分析第四版第二章2.1Gauss消去法

研究生数值分析第四版第二章2.1Gauss消去法

2.1 Gauss消去法
一 、三角形方程组的解法 1.下三角形方程组 2.上三角形方程组
a11 x1 a12 x2 a1n xn b1 a22 x2 a2n xn b2 ann xn bn
b1 a11 x1 a x a x b2 21 1 22 2 an1 x1 an 2 x2 ann xn bn
a11(1) (1) a21 (1) ( A b) a31 an1(1)
a11(1) 0 0 0
a12
(1)
a13
(1)


a1n1(1)来自a1n(1)b1
a22 a32 an 2
(1) ( 2) ( 2)
第二章 线性方程组的解法
2.1 Gauss消去法
2.2 直接三角分解法 2.3 矩阵的条件数与病态方程组 2.4 迭代法
第二章 线性方程组的解法
2.1 Gauss消去法
一 、三角形方程组的解法 二、Gauss消去法
2.1 Gauss消去法
一 、三角形方程组的解法 1.下三角形方程组 2.上三角形方程组
求解线性方程组的方法可分为两大类: 直接法和迭代法 直接法(精确法):指在没有舍入误差的情况下经过 有限次运算就能得到精确解。 迭代法(逐次逼近法):从一个初始向量出发,按照一 定的计算格式,构造一个向量的无穷序列,其极限才是 所求问题的精确解,只经过有限次运算得不到精确解。 Cramer(克莱姆)法则是直接方法中的一种,根据 此法则,方程组(2.1)的解为
前代法
x1 b1 / a11
xi (bi aij x j ) / aii ,

数值分析分解法

数值分析分解法

§3 LU 分解法——Gauss 消去法的变形知识预备:1矩阵的初等行变换、初等矩阵及其逆、乘积2矩阵的乘法3上三角矩阵的乘积、单位下三角矩阵的乘积 4单位下三角矩阵的逆、可逆的上三角矩阵的逆一、Gauss 消去法的矩阵解释Gauss 消去法实质上是将矩阵A 分解为两个三角矩阵相乘。

我们知道,矩阵的初等行变换实质就是左乘初等矩阵。

第一轮消元:相当于对A(1)左乘矩阵L 1,即)2()1(1A A L =其中)1(11)1(11)2()2(2)2(2)2(22)1(1)1(12)1(11)2(131211,,1001011a a l a a a a a a a Al l l L i i nn n n n n =⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡---=第二轮消元:对应于)3()2(2A A L =一般地1,,2,1)1()(-==+n k A A L k k k (1)其中nk k i a a l l l L k kkk ikik nk kk k ,,2,1,,10111)()(1 ++==⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡--=+整个消元过程为U A A L L L L n n n 记)(1221=-- ⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=nn nnu u u u u u 22211211………(2) 从而U L U L L L L U L L L L A n n n n ⋅===---------1112121111221)(其中L 是单位下三角矩阵,即,1,,1,,3,2,,1111)()(21323121⎪⎪⎭⎫⎝⎛-===⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=n j n i l l l l l l L j jj j ija a ij n n …(3) 【注】消元过程等价于A 分解成LU 的过程回代过程是解上三角方程组的过程。

二、矩阵的三角分解1、若将A 分解成L?U ,即A=L?U ,其中L 为单位下三角矩阵,U 为非奇异上三角矩阵,则称之为对A 的Doolittle 分解。

gauss列主元素消去法matlab

gauss列主元素消去法matlab

高斯列主元素消去法是一种解线性方程组的常用方法,特别在数值分析和线性代数中应用广泛。

在Matlab中,我们可以使用该方法来解决大规模的线性方程组,包括矩阵的求解和矩阵的反转。

一、高斯列主元素消去法的基本原理高斯列主元素消去法是一种基于矩阵消元的方法,它通过一系列的矩阵变换将原始的线性方程组转化为上三角形式,然后再进行回代求解。

这个方法的核心就是通过矩阵的变换来简化原始的线性方程组,使得求解过程更加简单高效。

在Matlab中,我们可以利用矩阵运算和函数来实现高斯列主元素消去法,如`lu`分解函数和`\"`运算符等。

通过这些工具,我们能够快速地求解各种规模的线性方程组并得到准确的结果。

二、高斯列主元素消去法在Matlab中的实现在Matlab中,我们可以通过调用`lu`函数来实现高斯列主元素消去法。

该函数返回一个上三角矩阵U和一个置换矩阵P,使得PA=LU。

通过对U进行回代求解,我们可以得到线性方程组的解。

除了`lu`函数之外,Matlab还提供了一些其他的函数和工具来帮助我们实现高斯列主元素消去法,比如`\"`运算符和`inv`函数等。

通过这些工具的组合使用,我们能够更加灵活地进行线性方程组的求解,并且可以方便地处理特殊情况和边界条件。

三、高斯列主元素消去法的应用与局限性高斯列主元素消去法在实际应用中具有广泛的适用性,特别是对于大规模的线性方程组或者稀疏矩阵的求解。

通过Matlab中的工具和函数,我们可以快速地求解各种规模的线性方程组,并得到高精度的数值解。

然而,高斯列主元素消去法也存在一些局限性,比如对于奇异矩阵或者接近奇异矩阵的情况时,该方法的求解精度可能会下降。

在实际应用中,我们需要结合具体的问题和矩阵特性来选择合适的求解方法,以确保得到准确的结果。

四、个人观点和总结作为一种经典的线性方程组求解方法,高斯列主元素消去法在Matlab 中具有较好的实现和应用效果。

通过对其原理和实现细节的深入理解,我们能够更加灵活地应用该方法,并且能够更好地理解其适用性和局限性。

数值分析_lec3_解线性方程组_Gauss消去法_1011

数值分析_lec3_解线性方程组_Gauss消去法_1011

,1
如果能把系数矩阵A做同解变换,变换成上三角或下三角矩阵, 便可求出原方程组解!
2.1.1 顺序Gauss消去法
第1步:消元k 1, i 2
(线性方程组写成增广矩阵形式) 乘数
2.1.1 顺序Gauss消去法
第1步:消元k 1, i 3, 4, n
2.1.1 顺序Gauss消去法
(1) a11 [ Ak , b k ]
(k ) (k ) akk 0, 但 | akk |
(1) a1, n
( k 1) ak 1k 1
( k 1) ak 1k (k ) akk
( k 1) ak 1n (k ) ak n
(2) 因此a22 0。
依次类推,可证明充分性。
2.1.1 顺序Gauss消去法
(伪代码)
(1.消元过程)
2.1.1 顺序Gauss消去法
(伪代码)
(2.回带过程)
2.1.1 顺序Gauss消去法
备注:
1. 使用顺序Gauss消去法求解线性方程组前提条件: (1)系数矩阵前n-1个顺序主子式非0 (保证消元) (2)A非奇异(保证回带过程可执行)
下三角矩阵的向前迭代法:
Lx b : x1 b1 / l11 i 1 xi (bi lij x j ) / lii , i 2,3, j 1
,n
2.1.1 顺序Gauss消去法
上三角矩阵的向后迭代法:
Ux b : xn bn / unn n xi (bi uij x j ) / uii , i n 1, n 2, j i 1
2.1.3* 全主元Gauss消去法(补充)

数值分析——线性方程组直接解法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 =的解。

数值分析(08)Gauss消元法解线性方程组

数值分析(08)Gauss消元法解线性方程组

end X=backsub(A, b);
%回代求解
消元法是解线性方程组的基本方法,具有计算简 单的优点,但有时由于主元过小,使得计算结果严重 失真,实际中常采用选主元高斯消元法。
§1 Gaussian Elimination – Pivoting Strategies
选主元消去法 /* Pivoting Strategies */
参数表
MATLAB For Gaussian Elimination
function X=gauss(A,b) %Input—A is an n×n nonsingullar maOutput—X is the solution to the system AX=b
进行到底,得到唯一解。
注:事实上,只要 A A ) ... ... A1 存在,则可通过逐 非奇异,即 ... de t( i 次消元及行交换,将方程组化为三角形方程组,求出 a i 1 ... a ii 唯一解。
a11
... a1i
求解的全过程包括两个步骤:消元和回代
1 . 顺序消元
k 1, , n 1 i k 1, , n (1)mik aik ( k ) / akk ( k ) (2)aij ( k 1) aij ( k ) mik akj ( k ),j k 1, , n (3)bi ( k 1) bi ( k ) mik bk ( k )
常见是m n,称为欠定方程组(方程数少于未知数) 此时,从Ax b的无穷多个解中需求出2 范数最小的解。 即求 x , 使 || x ||2 min || x ||2 ,x满足Ax b。
r ( A) r ( A)方程组Ax b无解(即不相容)。 常见是m n,称为超定方程组(又称矛盾方程组) 此时,向量b不在A的列空间R( A)之中,原方程组 无解,但可求出最小二乘意义下的解 x。 即求 x使 || b Ax ||2 min 2

解线性方程组的列主元素高斯消去法和lu分解法

解线性方程组的列主元素高斯消去法和lu分解法

数值试验报告分析一、实验名称:解线性方程组的列主元素高斯消去法和LU 分解法二、实验目的及要求:通过数值实验,从中体会解线性方程组选主元的必要性和LU分解法的优点,以及方程组系数矩阵和右端向量的微小变化对解向量的影响。

三、算法描述:本次试验采用的是高斯列主元消去法和LU分解法求解线性方程组的解。

其中,高斯消去法的基本思想是避免接近于零的数作分母;能进行到底的条件: 当A可逆时,列主元Gauss(高斯)消去法一定能进行到底。

优点: 具有很好的数值稳定性;具有与顺序Gauss 消去法相同的计算量。

列主元Gauss(高斯)消去法的精度显著高于顺序Gauss(高斯)消去法。

注意:省去换列的步骤,每次仅选一列中最大的元。

矩阵的三角分解法是A=LU,L 是下三角阵,U是上三角阵,Doolittle 分解:L 是单位下三角阵,U是上三角阵;Crout 分解:L 是下三角阵,U是单位上三角阵。

矩阵三角分解的条件是矩阵 A 有唯一的Doolittle 分解的充要条件是 A 的前n-1 顺序主子式非零;矩阵A有唯一的Crout 分解的充要条件是 A 的前n-1 顺序主子式非零。

三角分解的实现是通过(1)Doolittle 分解的实现;(2)Doolittle 分解的缺点:条件苛刻,且不具有数值稳定性。

(3)用Doolittle 分解求解方程组: AX=b LUX=b LY=bA=LU UX=Y ;四、实验内容:解下列两个线性方程组3.01 6.03 1.99 x1 11) 1.27 4.16 1.23 x2 10.987 4.81 9.34 x3 110 7 0 1 x1 83 2.099999 6 2 x2 5.9000012) 5 1 5 1x3 52 1 0 2 x4 1a、用你熟悉的算法语言编写程序用列主元高斯消去法和LU分解求解上述两个方程组,输出Ax=b 中矩阵 A 及向量b, A=LU 分解的L 及U,detA 及解向量x.b、将方程组(1)中系数 3.01 改为 3.00 ,0.987 改为0.990 ,用列主元高斯消去法求解变换后的方程组,输出列主元行交换次序,解向量x 及detA ,并与(1)中结果比较。

Gauss消去法消元过程的矩阵描述

Gauss消去法消元过程的矩阵描述

a14 a24 a34 a44
u13 a23 a33 a43
a15 a11 a25 a21 = a31 a35 a45 a41
u14 a24 a34 a44 y1 b2 b3 b4
a12 a22 a32 a42
a13 a23 a33 a43
a14 a24 a34 a44
第一次消元相当于用初等矩阵
1 l 21 L1 = M l n1 1 O ( A ( 1 ) , b ( 1 ) ) ,其中 左乘 1
a i(11) l i 1 = (1 ) a11
i = 2 ,3 , L , n
第k次消元相当于用矩阵 1 O 1 Lk = lk +1, k M l n ,,k k
1 1 r =4 → 1 1
L
1 2 3 4 x1 2 2 6 12 x2 8 所以 x3 = 18 6 24 24 x4 24
因此由回代过程得:
x1 1 x2 1 x = = x3 1 x 1 4
作业: P50 习题4、5
23直接三角分解法第k次消元相当于用矩阵ikik因此从而323121为上三角矩阵二矩阵的三角分解定义1设a为n阶方阵若存在下三角方阵l和上三角方阵u使得alu则称方阵a有三角分解或lu分解
§2-3 直接三角分解法 一、Gauss消去法消元过程的矩阵描述
(1 (1 ( ( a11) a12) L a11) b11) n ( 1) ( 1) ( 1) ( 1) ( 1) ( 1) a21 a22 L a2 n b2 (A ,b ) = M M M M a( 1) a( 1) L a( 1) b( 1) n2 nn n n1
r
a rj = ∑ l rk u kj

高斯消元法

高斯消元法

a
j 1
n
ij
x j bi
(i = 1,2,· · · ,n)
AX = b
A =(aij)n为非奇异矩阵
高斯消去法
高斯消去法(顺序消去法)是一个古老的求解线 性方程组的直接方法,其计算过程分为消元和回 代二个步骤。 第一步: 将方程组消元化为三角形方程组; 第二步: 解三角形方程组,得原方程组的解。
(1) (1) (1) (1) a11 x1 a12 x 2 a1n x n b1 ( 2) ( 2) ( 2) a x a x b 22 2 2n n 2 ( n) (n) a x b nn n n
(a(1)11 · · · a(n)nn≠0)
则该误差将扩大mik倍到第i行)
例3.1 用高斯消去法解方程组
2 x1 3 x 2 4 x 3 6 3 x1 5 x 2 2 x 3 5 4 x 3 x 30x 32 2 3 1
2 A 3 4 2 3 0 0.5 0 0 6 5 2 5 3 30 32 4 6 4 4 2 4 3 4
( 1) 22
( 2) ( 2) m a a (i 3,, n) 0,记 i 2 i 2 22
b1(1) ( 2) b2 ( 3) b3 ( 3) bn
简记为A(3)X = b(3),其中
( 3) ( 2) ( 2) ( 3) ( 2) ( 2) aij aij mi 2a2 , b b m b (i 3,, n) j i i i 2 2
3) 重复上述步骤,经n-1次消元后,则得等价 方程组
(1) a11 0 A (1) (1) a12 a1 n ( 2) ( 2) a 22 a2 n

数值分析3 Gauss消去法

数值分析3 Gauss消去法

§1 Gauss 消去法它是以行初等变换为基础,整理而成的计算机算法。

由它改进和变形得到的高斯选主元消去法及三角分解法,仍然是目前计算机上常用的解低阶稠密矩阵的线性方程组的有效方法。

一、 引例:解方程组:⎪⎩⎪⎨⎧-=-+-=+-=+-4336425294321321321x x x x x x x x x用Matlab 先画出空间三个平面,并找出三平面的交点clear,clf,x=[-9 –9 9 9 -9];y=[-9 9 9 –9 -9];z=5-4*x+9*y;plot3(x,y,z),hold on,grid on z=3-2*x+4*y;plot3(x,y,z) z=-4+x-y;plot3(x,y,z)A=[4 –9 2;2 –4 6;-1 1 –3];b=[5 3 –4]';x=A\b; plot3(x(1),x(2),x(3),'r*')解:方程组的增广矩阵是[]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=431136425294b A消元运算:[]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--−−−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----−−→−-----5.110005.055.00529475.25.225.105.055.0052942313125.025.14142r r r r r r b A回代求解:0.15,1.5/103-=-=x [],5.25.0/)15.0(55.0x 2=-⨯-=95.64/)15.025.295(x 1=⨯+⨯+=。

【注】Gauss 消元的基本思想:用初等行变换方法化一般的方程组为上三角方程组,然后求解;Gauss 消去法步骤:先消元计算,再回代求解二、Gauss 消去法设n阶线性代数方程组为Ax=b (1)其中系数矩阵A(n 阶非奇异矩阵)和右端列向量b 分别为A=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡nn n n n n a a a a a a a a a 212222111211 , b=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡n b b b 21 (一)上三角方程组的回代求解:⎪⎪⎩⎪⎪⎨⎧==++=+++n n nn n n n n b x u b x u x u b x u x u x u 2222211212111 ………………(2) 假设u ii ≠0(i=1,2,…,n ),则回代解得:⎪⎩⎪⎨⎧-==∑+=ii ni j j ij i innn n u x u b x u b x /)(/11,2,2,1 --=n n i ………………(3) (二)GAUSS消元过程:(行变换)记方程组(1)为⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++)1()1(2)1(21)1(1)1(2)1(22)1(221)1(21)1(1)1(12)1(121)1(11nn nn n n n n n n b x a xa x ab x a x a x a b x a x a x a (4)对应的增广矩阵为[]⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=)1()1()1(2)1(1)1(2)1(2)1(22)1(21)1(1)1(1)1(12)1(11)1()1(,n nn n n nn b a a a b a a a b a a a bA…………………(5) 第一轮消元:若)1(11a ≠0,利用)1(11a 消下面的)1(1i a (i=2,3,…n), 消元因子:)1(11)1(11/a a l i i = (i=2,3,…n)[]⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=)2()2()2(2)2(2)2(2)2(22)1(1)1(1)1(12)1(11)2()2(00,n nn n nnb a a b a a b a a a bA………………(6) 其中)1(11)1()2(j i ij ij a l a a -= n j i ,,3,2, =)1(11)1()2(b l b b i i i -= n i ,,3,2 = (7)第二轮消元:若0)2(22≠a ,用第i 行减去第二行的)2(22)2(22/a a l i i =(i=3,4,…n)倍,得到[]⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=)3()3()3(3)3(3)3(3)3(33)2(2)2(2)2(23)2(22)1(1)1(1)1(13)1(12)1(11)3()3(00000,n nnn nn nb a a b a a b a a a b a a a a b A……………(8) 其中n j i b l b b a l a a i i ij i ij ij ,,4,3,,,)2(22)2()3()2(22)2()3( =-=-= …………(9) 已进行k-1轮消元后,得[]⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=)()()()()()()2(2)2(2)2(2)2(22)1(1)1(1)1(1)1(12)1(11)()(,k n k nnk nk k k k knk kk nkn k k K b a a b a a b a a a b a a a a b A……………(10) 第k 轮消元:若)(k kk a ≠0,用第i 行元素减去第k 行元素的)()(/k kk k ik ik a a l = (i=k+1,k+2,…,n)倍,得[]⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=++++++++++++++++)1()1()1(111)1(1)1(11)()()(1)()2(2)2(2)2(12)2(2)2(22)1(1)1(1)1(11)1(1)1(12)1(11)1()1(,k n k nnk nk k k k nk k k k k k kn knk kk k kknk kn k kk K b a a b a a b a a a b a a a a b a a a a a b A…(11) 其中⎪⎩⎪⎨⎧-=-=++,)()()1()()()1(k k ik k i k ik kjik k ij k ij b l b b a l a a ,,,1,n k j i += (12)最后,得[]⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=)()()2(2)2(2)2(22)1(1)1(1)1(12)1(11)()(,n n n nnnnn n b a b a a b a a a bA消元过程:[][][][])()()()()2()2()1()1(,,,,n n k k b A b A b A b A−→−−→−−→−−→−−→− (三)算法公式消元公式:对k=1,2,…,n-1若)(k kk a ≠0 )()(/k kk k ik ik a a l =⎪⎩⎪⎨⎧-=-=++,)()()1()()()1(k k ik k i k ik kj ik k ij k ij b l b b a l a a ,,,1,n k j i +=回代公式:)(n nn a ≠0⎪⎩⎪⎨⎧-==∑+=)(1)()()()(/)(/i ii n i j j i ij i i in nn n n n a x a b x a b x1,2,2,1 --=n n i三、GAUSS 消去法得以实现的前提(可行性分析)1、0a )()2(22(1)11≠n nn a a 或 2、,0,,0,,0,02122221112112221121111≠≠=≠≠A a a a aa a a a a D a a a a a kkk k k kk (13)这是因为:⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡→⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡)()2(2)2(22)1(1)1(12)1(11212222111211k kk n k kk k k k k a a a a a a a a a a a a a a a 行变换 k i a D n k i ii k ,,2,1,0,0,,,2,1)( =≠≠=则有若令【如】对称正定矩阵、严格对角占优矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡632351214 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-103131021310四、Gauss 消去法的运算量消元过程乘法:[])1(31)()1(211-=-⨯+-∑-=n n k n k n n k 除法:)1(2)(11-=-∑-=n nk n n k 回代过程乘除法总运算量:),1(221+=+++n nnGauss 消去法的总运算量为:3)3(31)1(2)1(2)1(313232n n n n n n n n n n ≈-+=++-+- 对比克莱姆法则的总运算量为(n+1)!【注】对比:当n=10时,克莱姆法则(n+1)!=39916800,而Gauss 消去法,运算430次五、算法及例子步1,定义数组A,B,x ; 步2,输入A,B,Eps ;步3,对k=1到n-1进行消元:⎪⎩⎪⎨⎧++=-⇐>-⇐n k k j i a b a b b Eps a a a a a a kkk ik i i kk kk kj ik ij ij ,,2,1,/,,/ 步4,nn n n a b x /=;对i=n-1到1回代解ij ni j j iji i a x ab x /)(1∑+=-=步5,输出n i x i ,,2,1, =; 步6,结束。

数值分析5-2(高斯消去法)

数值分析5-2(高斯消去法)

M M ... (3) xn bn (3) ann

( 1 0 ... 0 x1 b1n) 0 1 ... 0 x b(n) • 2 = 2 O M M 0 0 ... 1 x (n) n bn
高斯-约当消去法的应用 高斯 约当消去法的应用
1.同时求解系数矩阵相同的多个方程组 同时求解系数矩阵相同的多个方程组 用高斯-约当消去法求解两个方程 例 用高斯 约当消去法求解两个方程 组 AX=b1 和AX=b2 ,其中
3 4 6 2 4 5 A= 1 2 3
3 b1 = 4 1
(1 a11) ≠ 0
第一次 消元
(2 a22) ≠ 0
(2 (2 ( 1 a12) ... a1n) x1 b12) b(2) (2) (2) 0 a22 ... a2n x2 2 • = ... M M (2) (2) (2) 0 an2 ... ann xn bn
1 1 1 A = 0 4 − 1 2 − 2 1 1 0 0 1 1 1 ∆ = 0 1 0 • 0 4 − 1 = LU ห้องสมุดไป่ตู้ 2 − 1 1 0 0 − 2
则求解原方程组可转化为如下两个三角形方 程组: 程组:
第五章 解线性方程组的直接法 §2 高斯消去法
一、高斯消去法 二、矩阵的三角分解 三、高斯消去法的计算量 四、高斯—约当消去法 高斯 约当消去法
一、高斯消去法
1. 高斯消去法的基本思想 举例 用消去法解方程组
基本思想:用逐次消去未知数的方法把 x1 + x2 + x3 = 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全主元消去法
(k) max a 定义 k k i , j n i , j .
此时交换 A 和 b 的行及 A 的列,使主元位置的元素 的绝对值具有给出的最大值 k , 然后进行第 k 步消元过程
<< 第14页/共42页 >>
注意:因为有列的交换,因此未知量的
次序有改变,待求解过程结束后必须还原。
x1 x2 2
精确解为 x1 10.000 / 9.999, x2 9.998 / 9.999. 下面我们用三位浮点十进制数求解: (1) 按Gauss逐步消元法
103 0.100 x1 101 0.100 x2 101 0.100 105 0.100 x2 105 0.100
>>
<< 第7页/共42页
(k) ( k 1) aij aij
1) ai(,k k 1
其中
bi( k ) bi( k 1)
a
( k 1) k 1, k 1
( k 1) ak 1 j ,
i, j k ,
n,
1) ai(,kk 1 ( k 1) ak 1, k 1
lk 1,1 l , H k k 2,1 l 1 n,1
( 2) ( 2) ( 2) ( 2) a22 x2 a23 x3 a24 x4 b2 ,
a x3 a x4 b ,
( 3) 33 ( 3) 34 ( 3) 3 ( 3) ( 3) ( 3) a43 x3 a44 x4 b4 .
(3)
其中
( 3) ( 2) ( 2) aij aij li 2 a2 j ,
我们得到
1 1 A L L 1 2
(3)
其中Ak 形如(1)式 我们可以将 LK 写成
Mk Lk Hk 0 I n k
其中M k和H k 表示如下
<< 第22页/共42页 >>
1 l 21 Mk l k1
A11 A 21
1 lkk 1
,n1 )
定义

a1 k 为 A 的 k 阶顺序主子矩阵 akk
其中 k 1, 2,
,n
<< 第21页/共42页 >>
定理5.10 当且仅当 A 的所有顺序主子阵均非奇异时, A
有唯一的 LU 分解。
证明 根据
Ak Lk 1
L1 A
1 L k 1 Ak Lk Ak
得近似解 x 10 0.100,
'' 2 1
x 10 0.100
'' 1 1
相当近似 x1
下面我们讨论选主元素的方法。
<< 第12页/共42页 >>
1)
列主元消去法 假设Gauss消去法的消元过程进行到 第 k (1 k n 1) 步,设
ak max a
kin (k) i ,k
多使用列主元消去法。
<< 第15页/共42页 >>
2.3
矩阵的三角分解与Gauss消去法的变形 Gauss消去法的实质是将矩阵 A 分解为
A LU
()
其中 L --单位下三角矩阵, U --上三角矩阵。 事实上,线性方程组
Ax b
经过 k 步消元过程后,有等价方程组
Ak x bk ,
, n 1,
记 lk (0,
, ln,k )T , k 1, 2,
则 Lk I lk e
Ak Lk 1
L1 A , bk Lk 1
<< 第18页/共42页 >>
L1b ( k 2,
, n)
用矩阵 L1 ,
, Ln1 依次左乘原给方程组 Ax b bn Ln1 Ln 2
(4)
其中
(4) a44
(3) a (3) (3) a44 43 a 34 , (3) a33
(4) b4
(3) a (3) (3) b4 43 b 3 . (3) a33
(4) 若a44 0, 从(4)的最后一个方程组得到 (4) (4) x4 b4 / a44 ,
若 jk 并令 j为达到最大值 ak 的最小行标 j k ,
则交换 A 和 b 中的第 j 行和第 k 行, 再进行消元过程的第 k步。
<< 第13页/共42页 >>
(k) (k) l a / a 这时每个乘子 ik i ,k k ,k
都满足
li ,k 1,
2)
i k,
, n,
可以防止有效数字大量丢失而产生误差。
bi( 2) bi li 1 b1 ,
显然方程组(2)和原方程组(1)等价
<< 第2页/共42页 >>
2) ( 2) / a22 以(2)的第 i 个方程 ( i 3,4) 减去 li 2 ai(2 乘以第二个方程,得到
a11 x1 a12 x2 a13 x3 a14 x4 b1 ,
1 ln , n 1
(2)
<< 第20页/共42页 >>
Gauss逐步消去法等价于下述过程:
1. 将矩阵 A 作 LU 分解;
Ux L b 2. 求解三角形方程组 (回代过程)。
(注意上面的全部讨论中要求 a
a11 ak 1
(k) k ,k
1
0, k 1, 2,
i , j 3,4, i 3,4.
b
( 3) i
b
( 2) i
li 2 b ,
( 2) 2
依此方法继续下去,得到
<< 第3页/共42页 >>
a11 x 1 a12 x2 a13 x3 a14 x4 b1 ,
( 2) ( 2) ( 2) ( 2) a22 x2 a23 x3 a24 x4 b2 , ( 3) ( 3) ( 3) a33 x3 a34 x4 b3 , (4) (4) a44 x4 b4 .
(1)
可以直接验证 Ak 1 Lk Ak
<< 第17页/共42页 >>
1 其中 Lk
1 lk 1, k ln , k
, 0, lk 1, k ,
T k
1
(k) ai , k , li , k ( k ) akk 1
<< 第4页/共42页
>>
再将
x4 代入(4)倒数第二个方程,可得:
( 3) ( 3) ( 3) x3 ( b3 a34 x4 ) / a33 ,
类似地,得到:
( 2) ( 2) ( 2) ( 2) x2 ( b2 a23 x3 a24 x4 ) / a22 ,

x1 ( b 1 a12 x2 a13 x3 a14 x4 ) / a11 ,
<< 第1页/共42页 >>
(1)
若 a11 0 ,则以第 i( i 2, 3,4) 个方程减去
li1 ai1 / a11 乘以第一个方程,这样方程组(1) a11 x1 a12 x2 a13 x3 a14 x4 b1 , ( 2) ( 2) ( 2) ( 2) a22 x2 a23 x3 a24 x4 b2 ,
得近似解
1 x2 10 0.100,
0, x1
完全失去近似意义。 x1
<< 第11页/共42页 >>
(2)变换方程的顺序然后消元
101 0.100 x1 101 0.100 x2 101 0.200 101 0.100 x2 101 0.100
a21 x1 a22 x2 an1 x1 an 2 x2
1. 消元过程 首先消去第一列除 a11 之外的所有元素,
<< 第6页/共42页 >>
( 2) 0, 设 a11 0, a22
( n1) , an 1, n1 0
总可由消元过程得到系数矩阵为上三角阵的线性代数 方程组,其第 k 步的结果为
A1 A, b1 b 其中:
而 Ak 和 bk的形式为:
<< 第16页/共42页 >>
(1)) a11 Ak
(k) akk
a
(k) nk
(1) (1) a1 b n 1 (k) (k) , bk bk akn (k) (k) ann bn
(1) (1) a11 x1 a12 x2 ( 2) a22 x2 (1) (1) a1 x b n n 1 , ( 2) ( 2) a2 x b n n 2 ,
(k) akk xk
(k) (k) akn xn bk ,
(k) ank xk
(k) (k) ann xn bn .
我们称将方程组(1)按以上步骤化为等价方程组
(4)的过程为解线性方程组的消元过程 从(4)中得出解的过程称为高斯消去法的回代过程
<< 第5页/共42页 >>
一般情形
对于一般的 n 阶线性代数方程组 Ax b
a11 x1 a12 x2

a1n xn b1 , a2 n xn b2 , ann xn bn
两边,得等价方程组 An x bn 其中 An Ln1 Ln2 乘积 Ln1
相关文档
最新文档