线性方程组的公式解
线性方程组的几种求解方法

甘肃政法学院本科学年论文(设计)题目浅议线性方程组的几种求解方法学号:姓名:指导教师:成绩:__________________完成时间: 2012 年 11 月目录第一章引言 (1)第二章线性方程组的几种解法 (1)2.1 斯消元法 (1)2.1.1 消元过程 (1)2.1.2 回代过程 (2)2.1.3 解的判断 (2)2.2 克莱姆法则 (3)2.3 LU分解法 (4)2.4 追赶法 (6)第三章结束语 (8)致谢 (8)参考文献 (9)摘要:线性方程组是线性代数的核心内容之一,其解法研究是代数学中经典且重要的研究课题.下面将综述几种不同类型的线性方程组的解法,如消元法、克莱姆法则、直接三角形法、、追赶法,并以具体例子介绍不同解法的应用技巧. 在这些解法中,高斯消元法方法,具有表达式清晰,使用范围广的特点.另外,这些方法有利于快速有效地解决线性方程组的求解问题,为解线性方程组提供一个简易平台,促进了理论与实际的结合。
关键词:线性方程组;解法;应用Several methods of solving linear equation groupAbstract: The system of linear equations is one of linear algebra core contents, its solution research is in the algebra the classics also the important research topic. This article summarized several kind of different type system of linear equations solution, like the elimination, the Cramer principle, the generalized inverse matrix law, the direct triangle law, the square root method, pursue the law, and by concrete example introduction different solution application skill. In these solutions, the generalized inverse matrix method, has the expression to be clear, use scope broad characteristic. Moreover, these methods favor effectively solve the system of linear equations solution problem fast, provides a simple platform for the solution system of linear equations, promoted the theory and the actual union.Key word: Linear equations; Solution ; Example第一章 引言线性方程组理论是高等数学中十分重要的内容,而线性方程组的解法是利用线性方程组理论解决问题的关键.下面将介绍线性方程组的消元法、追赶法、直接三角形法等求解方法,为求解线性方程组提供一个平台。
高等代数04线性方程组

最后一个矩阵所对应的线性方程组为 x1+ 7x3 = 1 , x26x3 = 1 . 它与原方程组同解,取 x3 = C, 得 x1 = 17C, x2 = 1+6C, x 1= 1 7C , 即原方程组解为 x2 = 1+ 6C, 其中 C 为任意实数. x3 = C , 将解写成向量形式 ( x1, x2, x3 )T = (17C , 1+6C, C )T.
定义1 定义1 由st个数cij 排成的一个 行t列的表 个数 排成的一个s行 列的表
c11 c12 L c21 c22 L L L cs1 cs 2 L c1t c2t L cst
叫作一个s行 列矩阵 c 列矩阵。 叫作一个 行t列矩阵。 ij 叫作这个矩阵的元素
注意: 注意:矩阵和行列式虽然形式上有些类似,但有完全不同的意义。 一个行列式是一些数的代数和,而一个矩阵仅仅是一个表。
例2
解
x1 – x2 + 5x3 – x4 = 0 , x + x2 – 2x3 + 3x4 = 0 , 求下列线性方程组的解: 1 3x1 – x2 + 8x3 + x4 = 0 , x1 + 3x2 – 9x3 + 7x4 = 0 .
1 1 1 1 1 5 0 2 7 4 3 → 0 → 0 0 2 7 4 1 7 0 4 14 8 0
并且用B表示 B 的前n列作成的矩阵。那么由定理4.2.1得: 秩A=秩B= r,秩A =秩B 现在设线性方程组(1)有解。那么或者r = m,或者r < m,而
dr+1 =L= dm = 0,这两种情形都有秩B=0,于是由(4)得,
B 反过来,设秩 A =秩B 。那么由(4)得, 的秩也是 r。由此得,或 者r = m,或者r < m 而 dr+1 =L= dm = 0 ,因而方程组(1)有解。
2-3线性方程组有解的判定定理

