摘 要: 結(jié)合高等代數(shù)的課程特點與數(shù)學(xué)軟件Matlab的功能特點,論述了在高等代數(shù)教學(xué)中用數(shù)學(xué)軟件Matlab做實驗的必要性。提出高等代數(shù)的數(shù)學(xué)實驗內(nèi)容應(yīng)以代數(shù)思想為核心,用代數(shù)結(jié)構(gòu)整體把握實驗內(nèi)容,突出矩陣代數(shù)、矩陣標(biāo)準(zhǔn)形的應(yīng)用特征,此設(shè)計理念有利于學(xué)生理解和掌握高等代數(shù)的理論體系和思想方法,激發(fā)學(xué)習(xí)興趣,提高學(xué)習(xí)效率。
關(guān)鍵詞: 高等代數(shù); 教學(xué)探討; 實驗內(nèi)容; Matlab; 矩陣標(biāo)準(zhǔn)形
中圖分類號:O151 文獻(xiàn)標(biāo)志碼: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 引言
高等代數(shù)是大學(xué)數(shù)學(xué)專業(yè)的主要基礎(chǔ)課程,作為其核心部分的線性代數(shù),是理工科各專業(yè)的重要數(shù)學(xué)工具。學(xué)習(xí)高等代數(shù)的主要目的在于讓學(xué)生掌握基本的和比較系統(tǒng)的代數(shù)知識和代數(shù)方法,培養(yǎng)和發(fā)展其抽象思維能力和邏輯推理能力,為他們進(jìn)一步學(xué)習(xí)其他專業(yè)課程和深入理解中學(xué)數(shù)學(xué)教材,提高知識和能力打下基礎(chǔ)。在實際教學(xué)中,很多學(xué)生認(rèn)為該門課程抽象、枯燥、難以理解。隨著計算機技術(shù)與數(shù)學(xué)軟件的發(fā)展,在大學(xué)數(shù)學(xué)中運用計算機輔助教學(xué)已成必然,數(shù)學(xué)實驗正是順應(yīng)了這一發(fā)展潮流。Matlab是一款功能強大的數(shù)學(xué)軟件,其基本數(shù)據(jù)結(jié)構(gòu)是矩陣,主要向用戶提供一套非常完善的矩陣運算命令。隨著數(shù)值運算的演變,它逐漸發(fā)展成為各種系統(tǒng)仿真、數(shù)字信號處理、科學(xué)可視化的通用標(biāo)準(zhǔn)語言[1]。Matlab可提供豐富的代數(shù)運算指令,幾乎能完成矩陣代數(shù)的各種運算。比如求解線性方程組Ax=b,我們可以對線性方程組的增廣矩陣用矩陣的初等行變換化為行最簡階梯形矩陣,從而判定方程是否有解,這只需一個簡單的命令rref([A,b])就能解決;也可以直接用命令x=A\b求出方程組的最小二乘解。要求解齊次線性方程組Ax=0的基礎(chǔ)解系,直接用命令x=1(A)即可獲得,它本質(zhì)上給出的是矩陣A的右零空間的標(biāo)準(zhǔn)正交基。要求出矩陣A的行列式和秩,用命令det(A)和rank(A)即可。由此可見,Matlab確實能為高等代數(shù)教學(xué)提供強有力的支撐。本文旨在探討如何將數(shù)學(xué)軟件Matlab與高等代數(shù)有機結(jié)合起來,借助Matlab強大的矩陣運算功能和繪圖操作功能,將抽象概念及理論進(jìn)行實驗化、可視化、直觀化,通過多角度的展示引導(dǎo)學(xué)生觀察、分析、思考,以期增強學(xué)生學(xué)習(xí)的直觀感和學(xué)習(xí)興趣,提高學(xué)習(xí)效率。
1 數(shù)學(xué)實驗融入高等代數(shù)教學(xué)的必要性
矩陣在高等代數(shù)課程中有著特殊的地位和作用。在高等代數(shù)里,通過分離系數(shù),將線性方程組的研究轉(zhuǎn)化為增廣矩陣的研究;通過選定基,將向量之間的關(guān)系轉(zhuǎn)化為向量坐標(biāo)之間的關(guān)系;將抽象的線性變換的研究轉(zhuǎn)化為矩陣的研究;將二次型的研究轉(zhuǎn)化為對稱矩陣的研究。高等代數(shù)課程中的幾乎所有概念、結(jié)論和方法都直接或間接地與矩陣有聯(lián)系。矩陣不僅有眾多的數(shù)學(xué)運算,如加法、減法、乘法、乘方、求逆矩陣、求廣義逆矩陣、轉(zhuǎn)置、內(nèi)積等,而且還有多種重要的標(biāo)量函數(shù),如行列式、跡、秩、特征值、范數(shù)、條件數(shù)等,矩陣運算和矩陣的標(biāo)量函數(shù)分別構(gòu)成高等代數(shù)內(nèi)容的骨架和血肉。由此可見,掌握了矩陣?yán)碚摼拖喈?dāng)于掌握了高等代數(shù)課程的主要理論與方法。在高等代數(shù)教學(xué)中選用Matlab作為實驗工具,正是基于Matlab有強大的矩陣運算功能的考慮,該功能與高等代數(shù)教學(xué)中要充分利用矩陣這個直觀模具,突出矩陣?yán)碚撆c應(yīng)用的理念高度吻合。借助Matlab數(shù)學(xué)軟件,可以使學(xué)生從繁重的計算中解脫出來,從而有充足時間與精力深入學(xué)習(xí)相關(guān)理論知識;可以針對教材中具有較強內(nèi)在規(guī)律和思維因素的內(nèi)容,設(shè)計出一系列周密的循序漸進(jìn)的階梯形問題,從而讓學(xué)生獨立去探索解答;可以將課程的前后內(nèi)容串聯(lián)起來學(xué)習(xí),使學(xué)生了解知識點之間的相互關(guān)系,對所有知識點有一個系統(tǒng)和全面的認(rèn)識。因此,在高等代數(shù)教學(xué)中使用Matlab開展數(shù)學(xué)實驗是很有必要的。
2 高等代數(shù)實驗課內(nèi)容的設(shè)計
高等代數(shù)的主要內(nèi)容有:一元多項式理論,行列式,線性方程組,矩陣?yán)碚?,線性空間,線性變換,歐氏空間,二次型,群、環(huán)、域等。在高等代數(shù)里,這些內(nèi)容不是簡單地疊加在一起,而是建立在公理化思想基礎(chǔ)上并有著嚴(yán)密邏輯聯(lián)系的數(shù)學(xué)知識結(jié)構(gòu)體系。所謂公理化方法,就是在一個數(shù)學(xué)理論系統(tǒng)中,盡可能少地選取原始概念和不加證明的一組公理,以此為出發(fā)點,利用純邏輯推理的法則,把該系統(tǒng)建立成一個演繹系統(tǒng)的方法。比如高等代數(shù)中線性空間的概念是用公理化方法給出的,多項式、矩陣、線性變換等都是在相應(yīng)的線性空間中展開討論的。在一個統(tǒng)一的框架之下,討論它們的運算、基、坐標(biāo)、維數(shù)、同構(gòu)等內(nèi)容。公理化的思想方法具有分析和總結(jié)數(shù)學(xué)知識的作用,把零散的數(shù)學(xué)知識用邏輯的鏈串聯(lián)起來,使之形成完整的有機整體。然而,公理化方法無法展現(xiàn)有關(guān)理論、知識產(chǎn)生的背景和應(yīng)用,容易使學(xué)生把所學(xué)知識看成一堆現(xiàn)成公式和定理的堆砌,這對高等代數(shù)的學(xué)習(xí)是極為不利的。解決此問題的教學(xué)策略主要有:用代數(shù)思想和代數(shù)結(jié)構(gòu)把握高等代數(shù)的知識體系,突出矩陣代數(shù)、矩陣標(biāo)準(zhǔn)形的應(yīng)用;把知識發(fā)生發(fā)展的脈絡(luò)完整地呈現(xiàn)出來,使學(xué)生理解概念是如何形成的,結(jié)論是怎樣探索和猜測到的,證明的思路是怎樣產(chǎn)生的,最后問題是怎樣解決的;讓學(xué)生從繁重的手工運算與數(shù)學(xué)推導(dǎo)中解脫出來,將學(xué)習(xí)重點放在對基本概念的理解、原理和方法的分析和運用上。下面給出幾個典型的應(yīng)用實例,借以說明應(yīng)用Matlab軟件來實現(xiàn)上述教學(xué)策略的思路和方法。
2.1 用代數(shù)思想、代數(shù)結(jié)構(gòu)整體把握高等代數(shù)的知識體系
代數(shù)學(xué)是最古老的數(shù)學(xué)分支之一,它研究的是抽象實體(如復(fù)數(shù)、矩陣、集合、向量、群、環(huán)或域)以符號形式進(jìn)行運算,通常類似于算術(shù)運算之后的性質(zhì)和關(guān)系?,F(xiàn)代代數(shù)學(xué)的研究目標(biāo)是弄明白代數(shù)學(xué)的邏輯結(jié)構(gòu)。數(shù)學(xué)的基本結(jié)構(gòu)含基本概念、基本原理及其間的關(guān)系,學(xué)習(xí)結(jié)構(gòu)就是學(xué)習(xí)事物的關(guān)聯(lián)。高等代數(shù)研究的對象是帶有運算的一些集合。集合的運算分為兩類:一類是某個具體集合內(nèi)部元素之間的運算,例如所有n階正定矩陣集合中元素的加法、減法、乘法、乘方、開方等運算;另一類是集合與集合之間的運算,有并運算、交運算、補運算、差運算與笛卡兒乘積運算。對于數(shù)學(xué)運算,首要考慮的是運算的封閉性。“封閉”是指:若把集合中的元素通過運算結(jié)合在一起,所得的結(jié)果仍是這個集合中的元素。然后考慮運算后元素的性質(zhì)是否有變化。在高等代數(shù)教學(xué)中,往往缺少用實驗驗證數(shù)學(xué)結(jié)論、公式等環(huán)節(jié),而是采用形式化的符號演算得出相關(guān)結(jié)論,也許是由于驗證需要大量計算工作的緣故。但是形式化的符號演算抽象程度高,沒有現(xiàn)實背景作為思維的強有力依托,導(dǎo)致學(xué)生學(xué)了公式不知道怎么用,也不知道有什么用?,F(xiàn)在有了數(shù)學(xué)軟件Matlab,我們可以利用它強大的運算功能來幫助我們完成有關(guān)計算驗證的實驗。鑒于高等代數(shù)課程的理論體系和思想方法是代數(shù)結(jié)構(gòu)理論的建立和整體處理思想及模式化思想的應(yīng)用等特點[2],筆者提出用代數(shù)思想和代數(shù)結(jié)構(gòu)來把握高等代數(shù)實驗內(nèi)容的想法。這一想法實施起來就是:首先考慮所給集合是否構(gòu)成子空間,如果是子空間,考慮它的基、維數(shù)及正交補空間如何求解;然后考慮各種運算的封閉性,是否能做特殊的運算,是否能做各種分解等等。比如考慮兩個對稱矩陣的和、差、積是否還是對稱矩陣,兩個正定矩陣的和、差、積是否還是正定矩陣;如果它們可逆,逆矩陣是否還在所討論的矩陣類中;正定矩陣能否做開方運算;是否滿足矩陣分解的有關(guān)條件等等。接下來再討論運算后矩陣的標(biāo)量函數(shù)有何變化,能否用等式或不等式表示相關(guān)結(jié)果等等。具體來說,對矩陣標(biāo)量函數(shù)可以按下面表1開展相關(guān)的實驗。
在高等代數(shù)實驗中按表1進(jìn)行實驗,可以幫助學(xué)生理解和掌握高等代數(shù)的理論體系,思想方法,對矩陣知識有一個系統(tǒng)和全面的認(rèn)識。
2.2 以矩陣標(biāo)準(zhǔn)型為直觀模型,借助Matlab進(jìn)行數(shù)值計算或可視化演示,將抽象理論直觀化、形象化
矩陣標(biāo)準(zhǔn)型是指矩陣經(jīng)過線性變換后化成的最簡單矩陣,在高等代數(shù)中,有矩陣等價標(biāo)準(zhǔn)型、矩陣相似標(biāo)準(zhǔn)型、矩陣合同標(biāo)準(zhǔn)型,它們分別是對矩陣實施初等變換、相似變換、合同變換后化出的最簡單矩陣。矩陣標(biāo)準(zhǔn)型在高等代數(shù)中被廣泛應(yīng)用,它能夠使人們從直觀的角度去理解抽象的概念、定理、性質(zhì)等等,增強對知識的記憶和理解,從而取得比較好的學(xué)習(xí)效果。
實例1 矩陣等價標(biāo)準(zhǔn)型的應(yīng)用—矩陣的行空間與列空間可以建立一一對應(yīng)關(guān)系
命題:設(shè)T是從線性空間cn到線性空間cm的一個線性映射,那么T是T的零空間的正交補到T的象空間的一一映射。
顯然,這個命題是抽象的,證明這個命題的直觀模形到底出自哪里呢,也許我們可以從矩陣等價標(biāo)準(zhǔn)型中找到答案。眾所周知,從cn到cm的一個線性映射可以用一個m行n列的矩陣A來表示,則T的零空間的正交補就是矩陣A的行向量生成的子空間,T的象空間就是矩陣A的列向量生成的子空間。將矩陣A用初等變換化為標(biāo)準(zhǔn)型,進(jìn)而將A分解為列滿秩的矩陣B與行滿秩的矩陣C的乘積,即A=BC,則A的行空間與C的行空間等價,A的列空間與B的列空間等價,而且矩陣C行向量組與矩陣B的列向量組都線性無關(guān),從而我們可以建立矩陣C的行向量組到矩陣B的列向量組之間的一一對應(yīng)關(guān)系。由此可見,矩陣A的行空間與列空間可以建立一一對應(yīng)關(guān)系。
實例2 矩陣相似標(biāo)準(zhǔn)型的應(yīng)用—求解n階矩陣A的最小多項式
英國數(shù)學(xué)家凱萊最著名的研究成果是關(guān)于一個方陣與其相應(yīng)特征多項式的關(guān)系方面的,凱萊證明了如果在特征多項式中用矩陣代替變量,然后進(jìn)行指定的運算,那么結(jié)果總是零矩陣,換句話說,每個矩陣都滿足使它的特征多項式等于0的方程。矩陣A的特征多項式就是矩陣A的一個零化多項式。矩陣A的零化多項式并不惟一,比如,假定多項式f(x)是矩陣A的零化多項式,那么多項式f(x)h(x)也是它的零化多項式,在矩陣A眾多的零化多項式中,次數(shù)最小的多項式就稱為矩陣A的最小多項式。矩陣A的最小多項式在數(shù)值計算中有重要應(yīng)用,基于變分原理的求解線性方程組的迭代算法都與這個多項式有關(guān),比如共軛梯度算法、極小殘量算法的迭代次數(shù)恰好等于線性方程組系數(shù)矩陣最小多項式的次數(shù)。求解n階矩陣A的最小多項式有多種方法,最著名的有弗羅本尼烏斯定理:矩陣A的最小多項式就是A的最后一個不變因子。下面給出最小多項式的求解思路,這個思路是來自矩陣相似標(biāo)準(zhǔn)型的。最小多項式是相似變換的不變量,矩陣A用相似變換化出的最簡單矩陣應(yīng)是對角形矩陣,但不是所有的方陣都與對角形矩陣相似,而每個方陣卻與它的若當(dāng)標(biāo)準(zhǔn)型矩陣相似。因此,只需驗證對角形矩陣和若當(dāng)塊矩陣的最小多項式即可。容易驗證,如下兩個矩陣B與C的最小多項式分別是(x-2)(x-4)和(x-5)3,如果矩陣A與如下矩陣D相似,那么A的最小多項式為(x-2)(x-4)(x-5)3。
實例3 矩陣合同標(biāo)準(zhǔn)型的應(yīng)用—二次曲線(或曲面)方程的化簡
二次曲線(或曲面)方程的化簡就是要選取一個適當(dāng)?shù)淖鴺?biāo)系,也就是要確定一個坐標(biāo)變換,使得曲線(或曲面)在新坐標(biāo)系下的方程最為簡單。從代數(shù)學(xué)的觀點看,二次曲線(或曲面)方程的化簡就是用正交變換將一個一般的二次型(含有乘積項)化為標(biāo)準(zhǔn)形(只含平方項),從而將一有心二次曲線(或曲面)方程化為標(biāo)準(zhǔn)方程。在解決這個問題的過程中,一個基本而關(guān)鍵的問題是如何確定二次型的主軸問題。根據(jù)解析幾何,任意一條直線與橢圓有兩個相交點的直線,直線與橢圓的兩個交點所確定的線段,稱為橢圓的弦;把通過對稱中心的弦稱為直徑。于是,牛頓關(guān)于直徑的理論斷言:任意一族平行弦的中點,必在一條直線上,事實上,這條直線還是橢圓的一條直徑,稱為這族平行弦的共軛直徑。可以證明,這些平行弦的方向與其共軛直徑的方向為A-正交的(這里的A,就是出現(xiàn)在二次曲線方程中的實對稱矩陣),亦即,若平行弦的方向是v且所確定直徑的方向是w,則
用Matlab化簡二次曲線方程x2-4xy+y2+3=0并將結(jié)果用圖形顯示出來。結(jié)果如圖1、圖2所示。
可以看出實例3是簡單的,卻給我們提供了最豐富的反思空間。
⑴ 關(guān)于線性變換的兩種解釋
二次曲線方程用正交變換X=QY(其中X、Y是列向量,Q是正交矩陣)化為標(biāo)準(zhǔn)方程,正交矩陣Q的列向量是主軸方向,這意味著曲線不動,坐標(biāo)系變動,曲線在新坐標(biāo)系下是標(biāo)準(zhǔn)方程,如圖1所示。另一方面,一個方陣代表一個映射,它把空間的點從這頭變到那頭,像例3一樣,線性變換QY=X,把圖2中的點映射為圖1中的點,把圖2中的曲線映射為圖1中的曲線,這意味著坐標(biāo)系不動,曲線變動。
⑵ 矩陣特征向量的幾何直觀
高等代數(shù)中關(guān)于特征向量的定義是指滿足方程Av=λv的非零向量v,要不是有前面理論的推導(dǎo),根本看不到實對稱矩陣的特征向量就是主軸方向的蹤跡。在數(shù)學(xué)分析教材中見過用條件極值導(dǎo)出二次型矩陣特征值的例子,為主軸問題的研究提供了一些幾何背景,比較起來,前面給出的主軸理論不失為最簡單和最直觀的。
⑶ 參數(shù)λ屬性的改變
線性空間定義中的數(shù)乘運算是將一個數(shù)λ乘一個向量,這個數(shù)λ只有數(shù)的屬性而沒有量的屬性。在解析幾何中,參數(shù)λ常常表示為兩個有向線段MN與CD的比,即MN=λCD,此時的λ也只有數(shù)的屬性。要使λ既有數(shù)的屬性又有量的屬性,要求有向線段CD是單位向量即可,此時λ的絕對值恰好等于有向線段MN的長度。用參數(shù)λ表示有向線段的長度正是解析幾何解題技巧中常用的手法之一,如本例中的結(jié)論
3 結(jié)束語
目前,高等院校基于專業(yè)特色和課程特點的數(shù)學(xué)實驗尚處在研究、探索階段,已經(jīng)開設(shè)的實驗課內(nèi)容也還停留在簡單的數(shù)學(xué)模型分析和數(shù)值計算上,如何將數(shù)學(xué)軟件Matlab與高等代數(shù)的教學(xué)內(nèi)容有機結(jié)合起來,實現(xiàn)高等代數(shù)教學(xué)效率的最大化,是我們要研究的。筆者提出應(yīng)以代數(shù)思想為核心,用代數(shù)結(jié)構(gòu)整體把握實驗內(nèi)容,突出矩陣代數(shù)、矩陣標(biāo)準(zhǔn)形的應(yīng)用為主要特征的高等代數(shù)數(shù)學(xué)實驗內(nèi)容設(shè)計理念,目的是讓學(xué)生更容易理解和掌握高等代數(shù)課程獨特的理論體系和思想方法,了解高等代數(shù)各知識點之間的相互關(guān)系,對高等代數(shù)知識有一個系統(tǒng)和全面的認(rèn)識,希望這些理念能夠為高等代數(shù)的教學(xué)改革提供參考。
參考文獻(xiàn):
[1] 蘇金明,阮沈勇編著.MATLAB實用教程(第二版)[M].電子工業(yè)出版
社,2008.
[2] 宋杰.《高等代數(shù)》課程中的若干數(shù)學(xué)思想方法[J].韶關(guān)學(xué)院學(xué)報,
2009.30(3).
[3] 王松桂.矩陣不等式(第二版)[M].科學(xué)出版社,2006.
[4] 北京大學(xué)數(shù)學(xué)系.高等代數(shù)(第二版)[M].高等教育出版社,1988.
[5] 李尚志.數(shù)學(xué)實驗—借助計算機學(xué)習(xí)和探索數(shù)學(xué)[J].中國大學(xué)教學(xué),
2003.5.
[6] 孫延洲.試論數(shù)學(xué)實驗的教學(xué)價值[J].教育研究與實驗,2010.6.