姚 艷
(黑河學(xué)院 數(shù)學(xué)與應(yīng)用數(shù)學(xué)系,黑龍江 黑河 164300)
《高等代數(shù)》是數(shù)學(xué)學(xué)科的一門傳統(tǒng)課程。在當(dāng)今世界的數(shù)學(xué)內(nèi)部學(xué)科趨于統(tǒng)一性和數(shù)學(xué)在其他學(xué)科的廣泛應(yīng)用性的今天,《高等代數(shù)》以其追求內(nèi)容結(jié)構(gòu)的清晰刻畫(huà)和作為數(shù)學(xué)應(yīng)用的基礎(chǔ),是大學(xué)數(shù)學(xué)專業(yè)的主干基礎(chǔ)課程。它是數(shù)學(xué)在其他學(xué)科應(yīng)用的必需基礎(chǔ)課程,又是數(shù)學(xué)修養(yǎng)的核心課程。隨著現(xiàn)代計(jì)算機(jī)科學(xué)的逐步普及,人們對(duì)計(jì)算機(jī)的依賴程度越來(lái)越高。近年來(lái)發(fā)展起來(lái)的MATLAB軟件包,它在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計(jì)算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法等。使抽象的代數(shù)問(wèn)題在某種意義上變成看得見(jiàn)的富于直觀現(xiàn)象,更加啟迪人們?nèi)绾巍坝脭?shù)學(xué)”[1]。
首先,在《高等代數(shù)》課程中開(kāi)設(shè)實(shí)驗(yàn)課,可以培養(yǎng)學(xué)生參與科學(xué)研究的良好作風(fēng)。實(shí)驗(yàn)課上,學(xué)生在教師的指導(dǎo)下,通過(guò)操作計(jì)算機(jī),驗(yàn)證、演示高等代數(shù)的基本概念和基本理論,從而獲取新知識(shí),不同于傳統(tǒng)的數(shù)學(xué)學(xué)習(xí)方式,它強(qiáng)調(diào)以學(xué)生動(dòng)手為主的數(shù)學(xué)學(xué)習(xí)方式。在實(shí)驗(yàn)中,由于計(jì)算機(jī)的引入和MATLAB軟件包的應(yīng)用,為數(shù)學(xué)的思想與方法注入了更多、更廣泛的內(nèi)容,使學(xué)生擺脫了繁重的乏味的數(shù)學(xué)演算和數(shù)值計(jì)算,促進(jìn)了數(shù)學(xué)同其他學(xué)科之間的結(jié)合,從而使學(xué)生有時(shí)間去做更多的創(chuàng)造性工作。其次,利用計(jì)算機(jī)的快速計(jì)算功能,可以使學(xué)生在實(shí)驗(yàn)課上探索一些比較復(fù)雜的問(wèn)題,加深對(duì)高等代數(shù)基本概念的理解,增強(qiáng)學(xué)生學(xué)習(xí)高等代數(shù)的興趣和信心。例如,在求行列式值時(shí),因?yàn)殡A數(shù)比較高,計(jì)算量很大,教師講得比較累,學(xué)生聽(tīng)著也沒(méi)興趣。但使用計(jì)算機(jī)后,可以把這類問(wèn)題讓學(xué)生自己做,結(jié)果就會(huì)很容易得出。到了期末,每個(gè)學(xué)生都有不同程度的提高,不僅學(xué)習(xí)了高等代數(shù)的知識(shí),而且也加強(qiáng)了計(jì)算機(jī)的應(yīng)用能力。
實(shí)驗(yàn)的目的是提高學(xué)生學(xué)習(xí)高等代數(shù)的積極性,提高學(xué)生對(duì)高等代數(shù)的應(yīng)用意識(shí)并培養(yǎng)學(xué)生用所學(xué)的數(shù)學(xué)知識(shí)和計(jì)算機(jī)技術(shù)去認(rèn)識(shí)問(wèn)題和解決實(shí)際問(wèn)題的能力。這就要求實(shí)驗(yàn)的建立應(yīng)該是提法簡(jiǎn)單,立意新穎,既要區(qū)別于高等代數(shù)習(xí)題,又要區(qū)別于計(jì)算機(jī)語(yǔ)言的練習(xí),要有利于“驗(yàn)證”和“探索”。所謂驗(yàn)證,是通過(guò)計(jì)算機(jī)驗(yàn)證已有的定理或已學(xué)過(guò)的數(shù)學(xué)知識(shí),探索是指利用計(jì)算機(jī)完成人工所不可能完成的巨大計(jì)算量的同時(shí),發(fā)現(xiàn)以往單純靠邏輯推理難以發(fā)現(xiàn)的現(xiàn)象。下面舉兩個(gè)具體實(shí)例。
實(shí)驗(yàn)一:求行列式的值
(1)實(shí)驗(yàn)?zāi)康模毫私釳ATLAB中矩陣的表示和MATLAB中行列式的概念及基本性質(zhì),學(xué)習(xí)、掌握MATLAB軟件有關(guān)的命令。
(2)原理與方法:在MATLAB中借助函數(shù)det可以求出行列式的值,其格式為det(D),其中D為n階行列式。
(3)實(shí)驗(yàn)內(nèi)容:
例1,計(jì)算行列式
相應(yīng)的matlab代碼及運(yùn)算結(jié)果如下:
>> clear
>> syms a b c d %定義符號(hào)變量
>> A=[a,b,c,d;a a+b a+b+c a+b+c+d;a 2*a+b 3*a+2*b+c 4*a+3*b+2*c+d;a 3*a+b 6*a+3*b+c 10*a+6*b+3*c+d] %輸出符號(hào)矩陣
A=
[a, b, c, d]
[a,a+b,a+b+c,a+b+c+d]
[a,2*a+b,3*a+2*b+c,4*a+3*b+2*c+d]
[a,3*a+b,6*a+3*b+c,10*a+6*b+3*c+d]
>>D= det(A) %計(jì)算A的行列式
D=
a^4
實(shí)驗(yàn)二:線性方程組的求解
(1)實(shí)驗(yàn)?zāi)康模毫私饩€性方程組的基本概念,掌握線性方程組求解的方法,會(huì)用MATLAB軟件相關(guān)的命令求線性方程組的解。
(2)原理與方法:求線性方程組所用的MATLAB命令,計(jì)算方陣A的行列式det(A),增廣矩陣:[A,b],b是向量,適用于任意階的矩陣,矩陣的秩:rank(A),非齊次線性方程組的特解:x0=A或pinv(A)*b
齊次線性方程組的基礎(chǔ)解系:null(A),化矩陣為行階梯形:rref(A)[2]
(3)實(shí)驗(yàn)內(nèi)容
(1)有唯一解,(2)無(wú)解,(3)有無(wú)窮多解?
相應(yīng)的MATLAB代碼及運(yùn)算結(jié)果如下:
>> clear
>> syms y;
>> A=[y 1 1;1 y 1;1 1 y] %定義符號(hào)矩陣
A =
[y, 1, 1]
[1, y, 1]
[1, 1, y]
>> b=[1;y;y^2]
b =
[1]
[y]
[y^2]
>> det(A)
ans =
y^3-3*y+2
>> solve(det(A)) %解出行列式值為零時(shí)y的取值
ans =
[-2]
[1]
[1]
>>%下面求y取不同值時(shí),方程組解的情況:
>>%(1)當(dāng)y不等于-2且y不等于1時(shí),方程組有唯一解,求解為:
>> x=A %左除法
x =
[-(y+1)/(y+2)]
[1/(y+2)]
[(1+y^2+2*y)/(y+2)]
>>%(2)當(dāng)y=-2時(shí):
>> syms y;
>> y=-2;
>> A=[y 1 1;1 y 1;1 1 y]
A =
-2 1 1
1 -2 1
1 1 -2
>> b=[1;y;y^2]
b =
1
-2
4
>> rank(A)
ans =
2
>> rank([A,b])
ans =
3
>> %系數(shù)矩陣的秩小于增廣矩陣的秩,故方程組無(wú)解。
>> %當(dāng)y=1時(shí):
>> y=1;
>> A=[y 1 1;1 y 1;1 1 y]
A =
1 1 1
1 1 1
1 1 1
>> b=[1;y;y^2]
b =
1
1
1
>> rank(A)
ans =
1
>> rank([A,b])
ans =
1
>> %系數(shù)矩陣的秩等于增廣矩陣的秩,故方程組有無(wú)窮多解。
>> rref([A,b]) %化行最簡(jiǎn)形。
ans =
1 1 1 1
0 0 0 0
0 0 0 0
>> %取x2,x3作自由變量,則方程組的通解為:x1=1-x2-x3.
>>或者通過(guò)求特解及導(dǎo)出組的基礎(chǔ)解系得出通解:
>> y=1;
>> A=[y 1 1;1 y 1;1 1 y]
A =
1 1 1
1 1 1
1 1 1
>> b=[1;y;y^2]
b =
1
1
1
>> x0=pinv(A)*b %求特解
x0 =
0.3333
0.3333
0.3333
>> x1=null(A)
x1 =
0.8165 0
-0.4082 -0.7071
-0.4082 0.7071
>> % 方程組的通解為:
>>%(x1,x2,x3,x4)=(0.3333,0.3333,0.3333)+c1(0.8165,-0.4082,-0.4082)+c2(0,-0.7071,0.7071),
>> %c1,c2為任意常數(shù)。
《高等代數(shù)》開(kāi)設(shè)實(shí)驗(yàn)課內(nèi)容應(yīng)包括基礎(chǔ)部分和綜合部分。在基礎(chǔ)實(shí)驗(yàn)部分,要圍繞高等代數(shù)的基本內(nèi)容,讓學(xué)生充分利用計(jì)算機(jī)及軟件的數(shù)值功能、符號(hào)功能和圖形展示基本概念與結(jié)論,去體驗(yàn)如何發(fā)現(xiàn)、總結(jié)和應(yīng)用數(shù)學(xué)規(guī)律。綜合實(shí)驗(yàn)是讓學(xué)生運(yùn)用已掌握的高等代數(shù)的知識(shí),能獨(dú)立地、創(chuàng)造性地去解決一些實(shí)際問(wèn)題。將實(shí)際問(wèn)題運(yùn)用數(shù)學(xué)的方法,建立模型,也就是數(shù)學(xué)建模。數(shù)學(xué)建模強(qiáng)調(diào)問(wèn)題的實(shí)用性而不強(qiáng)調(diào)普遍意義,而高等代數(shù)中的實(shí)驗(yàn)課可以從理論問(wèn)題出發(fā),也可以由實(shí)際問(wèn)題出發(fā),讓學(xué)生以解決問(wèn)題為線索總結(jié)規(guī)律。實(shí)驗(yàn)課的開(kāi)設(shè)可以作為數(shù)學(xué)建模的基礎(chǔ),使學(xué)生可以更快地掌握數(shù)學(xué)建模的基本方法和技能[3]。
總之,在《高等代數(shù)》課程中開(kāi)設(shè)實(shí)驗(yàn)課,重要的是從問(wèn)題出發(fā),讓學(xué)生自己做,自己觀察結(jié)果。激發(fā)學(xué)生的創(chuàng)造性思維,從而發(fā)明和設(shè)計(jì)新的實(shí)驗(yàn),更希望他們用MATLAB軟件去計(jì)算和解決專業(yè)課學(xué)習(xí)中出現(xiàn)的復(fù)雜計(jì)算問(wèn)題。
[1]陳志杰.高等代數(shù)與解析幾何[M].北京:高等教育出版社,斯普林格出版社,2001.
[2]宋世德,郭滿才.數(shù)學(xué)實(shí)驗(yàn)[M].北京:高等教育出版社,2002.
[3]數(shù)學(xué)實(shí)驗(yàn)課程的教學(xué)與數(shù)學(xué)素質(zhì)的培養(yǎng)[J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí),2002,(1):34~37.