08-线性方程组的解的结构定理
3[1].5_线性方程组有解的结构定理
, k n − r为任意常数.
+ k n − rξ n − r ,
数学科学学院
徐
鑫
2008年10月9日星期四
说明 1.解空间的基不是唯一的. 2.解空间的基又称为方程组的基础解系. 3.若ξ1 ,ξ 2 , ,ξ n− r 是Ax = 0 的基础解系,则 其通解为【解得结构】
2008年10月9日星期四
§5 线性方程组有解的结构定理
一、齐次线性方程组解的性质
1.解向量的概念
设有齐次线性方程组
⎧ a11 x1 + a12 x2 + ⎪ a x +a x + ⎪ 21 1 22 2 ⎨ ⎪ ⎪am 1 x1 + am 2 x2 + ⎩ + a1n xn = 0 + a2 n xn = 0 + amn xn = 0
2008年10月9日星期四数学科学学院施行初等行变换对增广矩阵b2008年10月9日星期四数学科学学院可见故方程组有解并有2008年10月9日星期四数学科学学院2008年10月9日星期四数学科学学院2008年10月9日星期四数学科学学院设线性方程组的试确定a的值使方程组有解并求出全部解2008年10月9日星期四数学科学学院因此当a1时方程组有解为自由未知量2008年10月9日星期四数学科学学院2008年10月9日星期四数学科学学院为任意常数得出导出组的一个基础解系为2008年10月9日星期四数学科学学院满足的三个解向量方程组如果非齐次线性补充例题12008年10月9日星期四数学科学学院无关的解向量个线性的基础解系中含有2008年10月9日星期四数学科学学院ax的通解为为任意实数其中2008年10月9日星期四数学科学学院为四元非齐次线性方程组三个解向量求该方程组的解的通解非齐次的特解导出组的通解所以2008年10月9日星期四数学科学学院备用题例1填空题设线性齐次方程组ax0的系数矩阵a是n阶方阵1如a各行元素之和均为零且ran1则方程组的通解为2已知线性方程组有无穷多解则a3已知线性方程组有解则abcd满足条件2008年10月9日星期四数学科学学院nxnx试问a取何值时该方程组有非零解并求出其通解
线性代数第三章线性方程组第4节线性方程组解的结构
c1
1 0
c2
0 1
k1
1 1
k2
2 2
1
0
0
1
得 c1 k2
cc12
k1 k1
2k2 2k2
c1 k2
即 c1 k2 0
cc12
k1 k1
2k2 2k2
0 0
c1 k2 0
解得 c1 k2,c2 k2,k1 k2.
取
k2 k 0,
则方程组(Ⅰ)、(Ⅱ)的公共解为
(kk21
(k1 k2 )
k2 k2
)0 0
解之得到
k1 k2.
当k1 k2 0时,向量
k1(0,1,1, 0)T k2 (1, 2, 2,1)T k2[(0,1,1, 0)T (1, 2, 2,1)T
满足方程组(Ⅰ).
k2 (1,1,1,1)T
并且它也是方程组(Ⅱ)的解,故它是方程组(Ⅰ)与(Ⅱ)的 公共解.
定理3.17 若0是非齐次线性方程组AX=b的一个解,则方程组 AX=b的任意一个解 都可以表示为 0 其中 是其导出组AX=0的某个解,0称为方程组
AX=b的一个特解.
例7 求线性方程组
x1 2x2 3x3 x4 3x5 5
3x1
2x1 4x2
x2 2x4 6x5 1 5x3 6x4 3x5
0 0
x1 5x2 6x3 8x4 6x5 0
的一个基础解系.并求方程组的通解.
解 方程组中方程个数小于未知量的个数,所以方程组有 无穷多解.
对方程组的系数矩阵施以初等行变换,化为简化的阶 梯形矩阵:
3 1 6 4 2
A 2
2
3 5
3
1 5 6 8 6
线性方程组解的结构
性质2 若 X v 为AX o 的解,c为实数,则
X cv 也是 AX o 的解.
证 因
Av o
A(cv ) cAv c o o
结论:若 v1 , v2 ,, vs 是齐次线性方程组
AX=o的解,则 v1 , v2 ,, vs 的线性组合
c1v1 c2v2 cs vs
r2 r1 r3 r1
1 1 1 1 0 0 2 4 0 0 1 2
1 r2 2 r3 r2
1 1 1 1 1 1 0 1 r1 r2 0 0 1 2 0 0 1 2 0 0 0 0 0 0 0 0
现对 xr 1 , , xn 取下列 n r 组数:
1 x r 1 xr 2 0 , 0 x n
0 1 , 0
0 0 , . 1
1 1 0 1 1 1 1 1 0 1 r2 2 r1 r2 0 0 1 2 1 0 0 1 2 r3 r2 2 0 0 0 0 0 0 0 0 0 可见r ( A) r ( A, b) 2, 故方程组有解, 并有
证
于是
Au1 b, Av1 o
A(u1 v1 ) Au1 Av1 b o b
所以, X u1 v1 是方程组 AX b的解.
定理2 若 v1 , v2 ,, vn r 为导出组AX=o的一个 基础解系, u1 为非齐次线性方程组AX=b X
的任意一个解,则A c1v1 c2v2 cn r v n r , (c1 , c2 , , cn r )
线性方程组解的结构
xr
1
br 1 1
0
xr
2
br 2 0
1
L
xn
br ,nr 0
0
(4)
M
xn
M
0
M
0
M
1
令(4)为 k11 k22 L knr nr
(5)
易知:1,2 ,L ,nr 为齐次线性方程组(1)的一个
基础解系,(5)为方程组 Ax 0的通解.
x1 6 x2 4 x3 x4 4 x5 0
- 1 2 3
- 7 2 1
1
4 1
,
2
4 0
;
0
2
基础解系:
0
1
二、非齐次线性方程组解的性质
非齐次线性方程组
Ax b. (1)
与非齐次方程组 Ax b 对应的齐次方程组 Ax 0 称为该非齐次方程组的导出组.
(2)当 1时,方程组的矩阵为
1 2 2 1 0 0
A
2 3
1 1
1 1
:
0 0
1 0
1 0
所以 R A 2
k1, k2 , , ks ,有k11 k22 kss 也是 Ax 的0解.
齐次线性方程组基础解系的求法
若A的秩为r,则(1)的全部解不妨写成:
x1 b11 xr1 b12 xr2 L b1,nr xn
x2
b21 xr1 b22 xr2 L
b2,nr xn
M
xr
br1 xr1 br 2 xr2 L
br ,nr xn
xr1 xr1
(3)
xr
2
xr2
M
xn
xn
其中 xr1, xr2 ,L , xn 是任意实数.
线性方程组解的结构
线性方程组解的结构在数学领域中,线性方程组是一个包含多个线性方程的集合。
解析线性方程组是解决实际问题和在数学中的基础问题之一。
线性代数作为数学分支的一个基石,研究线性方程组解的结构是至关重要的。
本文将探讨线性方程组解的结构及相关性质。
一、线性方程组的定义线性方程组是形如以下形式的方程组:$$ \\begin{cases} a_{11}x_1 + a_{12}x_2 + \\cdots + a_{1n}x_n = b_1 \\\\a_{21}x_1 + a_{22}x_2 + \\cdots + a_{2n}x_n = b_2 \\\\ \\vdots \\\\ a_{m1}x_1 +a_{m2}x_2 + \\cdots + a_{mn}x_n = b_m \\\\ \\end{cases} $$其中,a ij和b i是已知的常数,x i是未知数。
二、线性方程组解的结构1. 解的存在性和唯一性对于线性方程组而言,可能出现以下几种情况:•若线性方程组有解,则解的存在性表明至少存在一组解;•若线性方程组有唯一解,则意味着只存在一组满足所有方程的解;•若线性方程组有无穷多个解,则说明有无穷多组解。
2. 解的结构线性方程组的解可以表示成一个通解和一个特解之和的形式。
具体而言,设A 是线性方程组的系数矩阵,X是未知数的向量,B是常数项的向量,通解可以表示为:X=Xℎ+X p其中Xℎ是方程组的齐次解,而X p是方程组的特解。
3. 解的分类根据线性方程组的系数矩阵的行、列数以及特殊性质,线性方程组的解可以分为以下几种情况:•若系数矩阵的行数等于列数且满秩(行列式不为零),则方程组有唯一解;•若系数矩阵的行数大于列数或者系数矩阵的秩小于行数,方程组可能无解或者有无穷多组解;•若线性方程组有特殊结构(如三角形方程组、对角矩阵方程组等),可以通过特殊性质简化解的求解过程。
三、线性方程组解的应用线性方程组解的结构在数学和应用领域均具有重要意义。
线性方程组解的结构
线性方程组解的结构线性方程组是线性代数的基本内容,在数学的其他分支、自然科学、工程技术以及生产实际中都经常用到,是一个非常重要的理论基础和数学工具。
本课题主要利用向量知识和矩阵的初等变换以及矩阵的秩的相关知识,对线性方程组的解法以及线性方程组解的性质、结构进行较为全面的总结,以便更系统的理解线性方程组及其应用,从而更好地利用线性方程组解决实际问题。
一、基本概念(1) 齐次线性方程组:,形如⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++00221122221211212111n 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 (1)的方程组称为数域上的n 元齐次线性方程组,它的系数矩阵是n m ij a A ⨯=)(,未知量可以表示为⎪⎪⎪⎪⎪⎭⎫⎝⎛=n x x x X 21,则0X A = (1)称为齐次线性方程组的矩阵形式。
(2)非齐次线性方程组:形如⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++.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 的方程组成为数域上的n 元非齐次线性方程组,它的系数矩阵为mn ij a A )(=,增广矩阵为),,,,(),(~21βαααβn A A ==,未知量可以表示为⎪⎪⎪⎪⎪⎭⎫⎝⎛=n x x x X 21,则X=βA (2)称为齐次线性方程组的矩阵形式。
称齐次线性方程组0X A =是线性方程组的导出组。
二、 线性方程组有解的判定定理我们将线性方程组⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++.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 (2.1)写成向量形式:1122.n n x x x αααβ++⋅⋅⋅+= (2.2)其中()j 1,2,,j n α=⋅⋅⋅是系数矩阵A 的第j 个列向量,β是常数向量。
第三章2线性方程组解的结构定理
1 ,2 , ,n线性相关;
向量组{1,2 , ,n }的秩R(1,2 ,
系数矩阵A的秩R(A) n.
,n ) n;
推论:齐次线性方程组只有零解:
1,2 , ,n线性无关;
向量组{1,2 , ,n }的秩R(1,2 , ,n ) n;
系数矩阵A的秩R(A) n. 5
例 讨论齐次方程组解 的
a1n
a22
a2n
am 2
amn
Ax b
x1
x=
x2
xn
b1
b=
b2
bm
a1i
i
=
a2i
ami
b 0,对应齐次线性方程组;
b≠0,对应非齐次线性方程组。
x11 x22 xnn b
4
线性方程组的一般理论
定理:齐次线性方程组有非零解:
1
记为 1,2 , ,nr ;
(2)显然 1,2 ,nr 线性无关;
14
(3)设 Ax 0 的解为 k1
kr kr 1
kn T
则
(kr 11 kr 22 knnr )
k1 b11kr 1
k2
b21kr 1
kr
br1kr 1
0
0
b1,n r kn
b2,
n
r
kn
0
之间的过渡矩阵,即
C ' CQ.
1
对于任意v V ,有
v BX B ' X ',T (v) CY C 'Y '.
设A是线性映射T在基B和C下的矩阵,可知
Y AX
由向量在不同基下的坐标之间的关系可知
QY ' A(PX ')
线性方程组解的结构
例
x 1 − x 2 − x 3 + x 4 = 0, 求解方程组 x1 − x 2 + x 3 − 3 x 4 = 1, x − x − 2 x + 3 x = −1 2. 2 3 4 1
对增广矩阵作初等行变换
1 3 1 1 初等行变换 1 3 − 3 2 5 − 2 1 1
的基础解系及通解. 的基础解系及通解. 解
2 1 4 2 A= −1 − 2 0 0
23
1 0 0 0
2 0 0 0
0 1 0 0
0 0 1 0
2 − 1 0 0
(1)
x1 b a11 a12 L a1n 1 2 a21 a22 L a2n X = x2 , β = b 若记 A= M M , M M M x b a am2 L am n m n m1
5
二、齐次线性方程组的解
设有齐次线性方程组
+ a11x1 +a12x2 +L a1nxn = 0 a x +a x +L a x = 0 + 2n n 21 1 22 2 L L L L L L L L L L L L am1x1 +am2x2 +L amnxn = 0 +
1 − 1 − 1 1 1 1 − 1 − 1 r3 − 2 r2 r2 − 2 r1 4 A = 2 −5 3 2 r − 7r 0 − 7 5 1 3 1 7 − 14 10 8 r2 × ( − ) 7 − 7 3 1 7
21
x = k1ξ1 +k2ξ2 +L kn−rξn−r +η∗, +
线性方程组解的判定与解的结构
***学院数学分析课程论文线性方程组解的判定与解的结构院系数学与统计学院专业数学与应用数学(师范)姓名*******年级 2009级学号200906034***指导教师 ** 2011年6月线性方程组解的判定与解的结构姓名******(重庆三峡学院数学与计算机科学学院09级数本?班)摘 要:线性方程组是否有解,用系数矩阵和增广矩阵的秩来刻画.在方程组有解且有 多个解的情况下,解的结构就是了解解与解之间的关系. 关键词:矩阵; 秩; 线性方程组; 解引言通过系数矩阵和增广矩阵的秩是否相同来给出判定线性方程组的解的判别条件.在了解了线性方程组的判别条件之后,我们进一步讨论解的结构.对于齐次线性方程组,解的线性组合还是方程组的解.在线性方程组有无穷个解时可用有限多个解表示出来.另外以下还涉及到线性方程组通解的表达方式.1 基本性质下面我们分析一个线性方程组的问题,导出线性方程组有解的判别条件. 对于线性方程组11112211211222221122n n n n s s sn n sa x a x a xb a x a x a x b a x a x a x b ++⋅⋅⋅+=⎧⎪++⋅⋅⋅+=⎪⎨⋅⋅⋅⎪⎪++⋅⋅⋅+=⎩ (1)引入向量112111s αααα⎡⎤⎢⎥⎢⎥=⎢⎥⋅⋅⋅⎢⎥⎣⎦,122222s αααα⎡⎤⎢⎥⎢⎥=⎢⎥⋅⋅⋅⎢⎥⎣⎦,…12n n nsn αααα⎡⎤⎢⎥⎢⎥=⎢⎥⋅⋅⋅⎢⎥⎣⎦,12s b b b β⎡⎤⎢⎥⎢⎥=⎢⎥⋅⋅⋅⎢⎥⎣⎦ 方程(1)可以表示为1122n n x x x αααβ++⋅⋅⋅+=性质 线性方程组⑴有解的充分必要条件为向量β可以表成向量组α1,α2,…,αn 的线性组合.定理1 线性方程组⑴有解的充分必要条件为它的系数矩阵111212122212n n s s sn a a a a a a A a a a ⋅⋅⋅⎛⎫⎪⋅⋅⋅⎪= ⎪⋅⋅⋅ ⎪⋅⋅⋅⎝⎭与增广矩阵A =⎛⎝111212122212n ns s sna a a a a a a a a ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ 12s b b b ⎫⎪⎪⎪⎪⎭有相同的秩.证明 先证必要性,设线性方程组(1)有解,就说说,β可以经过向量组1α,2α,⋅⋅⋅nα线性表出.由此立即推出,向量组1α,2α,⋅⋅⋅n α与向量组1α,2α,⋅⋅⋅n α,β等价,因而有相同的秩,这两个向量组分别是矩阵A 与A 的列向量组.因此矩阵A 与A 有相同的秩. 再证充分性,设矩阵A 与A 有相同的秩,就是说,它们的列向量1α,2α,⋅⋅⋅n α与1α,2α,⋅⋅⋅n α,β有相同的秩,令它们的秩为r. 1α,2α,⋅⋅⋅n α中的极大线性无关组是由r个向量组成,无妨设1α,2α,⋅⋅⋅r α是它的一个极大线性无关组.显然1α,2α,⋅⋅⋅r α也是向量组1α,2α,⋅⋅⋅n α,β的一个极大线性无关组,因此向量β可以经1α,2α,⋅⋅⋅r α线性表出,既然β可以经1α,2α,⋅⋅⋅r α线性表出,当然它可以经1α,2α,⋅⋅⋅n α线性表出.因此,方程组(1)有解.证毕定理2 对于线性方程组⑴,若()()R A R A r ==,则当r= n 时,有唯一解;当r< n 时,有无穷多解.证明 设D 是矩阵A 的一个不为零的r 级子式(当然它也是A 的一个不为零的子式),为了方便起见,不妨设D 位于A 的左上角.显然, A 的前r 行就是一个极大线性无关组,第r +1,…,s 行都可以经它们线性表出.因此,方程组⑴与11112211211222221122n n n n r r rn n ra x a x a xb a x a x a x b a x a x a x b ++⋅⋅⋅+=⎧⎪++⋅⋅⋅+=⎪⎨⋅⋅⋅⎪⎪++⋅⋅⋅+=⎩ (2)同解.当r =n 时,由克兰姆法则,方程组(2)有唯一解,即方程组⑴有唯一解.当r ﹤n 时,将方程组(2)改写为111122111,111211222222,1121122,11r r r r n n r r r r n nr r rr r r r r r rn n a x a x a x b a x a x a x a x a x b a x a x a x a x a x b a x a x ++++++++⋅⋅⋅+=--⋅⋅⋅-⎧⎪++⋅⋅⋅+=--⋅⋅⋅-⎪⎨⋅⋅⋅⎪⎪++⋅⋅⋅+=--⋅⋅⋅-⎩(3)(3)作为12,r x x x ⋅⋅⋅的一个方程组,它的系数行列式D≠0.由克兰姆法则,对于12,r x x x ⋅⋅⋅的任意一组值,方程组(3),也就是方程组⑴,都有唯一的解.由于自由未知量12,r x x x ⋅⋅⋅可任意取值,所以方程组(1)有无穷多个解. 证毕在解决了线性方程组有解的判别条件之后,我们进一步探讨线性方程组解的结构.所谓解的结构问题就是解与解之间的关系问题.上面我们提到,n 元线性方程组的解是n 维向量,在解不是唯一的情况下,作为方程组的解的这些问题之间有什么关系呢?我们先看齐次方程组的情形.设111122121122221122000n n n ns s sn n a x a x a x a x a x a x a x a x a x ++⋅⋅⋅+=⎧⎪++⋅⋅⋅+=⎪⎨⋅⋅⋅⎪⎪++⋅⋅⋅+=⎩ (4)是一齐次线性方程组,它的解所成的集合具有下面两个重要性质:性质1 两个解的和还是方程组的解.设()12,,,n k k k ⋅⋅⋅与()12,,,n l l l ⋅⋅⋅是方程组(4)的两个解.这就是说,把它们代入方程组,每个方程成恒等式,即10nij jj a k==∑ (i=1,2,...,s ), 10nij jj a l==∑ (i=1,2,...,s ), 把两个就解的和()1122,,,n n k l k l k l ++⋅⋅⋅+(5)代入方程组,得11()00n nijjijjj j a ck c a kc ====⋅=∑∑ (i=1,2,...,s )这说明(5)也是方程组的解. 证毕性质2 一个解的倍数还是方程组的解.设()12,,,n k k k ⋅⋅⋅是(4)的一个解,不难看出()12,,,n ck ck ck ⋅⋅⋅还是方程组的解,因为11()00n nijjijjj j a ck c a kc ====⋅=∑∑ (i=1,2,...,s )由性质1和性质2得:性质3 方程组(4)的解的任一线性组合还是(4)的解.2 基础解系定义 齐次线性方程组(4)的一组解,若满足 1) 12,,,r ηηη⋅⋅⋅线性无关;2)(4)的任一解可由12,,,r ηηη⋅⋅⋅线性表出. 则称12,,,r ηηη⋅⋅⋅为(4)的一个基础解系.3 基础解系的存在性定理1 在齐次线性方程组有非零解的情况下,它有基础解系,并且基础解系所含解向量的个数等于n r -,其中)(A R r =()r R A =.证:若()R A r n =<,不防设1112121222120r r r r rra a a a a a a a a ⋅⋅⋅⋅⋅⋅≠⋅⋅⋅⋅⋅⋅2,则方程组(4)与方程组11112211,11121122222,1121122,11r r r r n n r r r r n nr r rr r r r r rn n a x a x a x a x a x a x a x a x a x a x a x a x a x a x a x ++++++++⋅⋅⋅+=--⋅⋅⋅-⎧⎪++⋅⋅⋅+=--⋅⋅⋅-⎪⎨⋅⋅⋅⎪⎪++⋅⋅⋅+=--⋅⋅⋅-⎩(6) 同解,用n r -组数 (1,0,…,0), (0,1,…,0), …, (0,0,…,1)代入自由未知量11(,,,)r r n x x x ++⋯⋯,就得到(6)的解,也就是(4)的n r -个解()()()111121221222,1,2,,,,,1,0,,0,,,,0,1,,0,,,,0,0,,1r r n rn r n r n r r c c c c c c c cc ηηη----=⋅⋅⋅⋅⋅⋅⎧⎪=⋅⋅⋅⋅⋅⋅⎪⎨⋅⋅⋅⎪⎪=⋅⋅⋅⋅⋅⋅⎩则12,,,n r ηηη-⋅⋅⋅为方程组(4)的一个基础解系. ⅰ) 12,,,n r ηηη-⋅⋅⋅线性无关事实上,若11220n r n r k k k ηηη--+⋅⋅⋅+=,即1122n r n r k k k ηηη--+⋅⋅⋅+=()()12*,,*,,,,0,,0,0,0,,0n r k k k -⋅⋅⋅⋅⋅⋅=⋅⋅⋅⋅⋅⋅比较最后n r -个分量,得 120n r k k k -==⋅⋅⋅==. 因此, 12,,,n r ηηη-⋅⋅⋅线性无关.ⅱ) 任取方程组(4)的一个解()12,,,n c c c η=⋅⋅⋅,η可由12,,,n r ηηη-⋅⋅⋅线性表出. 事实上,由12,,,n r ηηη-⋅⋅⋅是方程组(4)的解知:1122r r n n r c c c ηηη++-+⋅⋅⋅+也为(4)的解,又1122r r n n r c c c ηηη++-+⋅⋅⋅+=(n r c c ,,,*,*,1 +)它与η的最后n r -个分量相同,即自由未知量的值相同,所以它们为 同一个解,即11r n n r c c ηηη+-=++…….由ⅰ) ⅱ)知,12,,,n r ηηη-⋅⋅⋅为(4)的一个基础解系. 证毕推论 任一与方程组(4)的某一基础解系等价的线性无关的向量组都是方程组(4)的基础解系.证明:12,,,t ηηη⋅⋅⋅为(4)的一个基础解系,12,,,s ααα⋅⋅⋅线性无关,且与12,,,t ηηη⋅⋅⋅等价,则s t =,且i α可由12,,,t ηηη⋅⋅⋅线性表出,即i α也为(4)的解向量.任取方程组(4)的一个解向量η,则η可由12,,,t ηηη⋅⋅⋅线性表出,从而η可由12,,,t ααα⋅⋅⋅线性表出.又12,,,t ααα⋅⋅⋅线性无关,所以12,,,t ααα⋅⋅⋅也是基础解系. 证毕4 基础解系的求法我们只要找到齐次线性方程组的n r -个自由未知量,就可以获得它的基础解系.具体地说,我们先通过初等行变换把系数矩阵化为阶梯形,那么阶梯形的非零行数就是系数矩阵的秩.把每一个非零行最左端的未知量保留在方程组的左端,其余n r -个未知量移到等式右端,再令右端n r -个未知量其中的一个为1,其余为零,这样可以得到n r -个解向量12,,,n r ηηη-⋅⋅⋅,这n r -个解向量12,,,n r ηηη-⋅⋅⋅构成了方程组的基础解系. 方程组(4)的任一解即通解可表为 1112,,,,t k k k k k P ηηη=+⋅⋅⋅+⋅⋅⋅∈例1 求齐次线性方程组1245123412345123453020426340242470x x x x x x x x x x x x x x x x x x +--=⎧⎪-+-=⎪⎨-++-=⎪⎪+-+-=⎩ 的一个基础解系.解 用初等行变换把系数矩阵化为阶梯形:1103111031112100222142634000312424700000----⎡⎤⎡⎤⎢⎥⎢⎥-----⎢⎥⎢⎥→⎢⎥⎢⎥---⎢⎥⎢⎥--⎣⎦⎣⎦, 于是r 3)(=A ,基础解系中有-n r=5-3=2个向量. "于是()3r A =,基础解系中有532n r -=-=个向量." 阶梯形矩阵所对应的方程组为124523454530222030x x x x x x x x x x +--=⎧⎪---=⎨⎪-=⎩ 移项,得1245245534532223x x x x x x x x x x x+-=⎧⎪-=+⎨⎪=⎩ 取351,0x x ==,得一个解向量 1(1,1,1,0,0)η=-; 取350,1x x ==,得另一解向量2751(,,0,,1)663η=.取351,0x x ==得一个解向量1(1,1,1,0,0)η=-; 取350,1x x ==得一个解向量1751(,,0,,1)663η=.12,ηη即为方程组的一个基础解系,方程组的全部解可表示为)(212221P k k k k ∈+ηη对于非齐次线性方程组解11112211211222221122n n n n r r rn n ra x a x a xb a x a x a x b a x a x a x b ++⋅⋅⋅+=⎧⎪++⋅⋅⋅+=⎪⎨⋅⋅⋅⎪⎪++⋅⋅⋅+=⎩ (7)令0,1,,i i s ==⋅⋅⋅,得111122121122221122000n n n ns s sn n a x a x a x a x a x a x a x a x a x ++⋅⋅⋅+=⎧⎪++⋅⋅⋅+=⎪⎨⋅⋅⋅⎪⎪++⋅⋅⋅+=⎩ (8) 称(8)为(7)的导出组.5 解的性质性质1 设12,ξξ为方程组(7)的两个解,则12ξξ-为其导出组(8) 的解.证明 ()112,,,n k k k ξ=⋅⋅⋅,()212,,,n l l l ξ=⋅⋅⋅是方程组(7)的两个 解,即11,, 1,2,...,nnij ji ij j i j j a kb a l b i s =====∑∑它们的差是12ξξ- =()1122,,,n n k l k l k l --⋅⋅⋅-, 显然有111()0, 1,2,...,nn nij jj ij j ij j i i j j j a kl a k a l b b i s ===-=-=-==∑∑∑即12ξξ-=()1122,,,n n k l k l k l --⋅⋅⋅-是导出组(8)的一个解. 证毕性质2 设ξ为方程组(7)的一个解,η为其导出组(8)的解,则ξη+仍为方程组(7)的解.证明 设ξ=()12,,,n k k k ⋅⋅⋅是方程组(7)的一个解,即1(1,2,)nij ji j a kb i s ===⋅⋅⋅∑又设η=()12,,,n l l l ⋅⋅⋅是导出组(8)的一个解, 即10(1,2,)nij jj a li s ===⋅⋅⋅∑显然111()0(1,2,)nnnij jj ij j ij j i i j j j a kl a k a l b b i s ===+=+=+==⋅⋅⋅∑∑∑.证毕6 解的结构定理 若0γ为(7)的一个特解,则方程组(7)的任一解γ皆可表成0γγη=+,其中η为其导出组(8)的一个解.从而有:方程组(7)的一般解为011n r n r k k γγηη--=++⋅⋅⋅+其中0γ为(7)的一个特解,12,,,n r ηηη-⋅⋅⋅为导出组(8)的一个基础解系.证明 显然00()γγγγ=+-,有性质1知,0γγ-是导出组(4)的一个解,令0γγη-=,则 0γγη=+.证毕推论 方程组(7)在有解的条件下,有唯一解⇔(7)的导出组(8)只有零解.7 求非齐次线性方程组(7)的一般解的步骤1)求出其导出组的基础解系12,,,t ηηη⋅⋅⋅ 2)求出其一个特解0γ3)方程组(7)的一般解为011t t k k γγηη=++⋅⋅⋅+. 例2 求解方程组1234123412340311232x x x x x x x x x x x x ⎧⎪--+=⎪-+-=⎨⎪⎪--+=-⎩ 解:221323112.0.5111101111011011/2111310024100021/211231/200121/200000r r r r r r r r r A -+-+------⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪=--−−−→-−−−→- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪-----⎝⎭⎝⎭⎝⎭可见()()R A R A =,方程组有解,并有1243412212x x x x x =++⎧⎨=+⎩取240x x ==,则131/2x x == ,即得原方程组的一个特解0(1/2,0,1/2,0)γ=0(12,0,12,0)γ=.下面求导出组的基础解系: 导出组与 124342x x x x x =+⎧⎨=⎩同解.取241,0x x ==,得1(1,1,0,0)η=; 取240,1x x ==,得2(1,0,2,1)η=. 于是原方程组的通解为0112212,(,)k k k k R γγηη=++∈.参考文献1 北京大学数学系几何与代数小组教研室.高等代数(第三版)[M]. 北京:高等教育出版社,19642 同济大学数学教研室编.线性代数[M].第三版,北京:高等教育出版社,19993 谢帮杰.线性代数[M].北京:人民教育出版社,1978.4 北京大学力学系.高等代数[M].北京:人民教育出版社,19795 邓建中,刘之行.计算方法[M].西安:西安交通大学出版社,20016 赵德修, 孙清华.线性代数题解精选[M].武汉:华中科技大学出版社,2001The Determinant and Structure of Solution ofLinear equationsXingming ****(Class one of Grand 2009, Mathematics and Application Mathematics, College of Maths and Computering Science, Chongqing Three Goreges University )Abstract:Making use of the rank of coefficient matrix and augmented matrix to judge the solution of linear equations. The equations have to solve and a number of cases, the solution of the structure is to understand the relationship between work and solutions.Keywords:matrix; rank ; linear equations; solvement10。
线性代数课件-线性方程组解的结构.ppt
一个线性方程组的全体解向量所成的集合称为该线 性方程组的解集合.显然,解集合是n维向量的集合.
1、齐次线性方程组的基础解系
定理:当系数矩阵的秩 r 小于方程组的个数时, 齐次线性方程组的基础解系含有解 是向量 AX0的基础解系,基 不础 是解 唯系 一的,因 而 通 解 的 表 达 形 是式 唯也 一. 不 的
2、非齐次线性方程组解的结构
把非齐次线性方程组的右端b换成零向量 后得到的齐次线性方程组
AX=0, 称为非齐次线性方程组的导出组.
线性方程组解的结构
线性方程组解的结构11111221n n b a x a x a x =++⋅⋅⋅+ 22112222n n b a x a x a x =++⋅⋅⋅+ 33113223n n b a x a x a x =++⋅⋅⋅+…………………………………1122n n n nn n b a x a x a x =++⋅⋅⋅+表示从变量12,n x x x ⋅⋅⋅到变量12,n b b b ⋅⋅⋅的线性变换,其中ij a 是常数。
确定了线性变换,它的系数所构成的矩阵(系数矩阵)也就确定,线性变换根矩阵是一一对应的关系。
上式可以表示为以向量x 为未知元的向量方程:Ax=b线性方程组如果是有解的,称它是相容的,否则称为不相容。
一、 定理4:N 元线性方程组Ax=b(1) 无解的充要条件是R(A)<R(A.B)(2) 有唯一解的充要条件是R (A )=R(A.b)=n (3) 有无限多个解的充要条件是R(A)=R(A. b)<n二、 非齐次线性方程组求解步骤:Ax=b (1)对于非齐次线性方程组,把它的增广矩阵化为行阶梯型矩阵,从而根据定理4 判断其解的结构。
(2) 若R(A)=R(B),则进一步把B 化成最简型,而对于齐次线性方程组,则把系数矩阵A 化成最简型。
(3) 设R(A)=R(B)=r ,把行最简型中r 个非0行的非0首个元素所对应的未知数取做非自由未知数,其他的元素取做自由未知数。
带入原方程,就可以得到一个关于自由为未知量的表达式。
三、 齐次线性方程组求解步骤:Ax=0(1) 根据R(A)与n (变量个数)来判断解的结构:A. R(A)<n 有非0解B. R(A)=n 只有0解(2) 设R(A)<n ,把行最简型中r 个非0行的非0首个元素所对应的未知数取做非自由未知数,其他的元素取做自由未知数。
带入原方程,就可以得到一个关于自由为未知量的表达式: 自由未知量赋值的步骤(写成向量组形式): i.例如:112523x c c =+212423x c c =-+31x c =42x c =向量形式:1212123142523423c c x x c c x c x c ⎡⎤+⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥-+=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎣⎦=12210c ⎡⎤⎢⎥-⎢⎥⎢⎥⎢⎥⎣⎦+2534301c ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦ (3) 可写出基础解系:12210η⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥⎣⎦2534301η⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦ (4) 写出通解:1122c c ηηη=+ i c R ∈。
问题:什么是线性方程组的解的结构?
基础解系的概念
定义:齐次线性方程组 Ax = 0 的一组解向量:ξ1, ξ2, ..., ξr 如果满足 ① ξ1,ξ2,...,ξr 线性无关; ②方程组中任意一个解都可以表示ξ1, ξ2, ..., ξr 的线性组合, 那么称这组解是齐次线性方程组的一个基础解系.
设 R(A) = r ,为叙述方便, 不妨设 A 行最简形矩阵为
称为方程组的解向量.
ξ11 ξ 21 ξ= M ξ n1
齐次线性方程组的解的性质
性质1:若 x = ξ1, x = ξ2 是齐次线性方程组 Ax = 0 的解, 则 x = ξ1 + ξ2 还是 Ax = 0 的解. 证明: A(ξ1 + ξ2 ) = Aξ1+ Aξ2 = 0 + 0 = 0 . 性质2:若 x = ξ 是齐次线性方程组 Ax = 0 的解,k 为实数, 则 x = kξ 还是 Ax = 0 的解. 证明: A( kξ ) = k ( Aξ ) = k 0 = 0 .
令
− b11 − b12 − b1,n− r M M M − br 1 − br 2 − br ,n − r ξ1 = 1 , ξ 2 = 1 ,L , ξ n − r = 0 0 0 0 M M M 0 0 1
齐次线性方 程组的通解
令 xr+1 = c1, xr+2 = c2, …, xn = cn-r ,则
− b11 − b12 − b1,n − r x1 − b11c1 − L − b1,n− r cn − r M M M M M − br 1 − br 2 − br ,n − r xr − br 1c1 − L − br ,n− r cn − r = = c1 1 + c1 1 + L + cn − r 0 xr +1 c1 0 0 0 M O M M M x c n− r n 0 0 1
线性代数线性方程组解的结构
例3.10 设
1 1 1 1 1
α1
0 2
,
α2
1 3
,
α3
1 a2
,
α4
2 4
, β
1
b 3
3
5
1
a
8
5
试问
(1) 当a,b取何值时, b不能由1,2,3,4线性
表示?
(2) 当a,b取何值时, b可由1,2,3,4唯一线
19
证明 如果方程组AX=0的系数矩阵的秩 为r, 可以通过交换系数矩阵中某些行的 位置,使得位于系数矩阵的左上角的r阶 子式不为零, 这样原方程组就等于下面的 方程组:
多解. 而解法二是用Cramer法则来考虑(1), 系数 行列式列和相等,而(2)和(3)的解法一样.
11
例3.12 试判断线性方程组
x1 x2 x3 1,
121xx11
2 x2 22 x2
3 x3 32 x3
4, 42 ,
13x1 23x2 33x3 43
是否有解, 其中1,2,3,4为互不相同的
性表示?
5
解 b能不能由1,2,3,4(唯一)线性表示,
就看是否存在(唯一的)一组数x1,x2,x3,x4使
得
x1
β
x1α1
x2α2
x3α3
x4α4
(α1
,
Байду номын сангаас
α2
,
α3
,
α4
)
x2 x3
x4
于是问题(1)就是a,b取何值时, 线性方程组
AX=b无解? 而问题(2)转化为a,b取何值时, AX=b有唯一解?其中A=(1,2,3,4)
线性代数线性方程组的解结构及解法
(3) 得
令 xr 1 c1,xr 2 c2 , ,xn cnr ,
b11c1 b12 c2 x1 br1c1 br 2 c2 xr 得通解为: c1 xr 1 c2 x n cn r
b11 b12 br1 br 2 于是基础解系为: 1 1 , 2 0 , 0 1 0 0
b11 b12 br1 br 2 c1 1 c2 0 0 1 0 0
18 返回
法二: 先求通解,再从中找出基础解系.
x1 b11 xr 1 x2 b21 xr 1 由 xr br1 xr 1
b1,n r xn b2, n r xn br ,n r xn
b1, n r cn r br , n r cn r 19 返回
22 返回
二、非齐次线性方程组的解的结构
非齐次线性方程组 Ax b (5)
1、非齐次线性方程组解的性质
性质3:
设 x 1 与 x 2 都是方程(5)的解,
则 x 1 2是对应的齐次方程组Ax 0的解.
性质4: 设 x 是(5)的解,x 是 Ax 0 的解,
16 返回
xr 1 1 x 0 r 2 取 依次为 , 0 xn
x1 x2 则 依次为 xr b11 b21 , br1
线性方程组的解的结构
线性方程组的解的结构线性方程组的解的结构IT技术2009NO.35科技创新导报线性方程组的解的结构刘勇(大连交通大学理学院辽宁大连 116028)摘要:本文对非齐次线性方程组进行了深入的讨论,并给出了另一种刻画非齐次线性方程组解的结构的方法,即只用自身的有限个解来表示全部的解。
从而使非齐次线性方程组解的结构更加完善。
关键词:线性方程组线性无关解的结构中图分类号:G642文献标识码:A文章编号:1674-098X(2009)12(b)-0033-01线性方程组理论是线性代数最基本的内容之一,它在数学的各个领域及其他学科的各个分支都有着广泛的应用。
研究线性方程组解之间的关系及解的结构是线性方程组理论的核心内容。
齐次线性方程组解的结构可以通过自身的有限个解来表示其全部解。
而在一般的线性代数教材中关于非齐次线性方程组解的结构则是借助于它的'导出方程组的基础解系和它自身的一个解来表示。
那么,非齐次线性方程组能否也像齐次线性方程组一样也用其自身的解来表示全部解呢?这是我们要讨论的问题。
设数域P上的线性方程组为AX=B (1)对应齐次方程组可表为AX=0 (2)若令α1,α2,L,αn为A的列向量则(1)还可表为x1α1+x2α2+L+xnαn=B,显然方程组(1)有解的充要条件是B可由α1,α2,L,αn线性表示。
在解决线性方程组有解的判定之后,进一步讨论线性方程组解的结构问题。
在线性方程组解是唯一的情况下当然不存在什么结构问题。
有许多解的情况下,第一文库网所谓的解的结构问题就是解与解之间的关系问题。
同样分两种情况:1.B=O定理1设齐次线性方程组(2)有非零解即r(A)=r定理2(齐次线性方程组解的结构定理)设齐次线性方程组(2)中,r(A)=r2.B≠O定理3(非齐次线性方程组解的结构定理)设非齐次线性方程组(1)中, r(A)=r(A%)=r是非齐次线性方程组(1)的导出η1方,η2程,L组,ηn(2)?r的一个基础解系,那么非齐次线性方程组(1)的全部解为γ0+k1η1+k2η2+L+kn?rη,n?r其中k1,k2,L,kn?r∈P。
线性方程组解的判别与解的结构
线性⽅程组解的判别与解的结构⼀.线性⽅程组求解定理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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例 : 求下列齐次方程组的通解。
(1)
x1 2 x1
2 x2 4 x2
4 x3 8 x3
x4 x4
0 0
3x1 6x2 2x3
0
1 2 4 1
解: A
2 3
4 6
8 2
1 0
1
初等行变换
0 0
2 0 0
4 10
0
1 1
3 0
0 0
2 0 0
0 1 0
15
3
10
0
行最简形矩阵对应的方程组为
x1 x1
7 x2 5 x2
10 x3 7 x3
0 0
x1 3 x2 4 x3 0
1 2 3
解:
A
3
7
10
2 5 7
1
3
4
1 2 3
1 0 1
初等行变换
0
1
1
0
1
1
0 0 0
0 0 0
0
0
0
0
0
0
x1 x2
x3 x3
0 0
令
x3 1
1
得
1
1
通解 x k
即解空间S的维数dim S=n r
证明:
不妨设
1
L
M
0 L
A
化为行
0
L
最简形 M
0
L
0 b11 L MM 1 br1 L 0 0L MM 0 0L
b1,nr
M
br ,nr 0
B
M
0
x1 b11 xr1 L b1,nr xn 0
对应的方程组
x2
b21
xr 1
L
LL
b2,nr xn L
x1 1 1 1 x2 k1 1 k2 3 3 2, x3 2 2 1 2 其中k1 , k 2为任意实数.
备用习题
例 求解方程组
x1 x2 x3 x4 0,
x1 x2 x3 3 x4 1,
x1 x2 2 x3 3 x4 1 2.
0
1
所以原方程组的通解是 x k11 k22
23
例
已知四元线性方程组Ax b的三个解是 1,2,3,
1
3
且
1
2
,
3
2
3
5
,R(
7
A)
3。
求方程组的通解
4
9
解: 由 4 R(A) 1 知导出方程组基础解系有一个解
易知 2 3 21 1 1 1 1T 是导出方程组的一个解. 进而 1 1 1 1T 是导出方程组基础解系.
令1 2 a, 2 3 b, 3 1 c,则
1
0
1
1 2
(a
c
b)
3 1
2, 2
2
1 2
(a
b
c)
1 5
2 , 2
3
1 (b 2
c
a)
0 3 3
2, 2
1
1 2 1 ,
2
1
13 3
2
为Ax 0的基础解系中的解向量.
故Ax b的通解为
0 12
.
0
在对应的齐次线性方程组
x1 x3
x
2
x4 ,中, 2 x4
取
x2 1及 0, 则 x1 1及 1, x4 0 1 x3 0 2
即得对应的齐次线性方程组的基础解系
1
1
1 0
,
0
1
2
0 2
,
1
于是所求通解为
x x x x
1 2 3 4
故方程组的通解为 k 1 1 1 1T 1 2 3 4
例:已知 1 , 2 , 3 是三元非齐次线性方程组
Ax = b 的解, R(A) = 1, 且
1
1
1
1
2
0
, 2
3
1
, 1
3
1
,
0
0
1
求方程组的通解.
解 A是m 3矩阵, R( A) 1,
Ax 0的基础解系中含有3 1 2个线性 无关的解向量.
第3章
线性映射
3.2 线性方程组解的结构定理
回忆: S { x | Amn x 0 } 是 Rn 的子空间,称为齐次 线性方程组 Ax = 0 的解空间,或 A的零空间。
定义 3.2.4 齐次线性方程组的解空间的一组基称为 这个齐次线性方程组的一个基础解系。
注:
若1,2 ,L ,s 是Ax 0 的一个基础解系,则 ξ是 Ax = 0 的一个解,当且仅当ξ能被 1,2 ,L ,s
解
1 1 1 1 0
A | b 11
1 1
1 2
3 3
1 1
2
1 1 0 1 1 2
0 0
0 0
1 0
2 0
12 0
,
所以R(A)=R(A|b)=2, 原方程有解,且
x1 x2 x4 1 2,
x3
2 x4 1 2.
取 x2
x4
0,
则 x1
x3
1 ,即得方程组的一个解 2
1 2
当 R A R A 方程组无解;
当 R Amn R A , 且 R Amn n 方程组有唯一解;
当 R Amn R A ,且 R Amn n方程组有无穷多个解;
特别地当 m n 时 Amn 0 方程组有唯一解;
当 Amn 0时方程组可能无解, 若有解则必有无穷多解
判断正误: Amn x b 满足 m n ,则方程组有无穷多解
x1 5 x2 x3 x4 1
例:
求解非齐次方程组
x1 2 x2 x3 3 x4 3 x1 8 x2 x3 x4
3 1
x1 9 x2 3 x3 7 x4 7
解: 1 5 1 1 1
1 5 1 1 1
Ax 0 的通解是 x k11 k22 L knrnr
齐次线性方程组的Ax=0的基础解系的求法:
1. 把矩阵A经过行初等变换变为行最简形; 2. 找出行最简形对应的自由变量; 3. 将自由变量分别取0和1; 4. 解出其余变量,它们组成n-R(A)个线性无关的 解向量,即为原方程组的基础解系。
xr 2
0
1
0
M M M
M
xn 0 0
1
(2)向量组
b11 b12
M
M
b1,nr
M
br 1
1
,
br 0
2
,
L
,
br
,n
r
0
(C)
0 1 M M
0
M
0 0
1
线性无关。
综合(1) (2)得, 向量组(C)是齐次线性方程组的基础解系.
(2)
x1
2 x2
1 5
x4
0
x3
3 10
x4
0
x2 , x4 是自由变量。
在(2)中令
x2 x4
1
0
;
0
1
得
1
2
1
,
0
0
2
1 5
0
3
10
1
则通解为 x k11 k22
例 : 求下列齐次方程组的通解。
x1 2 x2 3 x3 0
3 2
1,2 ,L ,nr , 则非齐次方程组的所有解为
0 k11 k22 L knr nr|ki R, 1 i n r
称 0 k11 k22 L knrnr 为非齐次方程组的通解
(2) 非齐次方程组 Amn x b 解个数的情况.
非齐次方程组在有解的情况下解的个数取决于 其导出方程组解的个数情况.即
(2) 是 Ax b 的解, 是 Ax 0 的解, 则
是 Ax b 的解;
定理3.2.7 设0是Ax=b的一个特解,是非齐次线性
方程组任一个解,则Ax=b的任一个解 都可表示为
0 +
其中 是导出方程组Ax=0的解。
注:(1)解非齐次方程组 Ax b ,只需要找出非齐次方程组
一个解设为 0 , 并找出其导出组的 Ax 0 的基础解系设为
记
b11
b12
M
M
b1,nr
M
1
br 1 1
,
2
br 0
2
,
L
,
nr
br ,nr 0
.
0
1
0
M
M
M
0
0
1
则 1,2 ,
xr1 1 0
,nr
是令
xr2
为
0
,
1
,
xn
0
0
0
,
0
所得。
1
(
A
|
b)
1
2
1
3
3 8 1 1
3
0
7
2
1
0 0 0
4 0
4
0
1
9
3
7
7
0
0
0
0
0
可见R( A) R( A,b) 2, 故方程组有解, 进一步 化为行最简形:
1 0 3 7 13 7 13 7
0
1
2 7
4 7
4
7
0 0 0
0
0
0
0
0
0
0
21
x1
3 7
x3
13 7
0