3.4 线性方程组解的结构
- 格式:ppt
- 大小:683.00 KB
- 文档页数:5
线性方程组解的结构
线性方程组的解的结构是线性空间。
线性方程组是数学中一个很重要
的概念,它是由多个线性方程组成的方程组。
线性方程组是指所有未知量
的各个线性方程组成的一个方程组。
线性方程组的解的结构本质上是线性
空间的结构。
线性空间是指一个能进行线性运算的集合。
线性空间具有加法运算和
数乘运算,而且满足线性运算的性质。
线性方程组的解符合线性空间的定义,因此可以将线性方程组的解看作是线性空间中的向量。
首先,线性方程组的解是一个向量空间。
向量空间是线性空间的一种
特殊情况,它是一个向量的集合,可以进行线性运算。
在线性方程组中,
解是通过求解方程组得到的向量。
其次,线性方程组的解是一个子空间。
子空间是线性空间的一个子集,同时也是一个线性空间。
线性方程组的解是通过线性运算得到的,所以它
也是线性空间中的子空间。
1.如果矩阵的秩等于线性方程组的未知量的个数,那么线性方程组有
唯一解。
2.如果矩阵的秩小于线性方程组的未知量的个数,那么线性方程组有
无穷多解。
3.如果矩阵的秩等于线性方程组的未知量的个数,但是矩阵的秩小于
矩阵的列数,那么线性方程组有无解。
总之,线性方程组的解的结构是线性空间,它满足线性空间的定义和
性质。
线性方程组的解是线性空间中的向量,该向量可以通过矩阵运算来
求解。
线性方程组的解的结构与矩阵的秩有密切的关系,矩阵的秩决定了线性方程组的解的结构。
线性方程组的解的结构是线性空间及其应用的一个重要领域,它在数学和工程中都有广泛的应用。
自考《线性代数》(经管类)教学大纲课程代码:04184 总学时:33学时一、课程的性质、目的、任务:《线性代数》是以变量的线性关系为主要研究对象的数学学科。
该课程介绍行列式,矩阵,线性方程组,二次型等有关的概念,理论及方法。
本课程不仅是许多后续相关学科的理论基础,同时也是科学技术和经济管理领域的重要数学工具。
内容的抽象性,逻辑的严密性是《线性代数》的基本特点,在教学过程中应特别注意对学生抽象思维,逻辑思维以及归纳推理能力的培养。
通过本课程的教学,要求学生对基本概念,基本理论和重要方法有正确的理解,并能比较熟练地掌握和应用。
通过本课程的学习,使学生获得线性代数的基本知识,培养学生的基本运算能力,增强学生处理问题的初步能力。
另外通过本课程的学习,为学生学习后续课程和进一步深造以及今后工作奠定必要的数学基础。
二、课程教学的基本要求:教学要求由低到高分三个层次,有关定义、定理、性质、特征概念的内容为“知道、了解、理解”;有关计算、解法、公式、法则等方法的内容按“会、掌握、熟练掌握”。
三、教学内容第一章行列式学时:4学时(讲课3学时)本章讲授要点:行列式的概念和基本性质、行列式的计算、行列式按行(列)展开定理、克莱默法则。
重点:行列式的计算、克莱默法则难点:行列式的计算、克莱默法则。
教学内容:§1.1 二阶、三阶行列式§1.2 n阶行列式§1.3 行列式的性质§1.4 行列式按行(列)展开§1.5克莱默法则教学基本要求:1.理解行列式的定义,掌握行列式的性质,并会用行列式的性质证明和计算有关问题。
2.熟练掌握通过三角化计算行列式的方法。
3.理解子式,余子式,代数余子式的定义,熟练掌握按某行(或某列)展开行列式,会应用展开定理计算和处理行列式。
4.了解“克莱默”法则的条件和结论,掌握判别齐次方程组有非零解的条件。
第二章矩阵学时:6学时(讲课4学时)本章讲授要点:矩阵的概念,几种特殊矩阵,矩阵的运算,矩阵可逆的充分必要条件,求逆矩阵,矩阵的初等变换,矩阵的秩。
线性方程组的解的结构与性质线性方程组是数学中常见的问题,它在各个领域都有广泛的应用。
解决线性方程组问题需要了解其解的结构与性质,这将有助于我们更好地理解和应用线性方程组。
一、线性方程组的定义与基本性质线性方程组由一组线性方程组成,每个方程都是关于未知数的一次多项式,并且未知数的次数都为1。
线性方程组的一般形式可以表示为:a₁₁x₁ + a₁₂x₂ + ... + a₁ₙxₙ = b₁a₂₁x₁ + a₂₂x₂ + ... + a₂ₙxₙ = b₂...aₙ₁x₁ + aₙ₂x₂ + ... + aₙₙxₙ = bₙ其中,a₁₁、a₁₂、...、aₙₙ为系数,x₁、x₂、...、xₙ为未知数,b₁、b₂、...、bₙ为常数。
线性方程组的基本性质包括:1. 线性方程组可以有唯一解、无解或无穷多解。
2. 若线性方程组有解,则其解可以表示为一个向量。
3. 若线性方程组有解,则其解的个数与未知数的个数之间存在关系。
二、线性方程组的解的结构线性方程组的解的结构与其系数矩阵的秩有关。
系数矩阵是指将线性方程组的系数按顺序排列形成的矩阵。
1. 若系数矩阵的秩等于未知数的个数,即rank(A) = n,则线性方程组有唯一解。
解向量可以通过高斯消元法或矩阵求逆的方法求得。
2. 若系数矩阵的秩小于未知数的个数,即rank(A) < n,则线性方程组有无穷多解。
此时,解向量可以表示为特解加上齐次方程的解的线性组合。
特解可以通过高斯消元法或矩阵求逆的方法求得。
3. 若系数矩阵的秩小于未知数的个数,并且存在某个未知数的系数全为0,则线性方程组无解。
三、线性方程组的解的性质线性方程组的解具有以下性质:1. 若线性方程组有唯一解,则解向量是唯一确定的。
不同的线性方程组可能具有相同的解向量。
2. 若线性方程组有无穷多解,则解向量可以表示为特解加上齐次方程的解的线性组合。
特解可以通过高斯消元法或矩阵求逆的方法求得。
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 个列向量,β是常数向量。
***学院数学分析课程论文线性方程组解的判定与解的结构院系数学与统计学院专业数学与应用数学(师范)姓名*******年级 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。
第3章n维向量和线性方程组向量是线性代数的重点内容之一,也是难点,对逻辑推理有较高的要求。
本章从研究向量的线性关系(线性组合、线性相关与线性无关)出发,然后讨论向量组含最多的线性无关向量的个数,即引出向量组的秩和最大无关组,最后,应用向量空间的理论研究线性方程组的解的结构。
无论是证明、判断、还是计算,关键在于深刻理解本章的基本概念,搞清楚其相互关系,并会灵活应用。
3. 1 n维向量及其运算定义(n维向量)由数域F中的n个数a-i,a2/ , a n组成的有序数组-■ - ( a i, a2, , a n)a2耳一称为数域F上的一个n维向量,前者称为行向量,后者称为列向量,其中a1, a2 / ,a n称为向量的分量(或坐标)。
分量是实(复)数的向量称为实(复)向量。
如果没有特殊的声明,以下所讨论指数域F上的向量。
行向量可以看成行矩阵,列向量看成列矩阵,向量的运算规定按矩阵的运算法则进行。
以下讨论的向量,再没有指明是行向量还是列向量时,都当作列向量。
设有向量■■ = (a i,a2,…,a n),- - (b1 ,b2 / , b n )则向量相等的定义为- a i = b i (i=1,2,…,n)向量的加法定义为a + P =(a i +b i a? +b2 …a* +b n T数乘向量的定义为k:(「k)二(ka i,ka2, ,ka n)T向量的加法以及数乘运算统称为向量的线性运算,它满足下列8条运算规律(其中:■,'-,为n维向量,k,l为常数):(1)二:+:= :+=;)( :• - ) ( - );(3)存在零向量0= ( 0,0,…,0 ) T,使得〉+0= ;(4)存在:-的负向量-二=(_a i,_a2,…,-a n)T,使得〉+ (-二)=0;(5)仁• = :•;(6)k(l : )=(kl):-;(7)k(: + 1 )=k +k :;(8)(k+l)用=k : +1 :;如果记矩阵A = (a j )m n的第j列向量为:a i ja2jQ j = : , (j=1,2,…,n)貝一则由向量的线性运算,可将方程组Ax=b写成下列形式:论一:* - X2J2…'x n J n二 b而齐次线性方程组A X=0则可写成向量形式:Xv 1 ■ X2: 2 …• X n: n = 03. 2向量组的线性相关性定义(线性组合)设宀,:^,…,〉m是一组n维向量,k1, k2/ ,k m是一组常数,则称向量kr 1 k2: 2 k m: m为向量〉1,〉2,i,〉m的一个线性组合,并称k1,k2 / , k m为该线性组合的系数。
线性⽅程组解的判别与解的结构⼀.线性⽅程组求解定理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.1 线性代数的起源与发展介绍线性代数的概念、起源和发展历程。
强调线性代数在数学、物理、工程、计算机科学等领域的应用。
1.2 为什么要学习线性代数解释线性代数的重要性,包括解决实际问题和理论研究。
引导学生理解线性代数与其他数学分支的关系。
1.3 线性代数的基本概念介绍向量、向量空间、线性相关与线性无关等基本概念。
解释向量的几何表示和坐标表示。
1.4 线性方程组介绍线性方程组的定义和基本性质。
解释线性方程组的解法和求解过程。
第二章矩阵及其运算2.1 矩阵的定义与基本性质介绍矩阵的概念和矩阵的元素。
解释矩阵的运算规则和矩阵的转置。
2.2 矩阵的运算教授矩阵的加法、减法、乘法、除法等基本运算。
给出矩阵运算的例子和练习题。
2.3 逆矩阵介绍逆矩阵的概念和性质。
教授逆矩阵的求法和应用。
2.4 矩阵的特殊类型介绍单位矩阵、对角矩阵、对称矩阵等特殊类型的矩阵。
解释特殊矩阵的性质和应用。
第三章线性方程组的求解3.1 高斯消元法介绍高斯消元法的原理和步骤。
给出高斯消元法的例题和练习题。
3.2 克莱姆法则介绍克莱姆法则的原理和条件。
解释克莱姆法则的应用和求解过程。
3.3 矩阵的秩介绍矩阵秩的概念和性质。
教授矩阵秩的求法和应用。
3.4 线性方程组的解的结构解释线性方程组解的性质和结构。
给出线性方程组解的例子和练习题。
第四章向量空间与线性变换4.1 向量空间的概念与性质介绍向量空间的概念和向量空间的性质。
解释向量空间的基本运算和向量空间的基。
4.2 线性变换的概念与性质介绍线性变换的定义和性质。
解释线性变换的矩阵表示和线性变换的域。
4.3 线性变换的运算教授线性变换的加法、减法和乘法等运算。
给出线性变换的例子和练习题。
4.4 特征值与特征向量介绍特征值和特征向量的概念和性质。
教授特征值和特征向量的求法和应用。
第五章特征值与特征向量5.1 特征值和特征向量的概念与性质介绍特征值和特征向量的定义和性质。
《线性代数》课程教学大纲课程名称:线性代数课程代码:课程性质: 必修总学分:2 总学时: 32* 其中理论教学学时:32*适用专业和对象:理(非数学类专业)、工、经、管各专业**使用教材:注:(1)大部分高校开设本课程的教学学时数约为32—48学时,为兼顾少学时高校开展教学工作,本大纲以最低学时数32学时(约2学分)进行教学安排,有多余学时的学校或专业可对需要加强的内容适当拓展教学学时。
(2)对线性代数课程而言,理工类与经管类专业的教学基本要求几乎一致,所以这里所列教学内容及要求对这两类专业均适合。
一、课程简介《线性代数》是高等学校理(非数学类专业)、工、经、管各专业的一门公共基础课,其研究对象是向量,向量空间(或称线性空间),线性变换和有限维的线性方程组。
该课程具有理论上的抽象性、逻辑推理的严密性和工程应用的广泛性。
主要内容是学习科学技术中常用的矩阵方法、线性方程组及其有关的基本计算方法,使学生具有熟练的矩阵运算能力并能用矩阵方法解决一些实际问题。
通过本课程的学习,使学生理解和掌握行列式、矩阵的基本概念、主要性质和基本运算,理解向量空间的概念、向量的线性关系、线性变换、了解欧氏空间的线性结构,掌握线性方程组的求解方法和理论,掌握二次型的标准化和正定性判定。
线性代数的数学思想和数学方法深刻地体现辩证唯物主义的世界观和方法论,线性代数的发展历史也充分展示数学家们开拓创新、追求真理的科学精神,展现古今中外数学家们忠诚爱国、献身事业的高尚情怀。
思想政治教育元素融入线性代数的教学实践之中,可以培养学生用哲学思辨立场、观点和方法分析解决问题,能够提高学生的创新能力和应用意识,培养学生的爱国主义情怀、爱岗敬业精神和开拓创新精神,帮助学生在人生道路上形成良好的人格,树立正确的世界观、人生观、价值观。
线性代数理论不仅渗透到了数学的许多分支中,而且在物理、化学、生物、航天、经济、工程等领域中都有着广泛的应用。
同时,线性代数课程注重培养学生逻辑思维和抽象思维能力、空间直观和想象能力,提高学生分析问题解决问题的能力。