摘 要: 结合高等代数的课程特点与数学软件Matlab的功能特点,论述了在高等代数教学中用数学软件Matlab做实验的必要性。提出高等代数的数学实验内容应以代数思想为核心,用代数结构整体把握实验内容,突出矩阵代数、矩阵标准形的应用特征,此设计理念有利于学生理解和掌握高等代数的理论体系和思想方法,激发学习兴趣,提高学习效率。
关键词: 高等代数; 教学探讨; 实验内容; Matlab; 矩阵标准形
中图分类号:O151 文献标志码:A 文章编号:1006-8228(2013)12-67-03
Research on teaching higher algebra based on Matlab
Nong Liwei
(Department of Mathematics, Nanning Prefecture"s Educational College, Nanning, Guangxi 530001, China)
Abstract: Combined with characteristics of higher algebra and MATLAB function, the necessity of making experiment by MATLAB in teaching higher algebra is described. It is proposed that the mathematical experiment of higher algebra should take algebra thought as the core. Algebraic structure masters overall the experiment content. Matrix algebra and matrix canonical forms for the application should be highlighted. The design idea is good for the students to understand and master the theoretical systems and thinking modes of higher algebra, stimulating learning interest and improving learning efficiency.
Kew words: higher algebra; teaching studies; the experiment content; MATLAB; matrix canonical forms
0 引言
高等代数是大学数学专业的主要基础课程,作为其核心部分的线性代数,是理工科各专业的重要数学工具。学习高等代数的主要目的在于让学生掌握基本的和比较系统的代数知识和代数方法,培养和发展其抽象思维能力和逻辑推理能力,为他们进一步学习其他专业课程和深入理解中学数学教材,提高知识和能力打下基础。在实际教学中,很多学生认为该门课程抽象、枯燥、难以理解。随着计算机技术与数学软件的发展,在大学数学中运用计算机辅助教学已成必然,数学实验正是顺应了这一发展潮流。Matlab是一款功能强大的数学软件,其基本数据结构是矩阵,主要向用户提供一套非常完善的矩阵运算命令。随着数值运算的演变,它逐渐发展成为各种系统仿真、数字信号处理、科学可视化的通用标准语言[1]。Matlab可提供丰富的代数运算指令,几乎能完成矩阵代数的各种运算。比如求解线性方程组Ax=b,我们可以对线性方程组的增广矩阵用矩阵的初等行变换化为行最简阶梯形矩阵,从而判定方程是否有解,这只需一个简单的命令rref([A,b])就能解决;也可以直接用命令x=A\b求出方程组的最小二乘解。要求解齐次线性方程组Ax=0的基础解系,直接用命令x=null(A)即可获得,它本质上给出的是矩阵A的右零空间的标准正交基。要求出矩阵A的行列式和秩,用命令det(A)和rank(A)即可。由此可见,Matlab确实能为高等代数教学提供强有力的支撑。本文旨在探讨如何将数学软件Matlab与高等代数有机结合起来,借助Matlab强大的矩阵运算功能和绘图操作功能,将抽象概念及理论进行实验化、可视化、直观化,通过多角度的展示引导学生观察、分析、思考,以期增强学生学习的直观感和学习兴趣,提高学习效率。
1 数学实验融入高等代数教学的必要性
矩阵在高等代数课程中有着特殊的地位和作用。在高等代数里,通过分离系数,将线性方程组的研究转化为增广矩阵的研究;通过选定基,将向量之间的关系转化为向量坐标之间的关系;将抽象的线性变换的研究转化为矩阵的研究;将二次型的研究转化为对称矩阵的研究。高等代数课程中的几乎所有概念、结论和方法都直接或间接地与矩阵有联系。矩阵不仅有众多的数学运算,如加法、减法、乘法、乘方、求逆矩阵、求广义逆矩阵、转置、内积等,而且还有多种重要的标量函数,如行列式、迹、秩、特征值、范数、条件数等,矩阵运算和矩阵的标量函数分别构成高等代数内容的骨架和血肉。由此可见,掌握了矩阵理论就相当于掌握了高等代数课程的主要理论与方法。在高等代数教学中选用Matlab作为实验工具,正是基于Matlab有强大的矩阵运算功能的考虑,该功能与高等代数教学中要充分利用矩阵这个直观模具,突出矩阵理论与应用的理念高度吻合。借助Matlab数学软件,可以使学生从繁重的计算中解脱出来,从而有充足时间与精力深入学习相关理论知识;可以针对教材中具有较强内在规律和思维因素的内容,设计出一系列周密的循序渐进的阶梯形问题,从而让学生独立去探索解答;可以将课程的前后内容串联起来学习,使学生了解知识点之间的相互关系,对所有知识点有一个系统和全面的认识。因此,在高等代数教学中使用Matlab开展数学实验是很有必要的。
2 高等代数实验课内容的设计
高等代数的主要内容有:一元多项式理论,行列式,线性方程组,矩阵理论,线性空间,线性变换,欧氏空间,二次型,群、环、域等。在高等代数里,这些内容不是简单地叠加在一起,而是建立在公理化思想基础上并有着严密逻辑联系的数学知识结构体系。所谓公理化方法,就是在一个数学理论系统中,尽可能少地选取原始概念和不加证明的一组公理,以此为出发点,利用纯逻辑推理的法则,把该系统建立成一个演绎系统的方法。比如高等代数中线性空间的概念是用公理化方法给出的,多项式、矩阵、线性变换等都是在相应的线性空间中展开讨论的。在一个统一的框架之下,讨论它们的运算、基、坐标、维数、同构等内容。公理化的思想方法具有分析和总结数学知识的作用,把零散的数学知识用逻辑的链串联起来,使之形成完整的有机整体。然而,公理化方法无法展现有关理论、知识产生的背景和应用,容易使学生把所学知识看成一堆现成公式和定理的堆砌,这对高等代数的学习是极为不利的。解决此问题的教学策略主要有:用代数思想和代数结构把握高等代数的知识体系,突出矩阵代数、矩阵标准形的应用;把知识发生发展的脉络完整地呈现出来,使学生理解概念是如何形成的,结论是怎样探索和猜测到的,证明的思路是怎样产生的,最后问题是怎样解决的;让学生从繁重的手工运算与数学推导中解脱出来,将学习重点放在对基本概念的理解、原理和方法的分析和运用上。下面给出几个典型的应用实例,借以说明应用Matlab软件来实现上述教学策略的思路和方法。
2.1 用代数思想、代数结构整体把握高等代数的知识体系
代数学是最古老的数学分支之一,它研究的是抽象实体(如复数、矩阵、集合、向量、群、环或域)以符号形式进行运算,通常类似于算术运算之后的性质和关系。现代代数学的研究目标是弄明白代数学的逻辑结构。数学的基本结构含基本概念、基本原理及其间的关系,学习结构就是学习事物的关联。高等代数研究的对象是带有运算的一些集合。集合的运算分为两类:一类是某个具体集合内部元素之间的运算,例如所有n阶正定矩阵集合中元素的加法、减法、乘法、乘方、开方等运算;另一类是集合与集合之间的运算,有并运算、交运算、补运算、差运算与笛卡儿乘积运算。对于数学运算,首要考虑的是运算的封闭性。“封闭”是指:若把集合中的元素通过运算结合在一起,所得的结果仍是这个集合中的元素。然后考虑运算后元素的性质是否有变化。在高等代数教学中,往往缺少用实验验证数学结论、公式等环节,而是采用形式化的符号演算得出相关结论,也许是由于验证需要大量计算工作的缘故。但是形式化的符号演算抽象程度高,没有现实背景作为思维的强有力依托,导致学生学了公式不知道怎么用,也不知道有什么用。现在有了数学软件Matlab,我们可以利用它强大的运算功能来帮助我们完成有关计算验证的实验。鉴于高等代数课程的理论体系和思想方法是代数结构理论的建立和整体处理思想及模式化思想的应用等特点[2],笔者提出用代数思想和代数结构来把握高等代数实验内容的想法。这一想法实施起来就是:首先考虑所给集合是否构成子空间,如果是子空间,考虑它的基、维数及正交补空间如何求解;然后考虑各种运算的封闭性,是否能做特殊的运算,是否能做各种分解等等。比如考虑两个对称矩阵的和、差、积是否还是对称矩阵,两个正定矩阵的和、差、积是否还是正定矩阵;如果它们可逆,逆矩阵是否还在所讨论的矩阵类中;正定矩阵能否做开方运算;是否满足矩阵分解的有关条件等等。接下来再讨论运算后矩阵的标量函数有何变化,能否用等式或不等式表示相关结果等等。具体来说,对矩阵标量函数可以按下面表1开展相关的实验。
在高等代数实验中按表1进行实验,可以帮助学生理解和掌握高等代数的理论体系,思想方法,对矩阵知识有一个系统和全面的认识。
2.2 以矩阵标准型为直观模型,借助Matlab进行数值计算或可视化演示,将抽象理论直观化、形象化
矩阵标准型是指矩阵经过线性变换后化成的最简单矩阵,在高等代数中,有矩阵等价标准型、矩阵相似标准型、矩阵合同标准型,它们分别是对矩阵实施初等变换、相似变换、合同变换后化出的最简单矩阵。矩阵标准型在高等代数中被广泛应用,它能够使人们从直观的角度去理解抽象的概念、定理、性质等等,增强对知识的记忆和理解,从而取得比较好的学习效果。
实例1 矩阵等价标准型的应用—矩阵的行空间与列空间可以建立一一对应关系
命题:设T是从线性空间cn到线性空间cm的一个线性映射,那么T是T的零空间的正交补到T的象空间的一一映射。
显然,这个命题是抽象的,证明这个命题的直观模形到底出自哪里呢,也许我们可以从矩阵等价标准型中找到答案。众所周知,从cn到cm的一个线性映射可以用一个m行n列的矩阵A来表示,则T的零空间的正交补就是矩阵A的行向量生成的子空间,T的象空间就是矩阵A的列向量生成的子空间。将矩阵A用初等变换化为标准型,进而将A分解为列满秩的矩阵B与行满秩的矩阵C的乘积,即A=BC,则A的行空间与C的行空间等价,A的列空间与B的列空间等价,而且矩阵C行向量组与矩阵B的列向量组都线性无关,从而我们可以建立矩阵C的行向量组到矩阵B的列向量组之间的一一对应关系。由此可见,矩阵A的行空间与列空间可以建立一一对应关系。
实例2 矩阵相似标准型的应用—求解n阶矩阵A的最小多项式
英国数学家凯莱最著名的研究成果是关于一个方阵与其相应特征多项式的关系方面的,凯莱证明了如果在特征多项式中用矩阵代替变量,然后进行指定的运算,那么结果总是零矩阵,换句话说,每个矩阵都满足使它的特征多项式等于0的方程。矩阵A的特征多项式就是矩阵A的一个零化多项式。矩阵A的零化多项式并不惟一,比如,假定多项式f(x)是矩阵A的零化多项式,那么多项式f(x)h(x)也是它的零化多项式,在矩阵A众多的零化多项式中,次数最小的多项式就称为矩阵A的最小多项式。矩阵A的最小多项式在数值计算中有重要应用,基于变分原理的求解线性方程组的迭代算法都与这个多项式有关,比如共轭梯度算法、极小残量算法的迭代次数恰好等于线性方程组系数矩阵最小多项式的次数。求解n阶矩阵A的最小多项式有多种方法,最著名的有弗罗本尼乌斯定理:矩阵A的最小多项式就是A的最后一个不变因子。下面给出最小多项式的求解思路,这个思路是来自矩阵相似标准型的。最小多项式是相似变换的不变量,矩阵A用相似变换化出的最简单矩阵应是对角形矩阵,但不是所有的方阵都与对角形矩阵相似,而每个方阵却与它的若当标准型矩阵相似。因此,只需验证对角形矩阵和若当块矩阵的最小多项式即可。容易验证,如下两个矩阵B与C的最小多项式分别是(x-2)(x-4)和(x-5)3,如果矩阵A与如下矩阵D相似,那么A的最小多项式为(x-2)(x-4)(x-5)3。
实例3 矩阵合同标准型的应用—二次曲线(或曲面)方程的化简
二次曲线(或曲面)方程的化简就是要选取一个适当的坐标系,也就是要确定一个坐标变换,使得曲线(或曲面)在新坐标系下的方程最为简单。从代数学的观点看,二次曲线(或曲面)方程的化简就是用正交变换将一个一般的二次型(含有乘积项)化为标准形(只含平方项),从而将一有心二次曲线(或曲面)方程化为标准方程。在解决这个问题的过程中,一个基本而关键的问题是如何确定二次型的主轴问题。根据解析几何,任意一条直线与椭圆有两个相交点的直线,直线与椭圆的两个交点所确定的线段,称为椭圆的弦;把通过对称中心的弦称为直径。于是,牛顿关于直径的理论断言:任意一族平行弦的中点,必在一条直线上,事实上,这条直线还是椭圆的一条直径,称为这族平行弦的共轭直径。可以证明,这些平行弦的方向与其共轭直径的方向为A-正交的(这里的A,就是出现在二次曲线方程中的实对称矩阵),亦即,若平行弦的方向是v且所确定直径的方向是w,则
用Matlab化简二次曲线方程x2-4xy+y2+3=0并将结果用图形显示出来。结果如图1、图2所示。
可以看出实例3是简单的,却给我们提供了最丰富的反思空间。
⑴ 关于线性变换的两种解释
二次曲线方程用正交变换X=QY(其中X、Y是列向量,Q是正交矩阵)化为标准方程,正交矩阵Q的列向量是主轴方向,这意味着曲线不动,坐标系变动,曲线在新坐标系下是标准方程,如图1所示。另一方面,一个方阵代表一个映射,它把空间的点从这头变到那头,像例3一样,线性变换QY=X,把图2中的点映射为图1中的点,把图2中的曲线映射为图1中的曲线,这意味着坐标系不动,曲线变动。
⑵ 矩阵特征向量的几何直观
高等代数中关于特征向量的定义是指满足方程Av=λv的非零向量v,要不是有前面理论的推导,根本看不到实对称矩阵的特征向量就是主轴方向的踪迹。在数学分析教材中见过用条件极值导出二次型矩阵特征值的例子,为主轴问题的研究提供了一些几何背景,比较起来,前面给出的主轴理论不失为最简单和最直观的。
⑶ 参数λ属性的改变
线性空间定义中的数乘运算是将一个数λ乘一个向量,这个数λ只有数的属性而没有量的属性。在解析几何中,参数λ常常表示为两个有向线段MN与CD的比,即MN=λCD,此时的λ也只有数的属性。要使λ既有数的属性又有量的属性,要求有向线段CD是单位向量即可,此时λ的绝对值恰好等于有向线段MN的长度。用参数λ表示有向线段的长度正是解析几何解题技巧中常用的手法之一,如本例中的结论
3 结束语
目前,高等院校基于专业特色和课程特点的数学实验尚处在研究、探索阶段,已经开设的实验课内容也还停留在简单的数学模型分析和数值计算上,如何将数学软件Matlab与高等代数的教学内容有机结合起来,实现高等代数教学效率的最大化,是我们要研究的。笔者提出应以代数思想为核心,用代数结构整体把握实验内容,突出矩阵代数、矩阵标准形的应用为主要特征的高等代数数学实验内容设计理念,目的是让学生更容易理解和掌握高等代数课程独特的理论体系和思想方法,了解高等代数各知识点之间的相互关系,对高等代数知识有一个系统和全面的认识,希望这些理念能够为高等代数的教学改革提供参考。
参考文献:
[1] 苏金明,阮沈勇编著.MATLAB实用教程(第二版)[M].电子工业出版
社,2008.
[2] 宋杰.《高等代数》课程中的若干数学思想方法[J].韶关学院学报,
2009.30(3).
[3] 王松桂.矩阵不等式(第二版)[M].科学出版社,2006.
[4] 北京大学数学系.高等代数(第二版)[M].高等教育出版社,1988.
[5] 李尚志.数学实验—借助计算机学习和探索数学[J].中国大学教学,
2003.5.
[6] 孙延洲.试论数学实验的教学价值[J].教育研究与实验,2010.6.
相关热词搜索: 代数 实验教学 探讨 课程 matlab