何章鸣 马正芳
摘要:在高斯消元法教学中有一个怪现象:很多学员“讲解快懂,做题快懵”。作者查阅国内外经典教材中高斯消元法讲义后,发现导致上述现象的关键原因是:传统解法“消元一回代一写解”的步骤指代不清。在信息时代背景下,文章提出了“提取一变换一还原一移项一补齐”五步变换法,该方法更具体、更规范。结合数学软件MATLAB将该方法付诸教学实践,结果表明新方法过程具体、操作性强,可有效提高学员的学习效率。
关键词:课程设置;教学创新;线性代数;高斯消元法;数学软件
中图分类号:G642.3 文献标识码:A 收稿日期:2019-06-04 文章编号:1674-120X(2019) 29-0104-02
一、引言
线性代数以向量、线性空间、线性变换和线性方程组等为对象,研究秩的等价不变性、特征值的相似不变性和惯性数的合同不变性,被广泛地应用于自然科学和社会科学中。在线性代数教材[1][2]的内容组织架构中,线性方程组是各章节的枢纽工具。因而,线性代数关注点可归结为两个方面:第一,回答线性方程解的唯一性、存在性和结构性问题;第二,相似性和二次型可以看成方程组的应用。高斯消元法(Gaussian Elimination)印证了线性方程组和线性代数的实用性。[3]查阅国外经典教材[4]和国内教材可发现高斯消元法解线性方程组的主要工作是对增广矩阵(Augmented Matrix)进行初等行变换,常把高斯消元法分解为三个步骤:步骤一,消元(Variable Elimination):把增广矩阵化为行阶梯形,如果最后一个阶梯的非零元素出现在最后,则方程组无解,否则方程有解;步骤二,回代(BackSubstitution):在有解的情况下把行阶梯形化为最简行阶梯形;步骤三,写解(Write Solution):把最简行阶梯形还原为同解方程组,求出所有解。
上面的解题步骤存在三个问题:问题一:步骤一忽略了消元前的增广矩阵的提取过程,容易导致学员解题开端困难;问题二:步骤一和步骤二界线模糊,未考虑到常用数学软件MATLAB并没有行阶梯形对应的命令。因为行阶梯形 “不唯一”,容易导致学员解题不规范、易出错;问题三:步骤三中“求出所有解”指代不清,隐藏大量细节步骤,容易导致学员解题丢三落四、得分率低。下面将进一步分析传统高斯消元法的问题,最后给出对应的解决方案。
二、問题分析与解决方案
(一)问题分析
问题一:传统方法忽略了增广矩阵提取过程。例如,如图1所示,二维平面上的一条直线的方程为。1。该方程非常简单,而它的增广矩阵并不是显而易见的。教学实践中发现,大量学员提取出错误的增广矩阵,例如提取的增广矩阵为[A,b]=[1,1]。经分析,原因可归纳为两个方面:第一,自以为直线方程x=1是一维空间,其实该直线不经过零点,并不能构成线性空间,其实,该直线只是二维平面{[x,y]|x, y是实数}的一个子集,可表示为{[1,y]|y是实数};第二,方程x=1省略了0和1,实际上这是不规范的写作习惯,容易导致提取出错误的增广矩阵。实际上,x=1的完整式为1*x+0*y=1。对应的,增广矩阵为[A,b]=[1,0, 1]。
问题二:传统高斯消元法中,变换过程被分解为“消元”和“回代”两部分。但是由于行阶梯形不唯一,导致“消元”过程指代不清,不同学员获得的行阶梯形就不同,因而很难跟踪和判断答案是否正确。把“消元”和“回代”合二为一是必要的,即用“变换”直接获得最简行阶梯形,原因有两个:第一,最简行阶梯形是唯一的,学员能够清晰地跟踪和判断答案是否正确,“一杆到底”更符合多数人的解题心理。行阶梯形只是一个中间过程,不需要跟踪其正确性。正因如此MATLAB和MATHMATICA没有求解阶梯形的命令。第二,合二为一后,规则简单,容易上手,更符合信息时代背景。实际上MATLAB存在最简行阶梯形的命令,即RREF,为Reduce Row Echelon Form的缩写。传统的“消元”和“回代”的划分方法符合计算机资源匮乏的手算时代。尽管行阶梯形不唯一,但是若能提前判断方程没有解,则没有必要将增广矩阵化简为最简行阶梯形,这样就可以节约少量计算机资源。在信息时代背景下,教学计算机的计算性能冗余,笔者认为“规则简单,机器判别”比“节约少量日算资源”更加可取。
问题三:传统方法的“写解”非常笼统,过程任务指代不清,学员无法理解其中的内涵,在解题时不知如何下手。实际上,“写解”需要规范地分解为三个步骤:第一,把最简行阶梯形还原为线性方程组,“还原”是“提取”的逆过程,提取和还原构成了线性方程组求解的一个闭环;第二,移项:非阶梯元所对应的变量就是自由变量,将自由变量移到方程组的右边,即用自由变量表示非自由变量;第三,补齐:把自由变量代表的恒等式补齐。“补齐”是“省略”的逆过程,此时非齐次方程组的特解和导出组的基础解系已经出现。
(二)解决方案
基于上述分析,提出过程规范的、操作性更强的、更适合教员教学和学员解题的线性方程组解法,所示,该方法包含“提取一变换一还原一移项一补齐”五个步骤,因此又称该方法为“五步变换法”。
图2刻画了传统高斯消元法与五步变换法的对应关系,区别有三个方面:第一,增加了“提取”过程。第二,将“消元”和“回代”合并为“变换”。第三,将“写解”划分为 “还原”“移项”“补齐”。
接下来,用“五步变换法”求解二维平面上的直线方程x=1。步骤一,提取:从x=1提取出增广矩阵,得[A,b]=[1,0,1];步骤二,变换:将增广矩阵变换为最简行阶梯形,[A,b]=[1, 0, 1]本身是最简行阶梯形”y自由变量,x为非自由变量,rank[A,b]=rankA=1,故方程有解;步骤三,还原:将最简行阶梯形还原为阶梯方程组,得1*x+0*y=1;步骤四,移项:将自由变量移到方程右边,得1*x=1+0*y;步骤五,补齐:将自由变量恒等式补齐,得到线性方程组的规范答案1*x=1+0*y, y=0+1*y,即[x,y]=[1,0]+y[0,1]。