组 Ax = 0 只有零解 ( 有非零解 )的充分必要 条件是系数行列式
定理 2 n 元非齐次线性方程组 Am×n x = b 有解 的充分必要条件是系数 矩阵 A 的秩等于增广矩 阵 B = ( A, b ) 的秩 .
证 设 A = (α 1 , α 2 , L , α n ), 这里 α 1 , α 2 , L , α n 是 A 的列向量组, 的列向量组,则 Ax = b 可写成 (4) x 1α 1 + x 2α 2 + L + x nα n = b .
5 1 0 − 2 − 1 2 2 1 3 r3 − r2 4 r1 − 2r2 4 0 1 2 0 1 2 3 r2 ÷ ( −3) 3 0 0 0 0 0 0 0 0 即得与原方程组同解的方程组
5 x1 − 2x3 − 3 x4 = 0, 4 x2 + 2x3 + x4 = 0, 3
L 从而方程组( 从而方程组( 2)有解 ⇔ b 可由 α 1 , α 2, , α n L 线性表示 ⇔ R ( A ) = rank (α 1 , α 2, , α n ) = 证毕 rank (α 1 , α 2, , α n, b ) = R ( B ). L
推论
Ax = b有唯一解 ⇔ R(A) = R(B ) = n Ax = b有无穷多解. ⇔ R(A) = R(B ) < n 有无穷多解.
三、线性方程组的求解
例1 求解齐次线性方程组 x1 + 2 x2 + x3 + x4 = 0 2 x1 + x2 − 2 x3 − 2 x4 = 0 . x − x − 4x − 3x = 0 1 2 3 4 解
线性代数及其应用第5节线性方程组的解

x1
c1,r1
c1n
d1
xr
xr1
k1
cr,r1
1
knr
crn
0
dr
0
xn
0
1
0
可表示线性方程组的任一解,称之为线性方程组
的通解.
下面我们利用线性方程组有解的判别定理研究 线性方程组的解法.
由定理8的证明过程易得线性方程组的求解步 骤,现归纳如下:
Step1 对于非齐次线性方程组,把它的增广 矩阵 B 化成行阶梯形矩阵,从中可同时看出 R(A) 和R(B) . 若 R(A) < R(B) ,则方程组无解.
Step2 若 R(A) = R(B) ,则进一步把 B 化成行 最简形矩阵. 而对于齐次线性方程组,则把系数矩 阵 A化成行最简形矩阵.
0 1 2 2 6 3
0 0
0 0
0 0
0 0
0 0
b
a
2
例14 求下列齐次线性方程组的通解
x1 x2 x3 4x4 3x5 0,
2x1x1xx2 233xx3 352x4x45xx55
0, 0,
3x1 x2 5x3 6x4 7x5 0.
解
本若请本本若若请请本若请节想本单若请节节想想本单单若请节想本单若内请结节击想本单若内内请结结节击击想本单若内请结节击想本容单若束内请返结节击想本容容单若束束内请返返结节击想本容单若束内请返结节已击想本本容单若回束内请返结节已已击想本 本本容单若回 回束内请返结节已击想本本容单若回束内结请返结堂节已击想按本本容单若回束内结结请返结堂 堂节已击想按 按本本容单若回束内结请返结堂节已击想按本本容束单若回束课内结请返结钮堂节已击想按本本容束束单若回束课 课内结请返结钮 钮堂节已击想按本本容束单若回束课内结请返结本钮堂若节已击想按本,请本 本 本容束单若 若 若回束课.内结!请 请 请返结钮堂节已击想按本,,容束单回束课..内结!!返结钮堂节已击想按本,容束单回束节课.想内结!返结钮堂单节 节节已击想 想 想按本,容束单 单单回束课.内结!返结钮堂已击按本,容束回束课.内结!返结钮堂已击按本内,结容束回束课.击内 内内!结返结 结 结钮堂已击 击击按本,容束回束.课结!返钮堂已按本,容束回束课.结!返钮堂容束已按本,返容容 容束回束 束 束课.结!返返 返钮堂已按本,束回课.结!钮堂已按本,束回课.已本结!钮堂回已 已已按本本本,束回 回回课.结!钮堂按,束课.结!钮堂按,结堂束课.按结结结!钮堂堂堂按按按,束课.!钮,束课.!钮束课,钮束束束课课课.!钮钮钮,.!,.,!.,,,!...!!!
2.6线性方程组解的一般理论

x4
0
,
1
,
0
x5 0 0 1
2 2 6
1
1
5
1
1
,2
0
,3
0
0
1
0
0
0
1
一般解 c11 c22 c33
(c1, c2, c3为任意常数.)
8
三、非齐次线性方程组解的结构
x11 x22 xnn (I) 0 (II)
第二章 线性方程组 §2.6 线性方程组解的一般理论
一、线性方程组有解的判定定理 二、齐次线性方程组解的结构 三、非齐次线性方程组解的结构
1
一、线性方程组有解的判定定理
定理1 线性方程组 x11 x22 xnn (I) 有解
r( A) r( A) 推论1 线性方程组(I)无解 r(A) r( A) 推论2 线性方程组(I)有唯一解 r(A) r(A) n 推论3 线性方程组(I)有无穷多解 r(A) r(A) n
方程组的三个解向量 1,2 ,3满足
1
0
1
1 2 2, 2 3 1, 3 1 0
3
1
1
求 非 齐 次 线 性 方 程 组 一 的 般 解.
19
解 A是m 3矩阵, r(A) 1,
导出组的基础解系中有 含3 1 2个线性无关的解向量.
令1 2 a, 2 3 b, 3 1 c,则
其中k1 , k 2为任意实数.
21
A
2 1
3 0
1 2
1 2
3 6
0 0
0 0
1 0
1 0
1 0
5 0
0
0
4
5
3
线性方程组的解法例题线性方程组的解法

线性方程组的解法例题线性方程组的解法第二章线性方程组的解法n阶线性方程组的一般形式为:a11x1,a12x2, ,a1nxn b1 ax,ax, ,ax b 2112222nn2(2.0.1)an1x1,an2x2, ,annxn bnAx b用矩阵表示为: 其中A称为系数矩阵,x称为解向量,b称为常数向量(简称方程组自由项),它们分别为:x1 b1 a11a12a1nx b aa2122a2n x 2 b 21,, Axn bn an1an2ann如果矩阵A非奇异,即A的行列式值det(A) 0,则根据克莱姆(Cramer)规则,方程组有唯一解:Di,i 1,2, ,n xi D其中D det(A),Di表示D中等i列换b后所得的行列式值。
但克莱姆规则不适用于求解线性代数方程组,因为计算工作量大得难以容忍。
实际用于求解线性代数方程组的计算方法主要有两种:一是消去法,它属于直接解法;二是迭代解法。
消去法的优点是可以预先估计计算工作量,并且根据消去法的基本原理,可以得到矩阵运算(如矩阵求逆等)的求解方法。
但是,由于实际计算过程总存在有误差,由消去法得到的结果并不是绝对精确的,存在数值计算的稳定性问题。
迭代解法的优点是简单,便于编制计算机程序。
在迭代解法中,必须考虑迭收敛速度快慢的问题。
?2.1 线性方程组的直接计算求解线性代数方程组的直接解法主要是消去法(或称消元2法)。
消去法的基本思想是通过初等行变换:将一个方程乘以某个常数,以及将两个方程相加或相减,减少方程中的未知数数目,最终使每个方程中含一个未知数,从而得到所需要的解。
2.1.1 三角形方程组的计算对下三角形方程组:a11x1 b1ax,ax b 2112222(2.1.1)an1x1,an2x2, ,annxn bn可以通过前代的方法求解:先从第1个方程求出x1,代入第2个方程求出x2,依次类推,可以逐次前代求出所有xi(i 1,2, ,n),计算公式如下:b1x1 a11i~1bi~ aij xj(2.1.2)j 13xi , i 2, 3, , n aii对上三角形方程组:a11x1,a12x2, ,a1nxn b1ax, ,ax b 2222nn2annxn bn(2.1.3)可以通过回代的方法求解:先从第n个方程求出xn,代入第n~1个方程求出xn~1,依次类推,可以逐次回代求出所有xi(i n,n~1, ,1),计算公式如下:bnxn annnbi~ aij xj(2.1.4)j i,1xi , i n~1, n~2, , 1 aii2n 前代法和回代法的计算量都是次四则运算。
第5章_线性方程组的解法

k 1
326
0
0
0
a(n) nn
bn(n
)
a1(11)
a(1) 12
a(2) 22
... ... ...
a(1) 1n
a(2) 2n ...
a(n) nn
x1
x2
... xn
bb12((12))
...
bn(n)
回代:
xn
b(n) n
/
a
(n nn
11
3种常用范数:
2-范数(长度)
n
1-范数
x ( 2
xi2 )1/2
i 1
∞-范数
n
x 1
xi
i 1
x
max
1 i n
xi
12
矩阵的范数: 对于给定的n阶方阵A,将比值 Ax / x 的上确界 称为矩阵A的范数
直接由定义知,对于任意向量x,有:|| A x ||≤|| A || || x || 基本性质:
det
a11
an1
a1i1
ani1
b1
bn
a1i1
a1n
ani1 ann
(1)计算n+1个n阶行列式. (计算一个n阶行列式就需要做(n-1)n!次乘法. 要计算n+1个n阶行列式,共 需做(n2-1)n!次乘法). (2)做n次除法才能算出xi(i=1,… n). (3)用此法,需作乘除法的运算: N=(n2-1)n!+n 例如,当n=10(即求解一个含10个未知量的方程组), 次数共为32659210次; 当n=100,1033次/秒的计算机要算10120年
a(1) 13
a(2) 23
线性方程组的几种求解方法

线性方程组的几种解法线性方程组形式如下:常记为矩阵形式其中一、高斯消元法高斯(Gauss)消元法的基本思想是:通过一系列的加减消元运算,也就是代数中的加减消去法,将方程组化为上三角矩阵;然后,再逐一回代求解出x向量。
现举例说明如下:(一)消元过程第一步:将(1)/3使x1的系数化为1 得再将(2)、(3)式中x1的系数都化为零,即由(2)-2×(1)(1)得由(3)-4×(1)(1)得)1(32)2(......3432=+xx)1(321)1(......23132=++xxx第二步:将(2)(1)除以2/3,使x 2系数化为1,得再将(3)(1)式中x 2系数化为零,即 由(3)(1)-(-14/3)*(2)(2),得第三步:将(3)(2)除以18/3,使x 3系数化为1,得经消元后,得到如下三角代数方程组:(二)回代过程由(3)(3)得 x 3=1, 将x 3代入(2)(2)得x 2=-2, 将x 2 、x 3代入(1)(1)得x 2=1 所以,本题解为[x]=[1,2,-1]T(三)、用矩阵演示进行消元过程第一步: 先将方程写成增广矩阵的形式第二步:然后对矩阵进行初等行变换初等行变换包含如下操作(1) 将某行同乘或同除一个非零实数(2) 将某行加入到另一行 (3) 将任意两行互换第三步:将增广矩阵变换成上三角矩阵,即主对角线全为1,左下三角矩阵全为0,形)3(3)3(......1-=x )2(3)3( (63)18-=x )2(32)2(......02=+x x )1(32)3( (63)10314-=--x x示例:(四)高斯消元的公式综合以上讨论,不难看出,高斯消元法解方程组的公式为1.消元(1)令a ij(1) = a ij , (i,j=1,2,3,…,n)b i(1) =b i , (i=1,2,3,…,n)(2)对k=1到n-1,若a kk(k)≠0,进行l ik = a ik(k) / a kk(k) , (i=k+1,k+2,…,n)a ij(k+1) = a ij(k) - l ik * a kj(k), (i,j= k+1,k+2,…,n)b i(k+1) = b i(k) - l ik * b k(k), (i= k+1,k+2,…,n)2.回代若a nn(n) ≠0x n = b n(n) / a nn(n)x i = (b i(i) – sgm(a ij(i) * x j)/- a ii(i),(i = n-1,n-2,…,1),( j = i+1,i+2,…,n )(五)高斯消元法的条件消元过程要求a ii(i) ≠0 (i=1,2,…,n),回代过程则进一步要求a nn(n) ≠0,但就方程组Ax=b 讲,a ii(i)是否等于0时无法事先看出来的。
解线性方程组的解法_图文

线性方程组是线性代数中最重要最基本的内容之 一,是解决很多实际问题的的有力工具,在科学技术 和经济管理的许多领域(如物理、化学、网络理论、 最优化方法和投入产出模型等)中都有广泛应用. 第一章介绍的克莱姆法则只适用于求解方程个数 与未知量个数相同,且系数行列式非零的线性方程组. 本章研究一般线性方程组,主要讨论线性方程组解的 判定、解法及解的结构等问题,还要讨论与此密切相 关的向量线性相关性等. 其主要知识结构如下:
为方程组(3.1)的增广矩阵(augmented matrix). 因为 一个线性方程组由它的系数和常数项完全确定,所以 线性方程组与它的增广矩阵是一一对应的. 如果 x1 c1 , x2 c2 ,, xn cn 可以使(3.1)中的每个等式都 T x ( c , c , , c ) 成立,则称 为线性方程组(3.1)的一个 1 2 n 解(solution). 线性方程组(3.1)的解的全体称为它的解
集(solution set). 若两个线性方程组的解集相等,则称 它们同解(same solution). 若线性方程组(3.1)的解存 在,则称它有解或相容的. 否则称它无解或矛盾的. 解 线性方程组实际上先要判断它是否有解,在有解时求 出它的全部解.
例1 解线性方程组
2 x1 x2 3 x3 1 2 x3 6 2 x1 4 x 2 x 5 x 4 2 3 1
( 2 ) (1)
x2 x3
1 6
显然原方程组与最后的方程组(叫阶梯形方程组) 同解,所以原方程组有唯一解 x1 9, x2 1, x3 6
由此不难发现,在求解线性方程组的过程中,可 以对方程组反复施行以下三种变换: 1. 交换两个方程的位置; 2. 用一个非零数乘某个方程的两边; 3. 把一个方程的倍数加到另一个方程上. 称它们为线性方程组的初等变换. 显然:线性方程组的初等变换不改变线性方程组 的同解性. 在例1的求解过程中,我们只对方程组的系数和 常数项进行了运算,对线性方程组施行一次初等变 换,就相当于对它的增广矩阵施行一次相应的初等行 变换,用方程组的初等变换化简线性方程组就相当于 用矩阵的初等行变换化简它的增广矩阵. 下面我们将 例1的求解过程写成矩阵形式:
高等代数 第3章线性方程组 3.2 线性方程组解的结构

7 2 1 - 3 - 2 1 2 6 23 4 3 - 1 12 1 1 1
1 1 0 - 2 ~ 0 0 0 0 1 0 ~ 0 0
( 2) 设x = 是方程 Ax = b的解, x = 是方程 Ax = 0的解, 则x = + 仍是方程 Ax = b 的解.
证明 A( + ) = A + A = 0 + b = b,
所以x = + 是方程 Ax = b的解.
证毕.
2.非齐次线性方程组的通解
非齐次线性方程组Ax=b的通解为
例5 求下述方程组的解 x1 + x 2 + x 3 + x 4 + x 5 = 7 , 3 x + x + 2 x + x - 3 x = -2, 1 2 3 4 5 2 x 2 + x 3 + 2 x 4 + 6 x 5 = 23, 8 x1 + 3 x 2 + 4 x 3 + 3 x 4 - x 5 = 12.
思考题解答
解
2 3 1 1 1 6 1 3 1 3 B= 3 - 1 - p 15 3 1 - 5 - 10 12 t
2 3 1 1 1 4 -2 2 0 2 ~ 0 -4 - p-6 6 0 0 - 6 12 9 t 1
x2 1 0 x1 1 1 = 及 , 则 = 及 , x4 0 1 x3 0 2
线性方程组解的一般理论

,
b1 b2
bm
得(*)的 向量表达式:
x11 x2 2 x n n
取 A (1,2 , ,n )
A (1,2, ,n , )
a11 a21
am1
aa系矩1222 数 阵
am2
a1n a2n
amn
a11 a21
am1
a12 a22
增矩广阵aa12nn
am2 amn
解:要判断 rA ?r(A)
1 3 6 5 0 行变换1 3 6 5 0 1 3 6 5 0
A2 1 4 2 1
0 7 16 12 1 0 7 16 12 1
5 1 2 1 7
0 14 32 24 7 0 0 0 0 5
A
得rA 2, r( A) 3
故该方程组无解
【例2】讨论k取何值时,以下方程组有解, 无解。在有解的情况下,唯一解? 无穷多解?
am2
a2n
amn
a11 a12 a1n b1
A
a21 am1
a22 增广a2n 矩阵
am2 amn
b2
bm
无解的充要条件是:rA r( A)
【例1】判断以下方程组是否有解?
2x1x13xx22
6x3 4x3
5x4 2x4
0 1
5x1 x2 2x3 x4 7
设r( A) r( A) r
则
r n 有无穷多解 r n 仅有零解
反之,若有无穷多解,则有r<n。
推论1 : 齐次线性方程组有非零解的充要条件是
对齐次线性方程组:
a11x1 a12 x2 a1n xn 0
a 21 x1
a22
x2
第三章-线性方程组的解

线性代数——第 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
线性方程组解的求法

将第一个方程加到第三个方程上;将第
一个方程的-1倍加到第四个方程上,得
到
x1 2x2 3x3 x4 5,
6x3 3x4 13, 6x3 3x4 13,
12x3 6x4 26.
, 把第二个方程加到第三个方程上;第二个 方程的-2倍加到第四个方程上,得
,
x1 2x2 3x3 x4 5,
0
0
1
1 13 2 6
,
0 0 0 0 0
0 0 0 0 0
由最后的阶梯形矩阵,即可写出方程组的
同解方程组,进而得到方程组的解.
下面研究一般线性方程组的解法. 设线性方程组
a11x1 a12 x2 a1n xn b1,
a21x1 a22 x2 a2n xn b2 ,
,
(4.2.1)
am1x1 am2 x2 amn xn bm .
,
它的系数矩阵为 A,增广矩阵为 A ,R(A)= R(A) r .
由于 R(A) r,则矩阵 A 则矩阵中至少
则矩阵中至少有一个r阶子式不为0,从而 这个不为0的r阶子式所在的r个行向量线 性无关.不失一般性,不妨设它位于 A 的左
0
1
0
1
2
0
0
1
(1 )2
2
下面对λ的取值情况进行讨论.
当 1, 2 时,方程组有唯一解:
x1
λ 1, 2 λ
x2
2
1
λ
,
x3
λ 12
2 λ
当 1 时,RA R A 1 3, 原方程组
的同解方程组为:
x1 x2 x3 1
方程组的通解为
xx12
1
x2 x2 ,
线性方程组解的判别与解的结构

线性⽅程组解的判别与解的结构⼀.线性⽅程组求解定理1.线性⽅程组有解判别定理线性⽅程组a11 x1 + a12 x2 + … + a1n x n = b1 ,a21 x1 + a22 x2 + … + a2n x n = b2 , ......................................................as1 x1 + as2 x2 + … + asn x n = bs有解的充分必要条件是 : 它的系数矩阵与增⼴矩阵有相同的秩 .2. 齐次线性⽅程组a11 x1 + a12 x2 + … + a1n x n = 0,a21 x1 + a22 x2 + … + a2n x n = 0, ......................................................as1 x1 + as2 x2 + … + asn x n = 0有⾮零解的充分必要条件是: 它的系数矩阵的秩r ⼩于未知量个数n .齐次线性⽅程组求解⼀般步骤: 1.把系数矩阵通过初等变换,变换成阶梯形矩阵. 2.判断阶梯形矩阵中⾮零⾏的个数秩(r),以及计算⾃由元个数m=n-r. 3.确定⾃由元位置,然后以次为它们赋值1,0... 4.求解出⽅程组的基础解系. 5.⽤基础解系表⽰出⽅程全解.⾮齐次线性⽅程组求解,与齐次线性⽅程组求解过程基本⼀致,只需要再求出⼀个特解。
⼆.如何⽤C语⾔计算线性⽅程组的解 那么如何⽤算法求出线性⽅程组的解呢? 就是根据上⾯⽅程组求解⼀般步骤来的, 1.矩阵的初等变换(在上次⾏列式计算的基础上,这个很好实现). 2.求出矩阵的秩/⾃由元个数,然后确定⾃由元的位置(我认为这是⼀个难点) 3.初始化⾃由元(1,0,..),计算变量,最终求出基础解系 4.⾮齐次线性⽅程 4.1.先求出齐次线性⽅程组的基础解系 4.2.再利⽤上⾯步骤求⼀个特解即可1.矩阵的初等变换//初等⾏变换void primaryRowChange(int s, int n, double **array){int i,j,k,ii,kk,flag;double temp;for(i=0,j=0;i<s-1;i++,j++)//s⾏,最外围只需要变换s-1{ii=i;//如果⾏的⾸元为0,向下查找⼀个不为0的,然后换⾏if(*(*(array+i)+j) == 0){{if(*(*(array+k)+j)!=0)//第k⾏与第i⾏交换{for(kk=j;kk<n;kk++){temp=*(*(array+k)+kk);*(*(array+k)+kk) = *(*(array+i)+kk);*(*(array+i)+kk) = temp;}flag =1;break;}}//判断是交换成功,如果没有成功,则i--if(!flag){i--;continue;}i--;j--;continue;}for(;ii<s-1;ii++){if(*(*(array+ii+1)+j)==0)continue;temp =-*(*(array+ii+1)+j) / *(*(array+i)+j);for(k=j;k<n;k++)*(*(array+ii+1)+k) += *(*(array+i)+k) * temp;}}}2.计算矩阵的秩//计算矩阵的秩int getRank(int s, int n, double **array){int flag;int i,j,r=s;//判断⾮零⾏个数for(i=0;i<s;i++){flag=0;for(j=0;j<n;j++){if(*(*(array+i)+j)!=0 && (*(*(array+i)+j)>0.01 || *(*(array+i)+j) <-0.01))//排除很⼩数, {flag=1;break;}}if(!flag)//当前⾏全为零,则r为i;{r=i;break;}}return r;}3.确定⾃由元位置 ⾃由元确定需要考虑两种情况: 1).系数梯形矩阵最后⼀⾏只有⼀个⾮零元素. 2) 系数梯形矩阵中某⾏的个数等于⾃由元的个数.//获取⾃由元信息int* getFreeElement(int r, int n, double **array, int **matrixPrimary, double **matrixCalc) {int i,j,k,o,p,q;int m=n-1-r;//n-1:int *freeElement =(int*)malloc(m*sizeof(int));j=-1;//判断是否有为0的变量q=0;//如果当前⾏⾮零个数与⾃由元个数相等,则标记为1,⾃由元选择起始位置左移⼀位if(*(*(matrixPrimary+i)+1)==1)//说明第i⾏只有⼀个变量,如果是齐次⽅程它的解⼀定为0 {j=*(*(matrixPrimary+i)+0);for(k=0;k<r;k++)*(*(matrixCalc+k)+j)=*(*(array+k)+n-1) / *(*(array+k)+j);}else if(n-1-matrixPrimary[i][0]==m){q=1;}else if(n-1-matrixPrimary[i][0]>m){o=matrixPrimary[i][0];//当前⾏的⾸元位置p=0;//次数for(k=n-2-q;k>=o;k--)//从后向前查找⾃由元位置{if(k==j)continue;freeElement[p++]=k;if(p==m)//说明已经找到 m个⾃由元return freeElement;}}}return freeElement;}求解⽰例图:1> p148-例42> 2.7(1)-13> 2.7(2)-1.14> 2.7(2)-1.25> 2.7(2)-1.36> 2.7(3)-1.17> 2.7(3)-1.28> 2.7(3)-1.39> 2.7(3)-1.410> p155-例6以下是C语⾔求解的全部源代码#include <stdio.h>#include <stdlib.h>double undefined=-999;//标志位void main(){int i,j,s,n;int res;double **array,*temp,**result;//tempdouble t1[6]={1,1,1,1,1,0};double t2[6]={3,2,1,0,-3,0};double t3[6]={0,1,2,3,6,0};double t4[6]={5,4,3,2,6,0};int homogeneous=1;//标识⽅程是否是齐次⽅程void primaryRowChange(int s, int n, double **array);void printfDouble1Dimension(int n, double *array);void printfDouble2Dimension(int s, int n, double **array);int homogeneousResolve(int s, int n, int homogeneous, double **array, double **result); int nonHomegeneousResolve(int s, int n, double **array, double **result,double *special); //void printfInt2Dimension(int s, int n, int ** array);//int* getPrimary(int n,double *temp);//输⼊说明printf("输⼊说明:⾏数代表S个线性⽅程,N代表未知数及常数项.\n");printf("例如⽅程如下:\n");printf("1x-2y+3z=4\n");printf("-2x-4y+5z=10\n");printf("如下输⼊2⾏,4列:\n");printf("1 -2 3 4\n");printf("-2 -4 5 10\n\n");//开始printf("输⼊⾏数:");scanf("%d",&s);printf("输⼊列数:");scanf("%d",&n);//s=4;//n=6;//动态分配内存空间array =(double**)malloc(s*sizeof(double*));result =(double**)malloc(s*sizeof(double*));special =(double*)malloc(n*sizeof(double));for(i=0;i<s;i++){temp=(double*)malloc(n*sizeof(double));printf("请输⼊第%d⾏数组:",i+1);for(j=0;j<n;j++)scanf("%lf",temp+j);/*switch(i){case 0:temp=t1;//{1,1,1,1,1,0};break;case 1:temp=t2;//{3,2,1,0,-3,0};break;case 2:temp=t3;//{0,1,2,3,6,0};break;case 3:temp=t4;//{5,4,3,2,6,0};break;}*/array[i]=temp;}//打印数组printf("初等⾏列变换之前:\n");printfDouble2Dimension(s,n,array);//判断⽅程是否是齐次⽅程for(i=0;i<s;i++){if(*(*(array+i)+n-1)!=0)//如果最后⼀列,有不为0的说明⽅程为⾮齐次⽅程{homogeneous=0;break;}}primaryRowChange(s,n,array);printf("初等⾏列变换之后:\n");printfDouble2Dimension(s,n,array);if(homogeneous)//齐次{switch (res){case -1:printf("⽅程⽆解.\n");break;case0:printf("⽅程只有零解.\n");break;default:printf("⽅程的基础解系如下:\n");printfDouble2Dimension(res,n-1,result);break;}}else//⾮齐次{res=nonHomegeneousResolve(s,n,array,result,special);if(res==-1)printf("⽅程⽆解.\n");else{printf("⽅程的基础解系如下:\n");printfDouble2Dimension(res,n-1,result);printf("⽅程的特解如下:\n");printfDouble1Dimension(n-1,special);}}system("pause");}//初等⾏变换void primaryRowChange(int s, int n, double **array){int i,j,k,ii,kk,flag;double temp;for(i=0,j=0;i<s-1;i++,j++)//s⾏,最外围只需要变换s-1{ii=i;//如果⾏的⾸元为0,向下查找⼀个不为0的,然后换⾏if(*(*(array+i)+j) == 0){flag=0;for(k=i+1;k<s;k++){if(*(*(array+k)+j)!=0)//第k⾏与第i⾏交换{for(kk=j;kk<n;kk++){temp=*(*(array+k)+kk);*(*(array+k)+kk) = *(*(array+i)+kk);*(*(array+i)+kk) = temp;}flag =1;break;}}//判断是交换成功,如果没有成功,则i--if(!flag){i--;continue;}i--;j--;continue;}for(;ii<s-1;ii++){if(*(*(array+ii+1)+j)==0)continue;temp =-*(*(array+ii+1)+j) / *(*(array+i)+j);for(k=j;k<n;k++)*(*(array+ii+1)+k) += *(*(array+i)+k) * temp;}}}//⾮齐次⽅程解的情况int nonHomegeneousResolve(int s, int n, double **array, double **result, double *special) {int i,j,k,l;int r1,r2;//系数矩阵/增⼴矩阵的秩int getRank(int s, int n, double **array);int homogeneousResolve(int s, int n, int homogeneous, double **array, double **result);r1=getRank(s,n-1,array);r2=getRank(s,n,array);if(r1!=r2)return -1;//⽆解//特解temp =(double**)malloc(r1*sizeof(double*));homogeneousResolve(r1,n,0,array,temp);for(i=0;i<n;i++)*(special+i)=*(*(temp)+i);return homogeneousResolve(r1,n,1,array,result);}//齐次⽅程解的情况int homogeneousResolve(int s, int n, int homogeneous, double **array, double **result){int i,j,k,l,o,p,flag;int r;//秩rankint m;//⾃由元个数int f;//最后⼀个⾮零⾏⾸元的位置double sum1=0,sum2=0;double *temp = (double*)malloc(n*sizeof(double));//临时⾏指针int **matrixPrimary;//存储矩阵⾸元位置及⾮零元个数double **matrixCalc;//计算基础解系int *freeElement;//⾃由元位置double **matrixTemp;//声明函数void printfDouble2Dimension(int s, int n, double **array);void printfInt2Dimension(int s, int n, int **array);int** getPrimary(int s, int n, double **array);int getRank(int s, int n, double **array);double** initMatrixCalc(int s, int n);int* getFreeElement(int r, int n,double **array, int **matrixPrimary, double **matrixCalc);void printfInt1Dimension(int n, int *array);void getPrimarySolution(int r, int n, int homogeneous, double **array, int **matrixPrimary, double **matrixCalc ,int *freeElement, double **result); //秩rankr = getRank(s,n,array);//判断解的情况m=n-1-r;if(m<0)return -1;//⽆解else if(m==0)return0;//只有零解else{//初始化计算矩阵matrixCalc = initMatrixCalc(r,n);//获取矩阵⾸元信息matrixPrimary = getPrimary(r,n,array);/*printf("打印计算矩阵:\n");printfDouble2Dimension(r,n,matrixCalc);printf("打印矩阵⾸元信息:\n");printfInt2Dimension(r,2,matrixPrimary);*/freeElement = getFreeElement(r, n, array, matrixPrimary,matrixCalc);//打印⾃由元位置//printf("打印⾃由元位置:\n");//printfInt1Dimension(m, freeElement);//计算基础解系getPrimarySolution(r, n, homogeneous, array, matrixPrimary, matrixCalc, freeElement ,result);//printfDouble2Dimension(m,n,result);return m;}}//init Matrix calcdouble** initMatrixCalc(int s, int n){int i,j;double **array=(double**)malloc(s*sizeof(double*));for(i=0;i<s;i++){array[i] =(double*)malloc(n*sizeof(double));*(*(array+i)+n-1)=1;{*(*(array+i)+j)=undefined;}}return array;}//计算矩阵的秩int getRank(int s, int n, double **array){int flag;int i,j,r=s;//判断⾮零⾏个数for(i=0;i<s;i++){flag=0;for(j=0;j<n;j++){if(*(*(array+i)+j)!=0 && (*(*(array+i)+j)>0.01 || *(*(array+i)+j) <-0.01))//排除很⼩数, {flag=1;break;}}if(!flag)//当前⾏全为零,则r为i;{r=i;break;}}return r;}//查找某⾏⾮零个数及⾸元位置int** getPrimary(int s, int n, double **array){int i,j;int num=0,index=0;int **result=(int**)malloc(s*sizeof(int*));int *temp;for(i=0;i<s;i++){temp =(int*)malloc(2*sizeof(int));num=0;index=0;for(j=0;j<n;j++){if(*(*(array+i)+j)!=0){if(num==0)index=j;num+=1;}}temp[0]=index;temp[1]=num;result[i]=temp;}return result;}//获取⾃由元信息int* getFreeElement(int r, int n, double **array, int **matrixPrimary, double **matrixCalc){int i,j,k,o,p,q;int m=n-1-r;//n-1:int *freeElement =(int*)malloc(m*sizeof(int));j=-1;//判断是否有为0的变量q=0;//如果当前⾏⾮零个数与⾃由元个数相等,则标记为1,⾃由元选择起始位置左移⼀位for(i=r-1;i>=0;i--)//查找⾃由元,及位置为0的{if(*(*(matrixPrimary+i)+1)==1)//说明第i⾏只有⼀个变量,如果是齐次⽅程它的解⼀定为0 {j=*(*(matrixPrimary+i)+0);for(k=0;k<r;k++)*(*(matrixCalc+k)+j)=*(*(array+k)+n-1) / *(*(array+k)+j);}else if(n-1-matrixPrimary[i][0]==m){q=1;}else if(n-1-matrixPrimary[i][0]>m)o=matrixPrimary[i][0];//当前⾏的⾸元位置p=0;//次数for(k=n-2-q;k>=o;k--)//从后向前查找⾃由元位置{if(k==j)continue;freeElement[p++]=k;if(p==m)//说明已经找到 m个⾃由元return freeElement;}}}return freeElement;}//计算基础解系void getPrimarySolution(int r, int n, int homogeneous, double **array, int **matrixPrimary, double **matrixCalc ,int *freeElement, double **result) {int i,j,k,l,p;int m=n-1-r;//⾃由元double sum1,sum2;double *temp,**matrixTemp;//计算基础解系for(i=0;i<m;i++){matrixTemp=(double**)malloc(r*sizeof(double*));//复制数组for(j=0;j<r;j++){temp =(double*)malloc(n*sizeof(double));for(k=0;k<n;k++)*(temp+k)=*(*(matrixCalc+j)+k);matrixTemp[j]=temp;}//设置⾃由元为0或1for(j=0;j<r;j++){*(*(matrixTemp+j)+freeElement[i])=1;//⾃由元为1for(k=0;k<m;k++){if(k!=i)*(*(matrixTemp+j)+freeElement[k])=0;//⾃由元为0}}//printfDouble2Dimension(r,n,matrixTemp);//计算for(j=r-1;j>=0;j--){p=*(*(matrixPrimary+j));//当前⾏起始位置for(k=p;k<n;k++){if(*(*(matrixTemp+j)+k)==undefined)//如果等于标志位,它可能是未知变量{sum1=sum2=0;for(l=p;l<n;l++){if(l==n-1){sum1=*(*(array+j)+l) * *(*(matrixTemp+j)+l);}else if(l!=k){sum2+=*(*(array+j)+l) * *(*(matrixTemp+j)+l);}}for(l=0;l<r;l++)*(*(matrixTemp+l)+k)=((homogeneous?0:sum1)-sum2)/ *(*(array+j)+k);//如果齐次sum1=0;//break;}}}result[i]=matrixTemp[0];//printfDouble2Dimension(r,n,matrixTemp);}}void printfDouble2Dimension(int s, int n, double **array) {//printf("%d,%d",s,n);int i,j;for(i=0;i<s;i++){for(j=0;j<n;j++){printf("%6.2lf",*(*(array+i)+j));}printf("\n");}}void printfDouble1Dimension(int n, double *array){int i;for(i=0;i<n;i++){printf("%6.2lf",*(array+i));}printf("\n");}//打印⼆维数组void printfInt2Dimension(int s, int n, int **array){int i,j;for(i=0;i<s;i++){for(j=0;j<n;j++){printf("%4d",*(*(array+i)+j));}printf("\n");}}//打印⼀维数组void printfInt1Dimension(int n, int *array){int i;for(i=0;i<n;i++){printf("%4d",*(array+i));}printf("\n");}View Code。
4-线性方程组的解法

17
定理 1 矩阵 A 可以三角分解的条件如下:
1. 若矩阵 A 的所有顺序主子式不等于零; 2. 若矩阵 A 对称正定; 3. 若矩阵 A 严格对角占优,即:
akk akj , k 1, 2, n 。
j k
18
2 2 1 A 4 5 4 例 3 已知矩阵 ,检验 A 是否满足三角分解的条件, 2 4 3
n n n n a11 a1 a b k 1n 1 n n n akk akn bk n n ann bn
7
消元公式:
(0) aij aij , bi(0) bi , ( i , j 1, 2, ..., n) For k 1, 2, ..., n 1 (k ) ( k 1) ( k 1) aij aij lik akj b( k ) b( k 1) l b( k 1) i i ik k ( k 1) ( k 1) akk ; i , j k 1, ..., n lik aik
利用增广矩阵的初等行变换法表示为:
1 1 2 2 1 1 2 2 1 1 2 2 2 1 1 2 1 3 2 1 3 2 A b 4 1 2 1 3 6 7 3 1
k 1
1
ai1 lik uk1 li1u11 ,
k 1
1
即: li1 ai1 u11 i 2, 3,, n .
这是 U 的第一行和 L 的第一列。
22
设: U 的前 m 1 行和 L 前 m 1 列均已算出,那么:
amj lmk ukj lmk ukj lmmumj ,
线性方程组AX=B的解的一般表达式

式 友示 它 的解 呢 ? 回 答 是 肯定 的
为 此 我 们 引 迸 少 义 逆 知 阵 的概 念
的 如 下 性质
一 工
为 便于理 解
我们
先分 析 一 下 非 奇
异矩 阵 万 的 逆 A
(i ) ( i i ) ( 1 11 ) (扮)
_
一
’
:
理 且
且
_
月
=
卫
二
一
1
止
理 月
一孟
月
一 l
左
、
一
`
注二 E
规 则 求解 的
,
类 线 性 方 程组 的 求 解 问 题
二
就 完全 解 决 了
。
当脚 份 时 寸 方程 组 刀 万
B
,
山于 刀 不 是方 阵
,
所 以逆 矩 阵不存
途
,
因 此不 能 用 l: 述 公 式
一
( 3) 求解
。
,
那 么 能 否 想 办 法 对于 二 寺 。 时
`
,
月X
,
=
B也 能 用 公
定理
二
“ n
那
线 性 方 程 组 月万
二
二
B 的 解 的 一 般表 达 式
`
。
线 性 方 程组 涯万
+
刀 有 解 的 充 分 且 必 要 条件 为 五 盗 B
=
B
,
当 有 解 时
,
方 程组 的 通 解 是 X
二
月 方
十
(百
一
月 卫 )。 (。 )
,
、
“
任意
4.2线性方程组有无解的判定

=1 =2 =3 = −1.
3
M
2 −3 3 2 0 3 0 −3
3−7 1 1 M M2 −3 7 3 −1 1 M M3 2 = (阶梯形矩阵) 0 7 0 −1 M0 3 M 0−7 0 1 M M0 −3
5 3 1 − 3 0 0
M 0 M 1 = C (行简化阶梯形矩阵) M 0 M 0
β = (−2 x3 + x4 )α1 + ( x3 − 2 x4 + 1)α 2 + x3α 3 + x4α 4 ( x3 , x4为任意常数 ).
练习:线性方程组 x1 − x2 = a1 x − x = a 2 2 3 x3 − x4 = a3 x − x = a 4 4 5 x5 − x1 = a5 有解的充要条件是a1 + a2 + a3 + a4 + a5 = 0,并在有解时求其一般解。 ,并在有解时求其一般解。
0 2 − 1 0 1 − 1 2 1 . 0 0 0 0 0 0 0 0
(阶梯形矩阵) (行简化阶梯形矩阵)
Q r ( A) = r ( A ) = 2 < 4 = n,∴ 方程组有无穷多解,其一般解为
x1 = −2 x3 + x4 ( x3 , x4为自由未知量). x2 = x3 − 2 x4 + 1 故β 可由α1 , α 2 , α 3 , α 4线性表出, 且表出方式不惟一:
例4.2.3 当λ为何值时,线性方程组
+ x2 + x3 = 0 (1 + λ ) x1 x1 + (1 + λ ) x2 + x3 = 3 x1 + x2 + (1 + λ ) x3 = λ 有解?并求其解。
3.3.1 线性方程组的解

1 l B 1 1
1 1 l 1
1 1 1 l
0 3 l
解法1:对增广矩阵作初等行变换把它变为行阶梯形矩阵.
1 l 1 1 1 ~ 0 r3 ( 1 l ) r1 0
r2 r1
1 1 l 1
1 1 1 l
一、线性方程组的表达式
1. 一般形式
3 x1 4 x 2 x 3 5 x1 x 2 2 x 3 1
2. 增广矩阵的形式
3 1 4 1 1 2 5 1
3. 向量方程的形式
3 1 4 1 x1 1 5 x2 2 1 x3
1 l B 1 1
1 1 l 1
1 1 1 l
0 r 3 ~ l
1 0 0
1
1 l l l (3 l )
l
0
3l (1 l )( 3 l )
l
于是 • • • 当 l ≠ 0 且 l ≠-3 时,R(A) = R(B) = 3 ,有唯一解. 当 l = 0 时,R(A) = 1, R(B) = 2 ,无解. 当 l = -3 时,R(A) = R(B) = 2 ,有无限多解.
(2)
结论 2 如果线性方程组(1)的系数行列式不等于零,则 该线性方程组一定有解,而且解是唯一的.
结论 2′如果线性方程组无解或有两个不同的解,则它的 系数行列式必为零.
用克拉默法则解线性方程组的两个条件: 线性方程组的 解受哪些因素 (1) 方程个数等于未知量个数;
的影响?
(2) 系数行列式不等于零.
② 有唯一解的充分必要条件是 R(A) = R(A, b) = n ;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2.1.1)
利用加减消元法,由 (1) × b2 − (2) × b1 和 ( 2 ) × a1 − (1) × a2 得
⎧ ( a1b2 − a2b1 ) x = b2 c1 − b1c2 ⎪ ⎨ ⎪( a1b2 − a2b1 ) y = a1c2 − a2 c1 ⎩
第二章 行列式
若 a1b2 − a2b1 ≠ 0, 则有
b2 c1 − b1c2 ⎧ ⎪x = a b − a b ⎪ 1 2 2 1 ⎨ ⎪ y = a1c2 − a2 c1 ⎪ a1b2 − a2b1 ⎩
用记号 D =
-
a1 a2
b1 b2
+
表示 a1b2 − a2b1
a1 c1 Dx = = b2 c1 − b1c2 , Dy = = a1c2 − a2c1 , c2 b2 a2 c2 Dy Dx , y= 是方程组(2.1.1)的 若 D ≠ 0, 则 x = D D 公式解。
-
a12 a22 ቤተ መጻሕፍቲ ባይዱ32
a13 a23 a33
+
= a11a22 a33 + a13 a21a32 + a12 a23 a31
≠0
第二章 行列式
− a13 a22 a31 − a11a23 a32 − a12 a21a33
D 是方程组(2.1.2)的公式解。这里 Dx1 , Dx2 , Dx3 是分别
第二章 行列式
第二章 行列式
+ a1n xn = b1 + a2 n xn = b2 + ann xn = bn
(2.1.3)
是否也有类似于(2.1.1)、(2.1.2)的公式解? 这首先就必须解决:能否把二阶、三阶行列式推 广到n阶行列式?要解决这个问题,必须回答以下一 系列问题: 这个n阶行列式如何定义? n阶行列式中一共包含有多少项? 每一项由哪些元素组成? 哪些项前面带正号? 哪些项前面带负号? 有了n阶行列式的定义后,我们才能研究方程组 (2.1.3)有没有类似于二元、三元方程组的公式解。
则
x1 =
Dx1 D
, x2 =
Dx2 D
, x3 =
Dx3
用 ( b1 , b2 , b3 ) 代替 D 中第1列,第2列,第3列所得的 行列式。
由此我们得到二元一次和三元一次线性方程组的 公式解。我们自然要问,对于n元一次线性方程组
⎧ a11 x1 + a12 x2 + ⎪a x + a x + ⎪ 21 1 22 2 ⎨ ⎪ ⎪ ⎩an1 x1 + an 2 x2 +
§2.1 线性方程组的公式解
§2.1
线性方程组的公式解
解方程是代数中一个基本问题,在中学我们学过 一元、二元、三元以至四元一次线性方程组。在解线 性方程组时,我们曾用代入消元法和加减消元法来解 线性方程组。例如,对二元一次方程组
⎧ a1 x + b1 y = c1 ⎨ ⎩a2 x + b2 y = c2 (1) (2)
c1 b1
第二章 行列式
对三元一次线性方程组 ⎧ a11 x1 + a12 x2 + a13 x3 = b1 ⎪ ⎨a21 x1 + a22 x2 + a23 x3 = b2 ⎪a x + a x + a x = b ⎩ 31 1 32 2 33 3 3
(2.1.2)
若
a11 D = a21 a31