用MATLAB和建模实践改造工科线性代数课程的体会
2013-04-29阎家斌宋叔尼孙艳蕊
阎家斌 宋叔尼 孙艳蕊
[摘 要]2009年1月我们参与了教育部高教司启动的“用MATLAB和建模实践改造工科线性代数课程”的项目,主要负责制作一套线性代数机考试题,试题要求涉及线性代数课程的所有主要运算方法,而由计算机随机生成试题。由于试题生成的随机性,使得很多问题变得比较复杂,难于用线性代数的知识解决。文章介绍了利用矩阵的三角分解方法解决线性代数中遇到的一些特殊问题,以及具体应用的实例和线性代数课程改造的重要意义。
[关键词]线性代数应用 矩阵三角分解 教学改革 教学方法 机考试题
[中图分类号] G642.0 [文献标识码] A [文章编号] 2095-3437(2013)08-0065-02
2009年1月教育部高教司启动了“利用信息技术工具改造课程”项目,包含理工、财经、艺术等共18项,西安电子科技大学等院校的“用MATLAB和建模实践改造工科线性代数课程”项目被列为第一项,西安电子科技大学课题组编写的“线性代数实践及MATLAB入门”及“工程线性代数(MATLAB版)”两本教材,较好地体现了经典理论与现代计算手段相结合,将抽象概念形象化,使一些复杂的计算问题得以实现,激发了学生学习的兴趣,培养了解决问题的能力,提高了教学质量。由教育部数学教指委数学基础课程分指委对项目进行了验收鉴定,对项目和教材作出了高度评价。
一、试题建立中遇到的问题
在建立试题的初期,我们遇到了一些看上去很简单却无从下手的问题。
例如:求n阶矩阵A的逆矩阵问题,这是线性代数中最常见的问题,现在是我们如何给出矩阵A?如何保证矩阵A是可逆的?n阶矩阵A有n2个元素,而可逆矩阵对这n2个元素没有什么太多的限制。矩阵A可逆只要求A非奇异,即detA≠0。但是,利用行列式定义计算一个n阶行列式大约需要(n2-1)n次乘法运算,这个计算量是惊人的。反之,用detA≠0这么一个条件去限制矩阵A的n2个元素的取值也是困难的。在线性代数的各类问题中,要求一个矩阵是可逆的是常见问题,比如用Cramer法则求线性方程组的唯一解,也要求方程组系数矩阵是可逆的。在线性空间中,给出两组基之间的过渡矩阵,也要求过渡矩阵是可逆的。
再如:求一个n元齐次线性方程组Ax=0的基础解系问题,如何保证n元齐次线性方程组Ax=0一定有基础解系?进一步基础解系中包含几个解向量?这些当然应该在生成线性方程组时得到解决。理论上就是要求矩阵A的秩R(A)=r 二、矩阵三角分解的推广应用 数值分析课程中,线性方程组的三角分解法有下面结论,只要矩阵A的各阶顺序主子式都不等于零,则存在唯一的单位下三角矩阵L,和上三角矩阵U,使得A=LU。但是,矩阵A可逆并不要求矩阵A的各阶顺序主子式都不等于零。虽然如此,矩阵的三角分解给了我们重要的启示,容易得到下面的结论: 1. 三角形矩阵可逆的充分必要条件是对角线元素都不等于零。 2. 两个可逆矩阵的乘积一定还是可逆矩阵。 这就给出了随机生成可逆矩阵的方法,只要选取矩阵, 其中,lij,1≤j≤i≤n,uij,1≤i≤j≤n随机取值,只要满足lii,uii≠0,1≤i≤n。则两个三角形矩阵L和U都是可逆的,再取矩阵 这样生成的矩阵A就是可逆矩阵。这是因为|A|=|L||U|=l11l22…lnnu11u22…unn≠0。 在具体应用中,例如生成考试题时,为了使生成的可逆矩阵在求逆矩阵时计算不太复杂,而且不同试题的计算难度相差不大,生成不同矩阵时可以选取相同的阶数n。而取矩阵的元素lij,uij绝对值比较小的整数,取lii=uii=1,1≤i≤n由于此时有|A|=1,利用逆矩阵的计算公式A-1=■A*,可知矩阵A的逆矩阵的所有元素都是整数,便于利用各种方法求矩阵A的逆矩阵,而且答案比较整齐。 对矩阵的三角分解进行进一步研究,我们又得到下面的重要结论:记矩阵, 其中,Lr和Ur分别是r阶下三角形矩阵和r阶上三角形矩阵,B是(m-r)×r阶矩阵,C是r×(n-r)阶矩阵,O1是r×(k-r)阶零矩阵,O2是(m-r)×(k-r)阶零矩阵,O3是(k-r)×r阶零矩阵,O4是(k-r)×(n-r)阶零矩阵。则有 是一个m×n矩阵。而且有如下结论: 如果Lr和Ur是可逆矩阵,则矩阵A的秩等于r。 证明 由于Lr和Ur是可逆矩阵,所以,LrUr可逆,于是有 R(L)=R(U)=R(LrUr)=r,R(A)≤R(L)=r 由于矩阵A中有一个r阶子式|LrUr|≠0,所以,R(A)≥r。 于是,矩阵A的秩等于r。 由此可见,按上述方法可以随机生成一个秩等于r的m×n矩阵A。 三、线性代数课程改造的重要意义 线性代数是高等学校理工科各专业和经济管理类专业的一门重要基础课,它不但是学习数值分析、最优化方法、离散数学和微分方程等数学课程的基础,也广泛地应用于工程学、计算机科学、物理学、生物学、经济学、统计学、力学、信号与信号处理、系统控制、通信、航空等学科和领域。 工科学生之所以把线性代数课程作为一门基础课程来学,就是因为后续课程需要应用它来快速、准确地描述和解决问题。也是因为矩阵、向量等线性代数知识是大量具体运算的工具,各种工程问题都要应用这些知识。在教学中,让学生知道课程的用途,带着问题学习知识,是提高学习自觉性和学习动力的重要手段。 线性代数包含行列式、矩阵、向量、线性组合、线性相关、秩、线性方程组、线性空间、线性变换、基、维数、坐标、向量正交、二次型、惯性指数等大量的抽象数学概念,也包含行列式计算、矩阵求逆、矩阵作初等变换、矩阵和向量组求秩、向量组求极大无关组、线性方程组求解、线性空间求基、维数和坐标、将矩阵相似对角化、二次型化标准形[1]等大量的具体计算。由于线性代数中大量计算是复杂的,所以,以笔算为基础的教材只能把大量内容限制在三阶以下的理论推演中,引入了科学计算软件MATLAB,任何高阶问题都可以在短时间内解出,学生可以从大量繁琐的计算中解放出来,把主要精力放在命题实质的思考上。在线性代数课程中充分使用信息技术的最新成果,把工程的需求作为最大的目标,才能让学生同时学习理论和实践,才是线性代数课程发展的最大动力,才能更好地面向现代化,面向未来。 从线性代数课程的角度来看,学生的创新精神、创新能力的培养主要通过应用数学方法解决具体实例来体现。李大潜院士指出:“数学的教学不能和其它科学和外部世界隔离,只是一个劲地在数学内部的概念、方法和理论中打圈子,这不利于了解数学的概念、方法和理论的来龙去脉,不利于启发学生自觉运用数学工具来解决各种各样的现实问题,不利于提高学生的数学素养”。在高等学校,线性代数教学涉及专业广,涉及学生人数众多,加强课程与计算机的结合,加强课程的实际应用,让学生通过具体实践去认识、掌握所学的知识,并运用所学的知识去解决实际问题,无疑是重要的。也需要我们去进一步探索、实践。 [ 参 考 文 献 ] [1] 陈怀琛,高淑萍,杨威.工程线性代数(MATLAB版)[M].北京:电子工业出版社,2007,(7). [2] 李洪潮.多媒体教学网络系统的应用研究[J].西北工业大学学报(社会科学版),2005,(4). [3] 张铁,阎家斌.数值分析[M].北京:冶金工业出版社,2007,(3). [4] 邢伟,李建华,樊复生.线性代数与空间解析几何[M].北京:高等教育出版社,2005. [5] 李大潜.素质教育与数学教学改革[J].中国大学教学,2000,(3):9-11. [责任编辑:左 芸]