快好知 kuaihz

线性代数(1)_这样开始讲“行列式”

这学期在网上讲线性代数,对一些在教室黑板上很容易说清楚的问题,都得搬到计算机上进行,关键是看不见学生的反映,有人说出些小作业随时让学生做,可是,数学课不同于其它课,信息量知识量大做题耗时不必说,很多抽象思维的东西是需要现场交流的,虽然也是直播,有的只可”意会”的内容很不好远程”言传身教”。

这样,师生都守着电脑上课,也是可利用的,正好这届学生已学过C语言课,所以上线性代数,我也试着引入用C语言计算一些问题。同时用自然语言、数学语言、计算机语言,从不同的角度描述和理解同一数学问题也许更好。教材上来就讲行列式,并且用什么“对换”“逆序”来讲,想想学生看着PDF电子文件也够头痛的。

线性代数,对学了C语言的同学该这样开始学:递归方法计算行列式

我先简单引入向量,就是一列有序的数,这是学生熟悉且好掌握的,简单介绍矩阵,让学生和C语言二维数组联系起来,再正式开讲方阵的行列式。引入矩阵的余子阵概念,即方阵A中划去某元素所在行及所在列的元素后剩余元素所组成的n-1阶方阵,记为Aij,就可自然引出用如下递归定义计算行列式det(A)或|A|。

如果A是1阶方阵, A只有一个元素,det(A)为A的值,即det(A)=A。否则n>1时,行列式值为:

根据这个定义,先讲一些示例,按着以上算法,再介绍C程序。虽然有的同学C语言学的不怎么好,但大概思路还是可接受的。

主程序调用: det(A,N)

我写的det函数为:

(倒数第四行delete [] A1k;,还是学生告我他的编译器对“delete A1k”有警告而改正的。)

 

  这个定义,开始可能难点,但再熟悉一下二阶行列式的计算,就可很自然地理解行列式的性质,如对换、数乘、倍加变换对行列式值的影响。也很容易理解行列式的按行、列展开。

 

有了以上行列式计算的程序,也容易理解克拉默法则解线性方程组、求伴随矩阵等程序。

教材上也没涉及行列式的几何意义,只是一味的算算算,行列式其实是代表向量组所组成的平行四边形有向面积(三维是体积),画了如下图简单介绍,了解几何意义也对以后学习矩阵或向量组的秩时为什么用到行列式,有个直观的映像。对线性变换导致的空间变换也好理解,对|AB|=|A||B|=|B||A|=|BA|等性质看起来也很直观了。

通过举例分析一些复杂的行列式计算,学生基本能掌握行列式这一章。

 

另外,递归程序计算行列式时,随着n的增大,计算量是很大的,如以下四阶矩阵

算4阶矩阵行列式共调用det(A)的次数为 1+4+4*3+4*3*2=41次。

对于5阶,是1, 5, 5*4, 5*4*3, 5*4*3*2 =206次,  对于6阶1237次,7阶8860,8阶69281次。

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:线性代数这样开始讲“行列式”  行列式  行列式词条  线性代数  线性代数词条  这样  这样词条  开始  开始词条  
观点

 告自己:贵在多读!难得糊涂!

老文作为研究生导师,难免时常被要求解惑如何读文献。个人体会是:读文献如治慢性病,你不能指望吃一两天药或打一两天针就能治好病,你得耐着性子一个一个疗程的服药,几个...(展开)