王芝兰,戴忠智
中国矿业大学(北京)理学院,北京100083
线性代数是重要的基础课程,在理工类学科中有重要应用,从二维码到网页排序,从计算机图形学到机器学习,都会用到线性代数的知识。线性代数的学习起点不高,具有初中数学知识就可以学习,但同时线性代数的学习难度比较大,学生往往难以理解其中的代数学概念。本文将结合笔者在教学与学习中的实例,对怎样应对线性代数学习中出现的难点,提出一些见解。
线性代数概念很多,行列式、矩阵、方程组、向量空间等等概念中又穿插着各种各样的性质与定理,学生往往“只见树木不见树林“,不能把握其中的联系。我们要弄清楚知识点之间的联系,特别是抓住重点知识的作用。
线性代数中的很多概念都是围绕线性方程组展开的。我们可以通过线性方程组的系数与未知数来引入矩阵与向量,从求解方程与未知数一样多的线性方程组看到行列式,而线性方程组的解空间也是向量空间的重要例子。也就是说,这些重要概念都可以从线性方程组中发现。另一方面,我们也可以利用线性方程组的理论来理解这些概念。比如,在理解矩阵乘法时,就是把以第一个矩阵为系数的方程,代入以第二个矩阵为系数的方程,得到的新的线性方程组的系数矩阵,就是原来两个矩阵的乘积。再比如,在判断向量组是否线性相关时,我们考查的是以向量组矩阵为系数的齐次线性方程是否有非零解。于是我们发现,抓住线性方程组,我们就可以收获更多的概念与性质。
线性代数的另外一个重要知识点是矩阵的运算与变换。矩阵的运算包括矩阵的转置、求和、数乘、乘法、求逆及求行列式,矩阵的变换指矩阵的初等行列变换。这些是解决线性代数题目的基本工具,需要通过练习熟练掌握。
如果能够掌握矩阵的运算与变换,同时抓住线性方程组与其相关知识,那么线性代数的题目就可以掌握大半了。除此之外,只剩下矩阵的特征值与特征向量、二次型等内容。
线性代数中,定义和定理中出现的矩阵的阶数、向量的维数等等经常是任意的,学生面对这种抽象的一般情况,往往束手无策。我们可以利用特殊的例子,从直观上把握定义与定理的本质。
例如,当我们学习如何解线性方程组时,如果直接学习任意阶矩阵的高斯消元法是很困难的。我们可以从我国古代的著名问题鸡兔同笼出发:“今有雉(鸡)兔同笼,上有三十五头,下有九十四足。问雉兔各几何。”我们可以用下面这种有趣的解法:先号令所有动物抬起一条腿,这样剩下五十九条腿;再号令所有动物再抬一条腿,这样鸡没有腿了坐在了地上,只剩兔子两条腿着地,剩下二十四条腿,于是有十二只兔子,二十三只鸡。我们比较这一过程与高斯消元法可以看到,让动物抬腿的过程,正是消元的过程。这样,我们就对如何解线性方程组有了直观的认识。
再比如,学习行列式按行展开的计算时,书上给出的证明往往是对一般的n 阶行列式,学生比较难于理解。而我们可以只考虑3 阶行列式的证明,此时的证明非常简明清爽,学生很容易就可以接受。一般的n 阶情况与3 阶情况的证明思想完全相同,掌握了3 阶情况的证明,再看n 阶情况,就能看清证明本质了。
线性代数与解析几何是密切相关的。对于很多抽象的概念,如果直接从代数学的角度看,可能会比较复杂,可以利用图形作为辅助,建立几何背景,帮助我们理解和思考原来的代数学问题。
比如,在学习行列式时,我们可以从行列式是原矩阵列向量生成的平行六面体的有向体积来理解,这样,原本的代数表达式就有了优美的几何意义。再比如,向量组的线性无关是比较抽象的概念,我们从几何的角度去看,对于两个向量来说,它们线性无关,就是不可能落在同一条直线上;三个向量线性无关,就是它们不可能落在同一个平面内。进一步地,n 个向量线性无关,就是它们不可能落在同一个n-1 维空间中。这样,原本抽象的概念,就有了直观的几何解释。
数学家陈省身先生曾指出:“了解历史的变化,是了解这门科学的一个步骤。”在线性代数中,学生常常不知道为什么要引进某个概念,于是也很难接受和理解这个概念。我们应该关注这些内容的由来与发展,了解知识的来龙去脉,理解问题的动机。
例如,矩阵的秩是线性代数中的重要概念,也是让很多学生疑惑它是从何而来的概念。很多线性代数的教科书会先讲矩阵的秩,再讲线性方程组的解法。而在历史发展中,人们是先找到了线性方程组的解法,然后在研究齐次线性方程组解的性质时,通过解的结构,才考虑了矩阵的秩这一概念。因此,我们在学习这部分内容时,可以先学习线性方程组的解法,再学习矩阵的秩,再按书本的顺序,从矩阵的秩来重新描述线性方程组的解的性质。这样,为什么要引进矩阵的秩,矩阵的秩又有什么作用,就比较清晰了。
线性代数的知识都比较抽象,学生可能不知道学习线性代数有什么用,于是逐渐丧失了学习的兴趣。如果能够了解线性代数在前沿领域的应用,知道线性代数在后续学习与工作中的重要意义,就会有更大的热情来学习。
例如,线性代数在机器学习中有非常重要的作用。人工智能、机器学习和神经网络是目前国内外研究的热点。其中的神经网络,就是一层层神经元,而从一层神经元变到另一层神经元,就是先通过一个线性变换,再做其他变换。为了达到人工智能的效果,就是要调整线性变换中的系数。而机器学习,就是通过训练得到这些系数的过程。
总结:在线性代数的学习中,我们应该把握知识脉络,抓住重点知识,通过实例,结合几何意义,理解其中的抽象概念,同时要去了解线性代数发展的历史,也了解它在前沿领域中的应用,看清来龙去脉,激发学习兴趣,最终学好线性代数这门课,给未来的发展打下基础。