1、线性代数要与科学计算线性代数要与科学计算结成好伙伴结成好伙伴2019.5 一、科学计算能力的培养一、科学计算能力的培养要作为大学教育的重要目标要作为大学教育的重要目标工具是现代化的基本标志工具是现代化的基本标志 中国教育的现代化要看第一线师生的工具 和国外比比看 和工业、商业、国防现代化比比看 和30年前比比看,那时还有一个FORTRAN当必修课。科学计算得有教指委管,不能三不管,我看只有数学教指委最合适。表表1 计算能力和计算工具培养阶段表计算能力和计算工具培养阶段表教育阶段教育阶段学习的课学习的课程及方法程及方法计算能力水平计算能力水平工具工具 毕业设计和工作阶段设计实践学习、使用、开发、
2、改善专用CAD/CAM软件计算机计算机大学本科高年级各门理工课程使用通用科学计算软件,提高科学计算能力大学本科低年级线性代数计算方法学会矩阵理论和编程工具,掌握科学计算基础计算机中学代入法四则及代数运算能力计算器小学算术手算能力笔何谓科学计算能力何谓科学计算能力 所谓科学计算能力,是指的利用现代计所谓科学计算能力,是指的利用现代计算工具(包括硬件和软件)解决教学和算工具(包括硬件和软件)解决教学和科研中计算问题的能力。它包括掌握最科研中计算问题的能力。它包括掌握最新的科学计算软件、建立适当的计算模新的科学计算软件、建立适当的计算模型、采用正确的计算方法、实现高效的型、采用正确的计算方法、实现高
3、效的编程和运算、对计算结果作正确的表述编程和运算、对计算结果作正确的表述和图解和图解等多方面的综合能力。等多方面的综合能力。二、科学计算特别需要线性代数二、科学计算特别需要线性代数 20192019的十年间,我对机械、电子和控制三个专业的主要课程的进行了机算改造的试验,一是对其演示的例题;二是对其习题;后来是对它的理论讲解方法和形象演示(包括图形和动画)。共涉及十多门课,编写了400多个程序。真正体会到科学计算的甜头和它需要的基础。使用科学计算涉及的课程使用科学计算涉及的课程数学(包括微积分、线性代数、概率统计);普通物理(含力学、电学、磁学、分子物理、声学、光学)力学机械(含理论力学、材料力
4、学、机械振动)电工电子(含电路、电子线路、电机、高频电路)以上在一本书中,共150个程序电路,信号与系统、自动控制原理等,共120个程序数字信号处理全课程:理论演示、例题,180个程序从几百道例题中得出的结论:(1)机算非常优越机算的精度高、速度快、改变参数,可立即得到新结果;分析与设计无缝衔接,可升级创新,可形象演示,减少计算的重复(调用子程序),也可减少各课程的重复。特别是使教师和学生都站在总体高度,把握计算的大步骤,指挥计算机去干活。大大缩短从学校到工作岗位的过渡时间,它是人才培养现代化的标志之一。(2)矩阵建模是关键计算器和计算尺都主要进行两个数之间的运算,而计算机的特点则是海量数据的
5、集群计算。计算器取代计算尺很简单,不要学,提高效率也不大,只是精度高了。计算机取代计算器可不是简单的工具置换,必须彻底改变计算模型,我解的几百道题中,90%以上都采用矩阵(数组)建模,这是其中最关键的一步,学生的最大问题却是不会矩阵建模和编程。(3)线性代数最有用 在这几百个程序中,包括了微积分、空间解析几何、非线性和超越方程、常微分方程、偏微分方程,最后都归结到矩阵运算,说明大学的后续课中,代数问题比微积分多得多。而且微积分经过离散化也都化为代数问题。从实际计算来看,线性代数应该是大学中最有用的一门数学课。而不用计算机时,线性代数却是最没用的一门课。(4)软件包功不可没美国的NSF资助进行线
6、性代数软件包LINPACK(Linear Algebra Package)的开发,当时就包括了超定方程和复数矩阵求解。现在的MATLAB 等新型软件也以它为基础。而且Ax=bAx=b的求解直到今天还是考验最新计算机计算速度的测试标准(Benchmark)。线性代数课程,必须重视和利用近50年来的巨大成就,不能让大家回到几十年前去手工解题。充分利用”数学机械化“的成果 吴文俊院士提出:“我国在体力劳动的机械化革命中曾经掉队,以至造成现在的落后状态。在当前新的一场脑力劳动的机械化革命中,我们不能重蹈覆辙。”我们提出的“用计算机代替计算器”,“提高科学计算能力”就是为了在脑力劳动的机械化革命中不要落
7、伍。其范围主要是数值计算,少量的公式推导,都是比较成熟的。三、线性代数只有和科学三、线性代数只有和科学计算结合才能大有作为计算结合才能大有作为系统的框图如图1,列出方程组如下:13412114132243231xG xuxG xG uxG xxxuexu-1X=QX+PUX/U=(I-Q)P三种方法的比较我做的结果如下:代入法:写半页纸,用30分钟;矩阵+笔算:写两页半纸,用90分钟;矩阵+机算:写10条语句,用10分钟;离开了线性代数课堂,所有老师解题都不会再用这种矩阵消元的格式去算题的,说明这不是实用的方法,实用的是“矩阵模型+软件工具”的组合拳某三阶全极点格型滤波器的结构图这道题是让各位
8、知道工科可能遇到的代数方程组有多大?是什么样的?你们怎么帮助打数学基础例:计算下面滤波器的系统函数123134213324475228657268811961 12109111 10121210130124567891011121333-xu k xxxxk xxxqxxxk xxqxxk xxxqxxxk xxxxk xxxxxxxxxxxxxxxxCxxxC x 0,0,0,-1/3,0,0,0,0,0,0,0,0,0 1,0,0,0,0,0,0,0,0,0,0,0,0 0,1/3,0,1,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,q,0,0,0,0,0,0 0,1,0,
9、0,0,0,0,-1/2,0,0,0,0,0 0,0,0,0,1,0,0,0,0,0,0,0,0 0,0,0,0,0,1/2,0,1,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,q,0,0 0,0,0,0,0,1,0,0,0,0,0,-1/4,0 0,0,0,0,0,0,0,0,1,0,0,0,0 0,0,0,0,0,0,0,0,0,1/4,0,1,0 0,0,0,0,0,0,0,0,0,q,0,0,0 0,0,1,0,0,0,3/2,0,0,0,4/5,-1/5,0123456789101112131000000000000/xxxxxxxuxxxxxx X=QX+PUX U
10、=inv(I-Q)*P列出其13个方程,矩阵形式如下,其中q=z-1解这个题约用20条语句,主要是给P,Q赋值,然后运行上式,不到5秒钟,就得出结果为:文章321332123123()244942.930.8(13)()815132430.842.949242424135112483XzqqqWU zqqqzzzzzz/X=Q X+P UXU=in v(I-Q)*P 要考虑二十一世纪会需要什么样的工科教育;要考虑二十一世纪会需要什么样的工科教育;保持五十年代的模式不行,保持八十年代的模式也保持五十年代的模式不行,保持八十年代的模式也不行。不行。今后对一个问题求解可以全部让电子计算今后对一个问题
11、求解可以全部让电子计算机去干,不需要人去一点一点算。而直到今天,工机去干,不需要人去一点一点算。而直到今天,工科理科大学一二年级的数学课是构筑在人自己去算科理科大学一二年级的数学课是构筑在人自己去算这一要求上的。这一要求上的。所以理工科的数学课必须改革,数学课不是为所以理工科的数学课必须改革,数学课不是为了学生学会自己去求解,而是为了学生学会让电子了学生学会自己去求解,而是为了学生学会让电子计算机去求解,学会理解电子计算机给出的答案,计算机去求解,学会理解电子计算机给出的答案,知其所以然,这就是工科教学改革的部分内容。知其所以然,这就是工科教学改革的部分内容。”-钱学森线性代数课的两个方向 为
12、了进一步搞数学理论,可以向抽象方向引导;线性代数最原始的大纲基本上是为数学系搞近世代数作铺垫的。它强调了向量空间并向函数空间进行抽象引导。为了解决工程实际问题,就应当向矩阵应用方向发展。要使用计算机,要研究计算的速度和精度,要会处理高阶、超定、复数的方程组,会处理误差等。工科线性代数要采取后一方向。美国美国LACSGLACSG五条建议五条建议1990年的建议使线性代数转向工程方向年的建议使线性代数转向工程方向(1)线性代数课程要面向应用,满足非数学专业的需要;(2)本课程应该是面向矩阵的;(3)本课程应该根据学生的水平和需要来组织;(4)本课程应该利用最新的计算技术;(5)对于数学专业和要求特
13、高的学生,可以开设另外的课程来提高其抽象性。四、工科教师需要的工程数学四、工科教师需要的工程数学“数学要会算数学要会算”工科教师看工程数学的角度工科教师看工程数学的角度1.是否帮助相邻及后续课程解决了计算难题?2.是否帮助其他课程打好了计算基础?3.内容:有用的多讲讲透,没用的少讲不讲。4.以解决实际存在的问题为目的,以实带虚,需求牵引,问题驱动,而不是反之。5.教育的大众化,课程的瘦身,在低年级线性代数中要体现,要以本专业今后的应用为目标。876543复数矩阵复数矩阵复数矩阵阶次 适定方程 欠定方程 超定方程 -求解线性方程组-求向量相关性求特征值线性代数满足需求的状况再给一个向量空间概念的
14、例题 这个题目也是给大家看看工程中的向量空间题这个题目也是给大家看看工程中的向量空间题目是个什么样子,看看线性代数应该如何帮工目是个什么样子,看看线性代数应该如何帮工科的忙?讲好三维空间问题!科的忙?讲好三维空间问题!给出空间给出空间1010个点的三维坐标,问这些点是否近似个点的三维坐标,问这些点是否近似处在一个平面上?处在一个平面上?又是否近似位于同一圆周上?又是否近似位于同一圆周上?并求出各点与该平面和该圆周的误差。并求出各点与该平面和该圆周的误差。画出图形如下:10点是否共面并共圆周?图4 (a)10个测量点及其拟合平面;(b)坐标轴旋转后的平面和点二维、三维问题不简单 百分之九十九以上
15、的学生将是在二维、三维的几何空间中工作,把线性代数在这个范围内搞清楚是第一位的。对那百分之一更应该搞清楚。艺术和动漫充满着线性代数 动漫现已成为一个高速发展的新型绿色产业。“使用信息技术工具改造课程项目”中有6个子项就是这个领域的。动画对象的动作就是靠标定其上的若干特征点的离散轨迹,然后用插补方法构成连续动作。这个插补不是对一个点,而是对一个物体(看做平面是两维,看做立体是三维)上多个特征点,在平面或空间运动的描述,最简单的就是线性变换。根据起点和终点几个特征点的坐标,要找到其变换矩阵,这就是一个线性代数问题。不会超定,不懂得用齐次坐标系描述运动,不会把矩阵开N次方,也解决不了这个问题。哪怕是
16、两维平面。例例ea409r 动画中用的线性代数 五、五、“用用MATLABMATLAB和建模实践和建模实践改造线性代数课程改造线性代数课程”项目的目项目的目标标如何推广机算如何推广机算1.1.总目标就是推广线性代数与科学计算的结合总目标就是推广线性代数与科学计算的结合。所以要求。所以要求15201520个学校参加,我们希望两年个学校参加,我们希望两年内这些学校全校学生一律要学会机算,利于内这些学校全校学生一律要学会机算,利于后续课也用机算。后续课也用机算。2.2.搞师资培训,促进搞师资培训,促进11818018001181801800的的“链链式反应式反应”,“线性代数软件实践线性代数软件实践
17、”高级研修高级研修班就是为此而举办的。我们的教师在实践方班就是为此而举办的。我们的教师在实践方面也要比学生的知识水平高和多一个数量级面也要比学生的知识水平高和多一个数量级。教学生的几条目标具体化教学生的几条目标具体化所有概念都从几何图形引入,所有概念都从几何图形引入,达到抽象与形象的结合;达到抽象与形象的结合;一切烦琐计算都有简明程序,一切烦琐计算都有简明程序,推动笔算与机算的结合;推动笔算与机算的结合;大量实例诠释了课程的价值,大量实例诠释了课程的价值,实现理论与实践的结合。实现理论与实践的结合。这三条的实施都要以使用软件工具为前提关于抽象与形象的结合关于抽象与形象的结合 三元方程组解的几何
18、意义(适定、超定与欠定);三元方程组解的几何意义(适定、超定与欠定);两个向量的行列式是它们组成的平行四边形的面积;两个向量的行列式是它们组成的平行四边形的面积;三个向量的行列式是它们组成的平行六面体的体积;三个向量的行列式是它们组成的平行六面体的体积;二维、三维向量线性相关和线性无关的几何意义;二维、三维向量线性相关和线性无关的几何意义;平面(二维)线性变换的几何特征及其意义;平面(二维)线性变换的几何特征及其意义;二维特征值和特征向量的几何意义;二维特征值和特征向量的几何意义;三元齐次方程基础解系的几何特征;三元齐次方程基础解系的几何特征;二元超定方程最小二乘解的几何表述;二元超定方程最小
19、二乘解的几何表述;二次型化为标准型的不同方法的几何解释二次型化为标准型的不同方法的几何解释 关于笔算与机算的结合关于笔算与机算的结合 矩阵的赋值和其加、减、乘、除(求逆)命令;矩阵化为最简行阶梯型的计算命令;U0,ip=rref(A)多元线性方程组MATLAB求解的几种方法;x=inv(A)*b,U=rref(A)行列式的几种计算机求解方法;D=det(A),L,U=lu(A);D=prod(diag(L)n个m维向量组的相关性及其秩的计算方法和命令;r=rank(A),U=rref(A)求欠定线性方程组的基础解系及超定方程解的MATLAB命令;xb=null(A)矩阵的特征方程、特征根和特征
20、向量的计算命令;f=poly(A);P,D=eig(A)化二次型为标准型的MATLAB命令;yTDy=xTAx;其中y=P-1x,关于实现理论与实践的结合关于实现理论与实践的结合 多项式插值系数的计算 平板稳态温度的计算 交通流量的分析 成本核算问题 图及其矩阵表述 网络的矩阵分割和连接 弹性梁的柔度矩阵 用行列式计算面积关于实现理论与实践的结合关于实现理论与实践的结合(续续)化学方程的配平 减肥配方的实现 刚体平面运动的计算和绘图 混凝土配料中的应用 圆锥截面二次型方程插值问题 人口迁徙模型 物料混合问题(用到微分方程)关于与后续课应用的衔接关于与后续课应用的衔接 用线性代数解直流电路举例
21、用线性代数解交流电路举例 用线性代数解线性系统中常微分方程的举例 用线性代数解线性系统中信号流图的举例 用线性代数求数字信号处理中的系统函数举例 用线性代数解静力学问题的举例 用线性代数解运动学问题的举例 用线性代数解机械测量学问题的举例 用线性代数解文献管理问题的举例 用线性代数解经济管理问题的举例 对于参训老师的要求 起码要完全掌握上述的知识点,并且能灵活使用于你们自己的教课中。比如要形象化,学生只要能看图,你就得会画图。所以对MATLAB的绘图能力要掌握好。MATLAB在屏幕上作出的反映,比如说,“RCOND太小,结果可能不正确”你要能够从道理上解释清楚。因为来的老师程度不同,规定了低和
22、高两个要求。要确保低要求在这次研修班中实现,高要求对部分老师可能还要回去后继续努力。讲课按高要求,考试是按低要求为主,有一题偏高,通过容易满分难。开卷考,题已发给大家。教材及参考资料 1 陈怀琛,高淑萍、杨威,工程线性代数(MATLAB版),电子工业出版社,2019年7月 2 陈怀琛,龚杰民,线性代数实践及MATLAB入门,电子工业出版社,2019年10月第一版,2019年10月第二版。3 杨威、高淑萍,线性代数机算与应用指导,西安电子科技大学出版社,2009年4月,4 陈怀琛,MATLAB及其在理工课程中的应用指南,西安电子科技大学出版社,2019年8月,参考资料参考资料 5 Steven.
23、Leon,Eugene Herman,Richard,ATLAST Computer Exercises for Linear AlgebraM,2e,ISBN:0-13-101121-9,Faulkenberry,Prentice Hall,2019 6 David Calson et al,Resources for Teaching Linear AlgebraM,Published by Mathematical Association of America,2019 我们复印了其中几篇改革文章和例题,需要这两本书全文的,我们可以代为复印,钱得你们自己付,由复印社收钱开发票。本项目及研修班网站 网址:matlabedu 进入后的页面如下页。在首页的“项目动态栏”中有我们发布的文件,包括通知、讲稿、程序集等。可以阅读并下载。此处文本格式不限。在“教改论坛”子菜单bbs中,大家可以平等、公开地提出意见、问题并进行讨论。但此处只能用文本文件,不能放图形和表格等。要上交的习题等,请用电子邮件附件。获得各本书程序集的方法 1.我们给大家发的“MATLAB入门”光盘中有一部分 2.在陈怀琛的主页中下载。其中还有各本书的课件,部分题解等。研修班的网址