大学数学
COLLEGEMATHEMATICS
Vol.27,.2Apr.2011
关于矩阵计算课程教学的几点体会
冯新龙,阿布都热西提,张知难
(新疆大学数学与系统科学学院,乌鲁木齐830046)
[摘要]探讨矩阵计算课程的研究和教学内容,从实践的角度出发,介绍该课程在本科教学中的几点体会.针对教学中出现的问题阐明我们的观点并提出解决办法,实践表明这些办法是行之有效的.
[关键词]矩阵计算;数学软件;实用算法;专业主干课程
[中图分类号]G420[文献标识码]C[文章编号]16721454(2011)02000104
1引言
矩阵计算不但是计算数学专业的主干基础课程,而且又是最具有实用价值的数学理论知识.它不仅是计算数学专业的一个重要研究分支,而且早已成为现代各科技领域处理大量有限维空间形式与数量关系的强有力工具.特别是在信息科学和计算机技术飞速发展的今天,对于这门课程的深度学习和应用更显得极其重要.矩阵计算课程与其它课程,比如高等代数、矩阵论、线性代数等的最明显区别在于理论与实践的完美结合,它既包含严谨的数学理论,又具有很强的应用背景.为许多科学与工程问题的解决提供了一大批十分漂亮的实用算法,并最终形成了目前最流行的几个实用软件包
LAPACK,MATLAB和MATHEMATICA.
矩阵计算又称数值线性代数,它是科学与工程计算的核心.可以毫不夸张地讲,大部分科学与工程问题的解决最终都要归结为一个矩阵计算问题,其中最具有挑战性的问题就是大规模或超大规模矩阵计算问题.矩阵计算研究的主要内容就是如何针对各类科学与工程问题所提出的特殊方程组计算的特点,设计出相应的快速、可靠、简便的算法.
矩阵计算课程主要讲述三大基本问题:一是线性方程组的求解问题,二是线性最小二乘问题,三是矩阵特征值问题.我们既要强调它的理论结构与实用价值,又要强调它目前最具挑战性的方面如何高效地进行大规模矩阵计算.现在,随着对大学课程教学学时的压缩以及书本的讲授内容并没有删减的状况,使得该课程的教学增加了不少难度.特别是对于边疆少数民族地区的大学而言,该课程讲授的对象通常分为两类,即少数民族班学生和汉族班学生.由于民族班学生语言方面和专业知识方面的基础较为薄弱,所以我们需要采取与众不同的汉语教学方式,更多地侧重实践能力方面的培养;对于汉族班学生而言,我们则需要采取精讲、深讲、密切理论联系实践的教学方式.
目前,该课程的教学主要由两部分组成:课堂讲授和数值实验.为了能够全面培养学生的各项素质,尤其是亲自动手解决实际问题的能力,这两部分内容应该有明确的分工.
2教学的几点思考
2.1课堂讲授
课堂讲授是矩阵计算教学中最重要的组成部分,我们应该尽可能地利用这部分学时突出该课程
[收稿日期]20080917
2大学数学第27卷
的特色和实用价值.由于书中涉及到的所有计算问题都是从实际科学与工程问题中所提炼出来的,因此我们必须应用相关数学理论知识对所研究的问题进行敏度分析,对所提供的算法进行误差分析和复杂性分析,得到算法的收敛速度,进而提出具体的数值方法,最后结合计算机的内部结构和计算机语言的特点编制出可行的软件包.
对于书中所提出的三大基本问题,从数学理论上来讲已经发展的相当完善了,但是这些理论上非常漂亮的结果很难应用于实际计算.对此,我们应首先给出理论上的这些漂亮的求解方法,指出其在实际使用上的不足之处,也就是为什么不可行.然后针对这些不足一一提出改进策略,不断地引导学生去思考如何运用已经掌握的数学知识和实际问题的特点去构造有效的解决方法,最后再对采纳的解决方法进行数学上的理论补充和完善.实际上,矩阵计算的教学过程恰好就是对这三类基本问题的科学研究过程.这种教学方法不但可以激发学生的学习兴趣,而且使学生对重要知识点和关键性技巧的掌握更加扎实,大大地提高了学生利用计算机解决实际问题的能力.但是,大多数矩阵计算教材的内容安排则是先给出理论上的漂亮结论,然后由上至下,以理论去指导实践,弱化了学生的动手能力,而这样的演绎方式并不适合大多数学生的学习和应用.笔者曾经几次尝试使用演绎法去教学,但是效果往往并不理想,学生的兴趣明显地减少了;然而先从实际问题出发,以数值例子或数值实验为导向,让学生先了解问题的实际背景,产生一个直观感受的教学方法,往往能够收到事半功倍的效果.课后学生反映这种学习方法有利于他们了解数学家和工程师们最初解决实际问题时的一些原创思想,所以我们必需尽可能地阐明这些方法的没计思想和理论依据.对于主要定理的证明,我们采取明晰思路,跳过细节推导,掌握关键性技巧的策略.
与此同时,我们在教学中还要注意这门课程的框架结构,教学计划安排应该由浅入深,由易到难,由小规模数值模拟实验到大规模数值模拟实验地进行练习.学生刚接触这门课程时,往往觉得这门课程比较难,技巧性很高,感觉难以跟上老师讲课的思路.另外也觉得这门课程比较枯燥,感觉只是在玩误差传播游戏.造成这种局面的主要原因就是该课程的知识点非常多,推导虽然严谨,但比较简洁.这就要求学生对已经学过的线性代数或高等代数课程理论知识掌握的非常熟练;对计算机的硬件结构体系和软件语言的使用非常了解.如果没有一个好的思维主干贯穿始终,学生会感到知识链条脱节,学生学完全部课程之后,只能是杂乱的知识积累,而无法深层次、有条理地理解知识结构之间的联系.因此,要求教师在讲授课程的过程中,要努力做到使各章之间保持一种紧密的联系,矩阵计算的逻辑性很强,教师在教学过程中,要逐步深入地提出问题,引导学生看到各个知识点之间的联系以及不同之处.当提出一个新问题时,启发学生思考为什么会提出这样的问题,哪里是问题的关键所在,原有解决方法的缺陷又在什么地方.特别是矩阵计算中的反例和特例值得特别关注和讲解.所有的算法都只有针对性,不具有普适性.这样,学生的思路就会比较清晰.进一步地,我们可以激发他们从不同的角度深层次考虑问题,提出一些切实可行的方法.需要指出的是,学会如何提出好的问题是教师对学生最重要的训练,因为好的问题是今后科学研究发展的方向、核心和源动力.
此外,我们可以在教学中适当地运用多媒体课件.目前,多媒体教学已经成为各种课程教学的重要手段之一,而对于数学课程教学来说更是不可缺少的组成部分.我们应该加强并合理地使用现代教学手段和工具,将该课程的教学质量提高一个水平.对于近似求解过程可以采用动态演示,对于算法的具体实现可以采用Matlab、Mathematica、Maple等软件进行编程.这种教学方法的主要特点在于对每个算法的具体实现以及大量的数值测试不再纸上谈兵,可以进行现场演示,图文并貌,直观的看到数值结果,从而可以更好地发现算法的优缺点,使得教学内容更加丰富、生动鲜明,节省了大量时间.这样,学生会产生更深刻的印象,也更能激发学生对实际问题的直观认识和看到具体的操作实施过程.此外,多媒体课件可以帮助学生进行课后复习,掌握重要知识点,对所学内容穿针引线,更好地帮助学生理解和应用.但是,平时课程的理论推导讲授应以黑板为媒介,因为理论推导书写的过程也是学生消化、理解、掌握、吸收知识的一个完整过程.同时,我们应注重强调定理的条件和结论以及证明的关键性技巧,用通俗的语言解释定理所蕴涵的意义,让学生能够切身体会到定理所蕴涵的美妙之处.在实践中,我们发现由于多媒体课件中包含的信息量很大,因此造成学生光顾着阅读课件内容和听教师讲解而忘记了自己思考问题.在这里我们想强调的是对于课程内容的回顾和总结,以及数值实验这几方面采用多媒体教学是非第2期冯新龙,等:关于矩阵计算课程教学的几点体会3
常适宜的.对于新内容,我们认为以板书为主的方式是最好的.在整个教学过程中,学生和老师都需要有充分的时间思考和记忆,而不能采取满堂灌策略.
2.2数值实验
数值实验是矩阵计算课程教学中不可缺少的重要环节,数值实验的主要目的在于培养学生的实践能力和科学计算能力,将课堂上所学的每一个算法理论应用到具体的实例中.这是一个消化、吸收课堂上所学知识点的过程.学生针对同一个问题可以尝试用不同方法去解决,并且加以比较分析,以此来验证各种方法的优缺点.进一步地,学生可以在数值实验的实施过程中发现新的问题,并提出自己的解决方案.矩阵计算中的许多问题仅靠课堂教学、理论推导是很难讲明白的,例如算法复杂性、收敛速度、运算量等相关问题,学生要学会如何针对具体问题选择合适的算法,正确分析计算结果的可靠性与精度,学会提高计算效率的思想和方法并发展这些算法.学生在实际计算过程中,可以通过绘图或数据处理等方式进行数据分析,以加深对课堂知识的理解和应用.
数值实验与课堂教学的密切结合也可以被认为是该研究方向科研工作的回顾、延续和展望,让学生初步感受到科研活动的无穷魅力和乐趣.但是需要说明的是,数值实验这一教学环节也存在着很大的问题数值实验题目的有限与学生之间的抄袭问题.笔者曾尝试将学生分组做不同的题目,或者针对同一题目,不同的小组采用相同或不同的方法求解,然后对算法的各项指标进行分析,比如精度,CPU运算时间,矩阵的阶数,相对误差等,最终形成一份实验数据分析报告.这种方法尝试的结果十分理想,但是上机实验部分的教学仍有许多需要改进之处.比如对于大规模矩阵计算,我们可以采用大大增加特殊矩阵维数的办法,让学生发现大规模矩阵计算实践上的困难所在,一是对硬件存储的要求,二是对算法运算量和稳定性的要求等.
此外,由于科学与工程计算涉及的领域非常广阔,学生在数值实验的过程中,很有可能发现新的问题,并创造出新的算法,揭示新的自然现象.如果老师能与学生共同探讨,不仅能使问题进一步深化,甚至有可能促进科学与工程计算的向前发展,而且对培养学生的探索精神有很大好处.
3考核方法
考试是教学质量和学习水平的有效评估,合理地进行考核是必要的.针对该课程的特点,应将数值实验放在考核范围之内,上机实验报告是考核内容之一.此外,我们还可以采取口试与笔试相结合的方法进行考核.由学生向老师阐述问题的背景,问题的关键所在,克服难点的基本思想以及解决方案,直至最后数值实验的完成.关键之处在于将理论分析与实验结果进行对比分析,比较现有各种方法之间的差别,了解每种算法解决了什么问题和没有解决什么问题,从实际中要求的某个方面考虑,哪种方法更简单可行.这一方式收效甚大,它不仅能督促学生仔细推敲书本知识点,而且锻炼了学生分析数值实验数据的能力,这更能加深对课本内容的理解.
其次,作业也是考核内容之一,多做习题对加强数学理论学习和提高数学修养是最直接的手段之一,知识只有通过不断整理、推导和应用,才能从中理解并掌握,所以必须做一定量的习题.教师要精选一些与教学内容相联系的习题,注重巩固基础知识,掌握基本技能和技巧,提高解题能力,加强知识点的灵活应用.如果有必要的话,教师可适当介绍一下该研究方向的前沿研究热点问题,激发学生的求知、进取意识.与此同时,为了进一步巩固学生对知识点的把握和开拓学生的视野,可以鼓励学生多看一些参考书,有关这方面的权威著作参见[1-7].
最后一个考核内容就是闭卷考试,力求知识面专而深,题型内容丰富.既考查基础知识,又考查解决问题的能力,并不断补充、完善逐步建立标准试题库.
[参考文献]
[1]徐树方,高立,张平文.数值线性代数[M].北京:北京大学出版社,2000.[2]曹志浩.数学线性代数[M].上海:复旦大学出版社,1996.4大学数学第27卷
[3]GloubGHandVanLoanCF.MatrixComputations[M].3rdedition.BoltimoreandLondon:TheJohnsHopkins
UniversityPress,1996.
[4]SaadY.IterativeMethodsforSparseLinearSystems[M].Philadelphia:SIAM,2000.
[5]WilkinsonJH.TheAlgebraicEigenvalueProblem[M].England:ClarendonPress,Oxford,1965.[6]胡家赣.线性代数方程组的迭代解法[M].北京:科学出版社,1991.
[7]JinXiaoqing,WeiYimin.NumericalLinearAlgebraandItsApplications[M].北京:科学出版社,2004.
SomeExperiencesofMatrixComputationsCourse
FENGXinlong,Abdurishit,ZHANGZhinan
(CollegeofMathematics&SystemSciences,XinjiangUniversity,Urumqi830046,China)
Abstract:WediscussthestudyandcontentofMatrixComputationscourseinthispaper.Intheviewofpractice,wepresentsometeachingmethodsandexperiences.Accordingtoourexperiences,weshowsometeachingproblemsandprovidecorrespondmethodstoresolvetheminthiscourse.Thesemethodsinpracticeareeffective.
Keywords:matrixcomputations;mathematicalsoftware;practicalalgorithm;maincourseinspecialty
因篇幅问题不能全部显示,请点此查看更多更全内容