何章鳴 馬正芳
摘要:在高斯消元法教學(xué)中有一個怪現(xiàn)象:很多學(xué)員“講解快懂,做題快懵”。作者查閱國內(nèi)外經(jīng)典教材中高斯消元法講義后,發(fā)現(xiàn)導(dǎo)致上述現(xiàn)象的關(guān)鍵原因是:傳統(tǒng)解法“消元一回代一寫解”的步驟指代不清。在信息時代背景下,文章提出了“提取一變換一還原一移項一補齊”五步變換法,該方法更具體、更規(guī)范。結(jié)合數(shù)學(xué)軟件MATLAB將該方法付諸教學(xué)實踐,結(jié)果表明新方法過程具體、操作性強,可有效提高學(xué)員的學(xué)習(xí)效率。
關(guān)鍵詞:課程設(shè)置;教學(xué)創(chuàng)新;線性代數(shù);高斯消元法;數(shù)學(xué)軟件
中圖分類號:G642.3 文獻標(biāo)識碼:A 收稿日期:2019-06-04 文章編號:1674-120X(2019) 29-0104-02
一、引言
線性代數(shù)以向量、線性空間、線性變換和線性方程組等為對象,研究秩的等價不變性、特征值的相似不變性和慣性數(shù)的合同不變性,被廣泛地應(yīng)用于自然科學(xué)和社會科學(xué)中。在線性代數(shù)教材[1][2]的內(nèi)容組織架構(gòu)中,線性方程組是各章節(jié)的樞紐工具。因而,線性代數(shù)關(guān)注點可歸結(jié)為兩個方面:第一,回答線性方程解的唯一性、存在性和結(jié)構(gòu)性問題;第二,相似性和二次型可以看成方程組的應(yīng)用。高斯消元法(Gaussian Elimination)印證了線性方程組和線性代數(shù)的實用性。[3]查閱國外經(jīng)典教材[4]和國內(nèi)教材可發(fā)現(xiàn)高斯消元法解線性方程組的主要工作是對增廣矩陣(Augmented Matrix)進行初等行變換,常把高斯消元法分解為三個步驟:步驟一,消元(Variable Elimination):把增廣矩陣化為行階梯形,如果最后一個階梯的非零元素出現(xiàn)在最后,則方程組無解,否則方程有解;步驟二,回代(BackSubstitution):在有解的情況下把行階梯形化為最簡行階梯形;步驟三,寫解(Write Solution):把最簡行階梯形還原為同解方程組,求出所有解。
上面的解題步驟存在三個問題:問題一:步驟一忽略了消元前的增廣矩陣的提取過程,容易導(dǎo)致學(xué)員解題開端困難;問題二:步驟一和步驟二界線模糊,未考慮到常用數(shù)學(xué)軟件MATLAB并沒有行階梯形對應(yīng)的命令。因為行階梯形 “不唯一”,容易導(dǎo)致學(xué)員解題不規(guī)范、易出錯;問題三:步驟三中“求出所有解”指代不清,隱藏大量細節(jié)步驟,容易導(dǎo)致學(xué)員解題丟三落四、得分率低。下面將進一步分析傳統(tǒng)高斯消元法的問題,最后給出對應(yīng)的解決方案。
二、問題分析與解決方案
(一)問題分析
問題一:傳統(tǒng)方法忽略了增廣矩陣提取過程。例如,如圖1所示,二維平面上的一條直線的方程為。1。該方程非常簡單,而它的增廣矩陣并不是顯而易見的。教學(xué)實踐中發(fā)現(xiàn),大量學(xué)員提取出錯誤的增廣矩陣,例如提取的增廣矩陣為[A,b]=[1,1]。經(jīng)分析,原因可歸納為兩個方面:第一,自以為直線方程x=1是一維空間,其實該直線不經(jīng)過零點,并不能構(gòu)成線性空間,其實,該直線只是二維平面{[x,y]|x, y是實數(shù)}的一個子集,可表示為{[1,y]|y是實數(shù)};第二,方程x=1省略了0和1,實際上這是不規(guī)范的寫作習(xí)慣,容易導(dǎo)致提取出錯誤的增廣矩陣。實際上,x=1的完整式為1*x+0*y=1。對應(yīng)的,增廣矩陣為[A,b]=[1,0, 1]。
問題二:傳統(tǒng)高斯消元法中,變換過程被分解為“消元”和“回代”兩部分。但是由于行階梯形不唯一,導(dǎo)致“消元”過程指代不清,不同學(xué)員獲得的行階梯形就不同,因而很難跟蹤和判斷答案是否正確。把“消元”和“回代”合二為一是必要的,即用“變換”直接獲得最簡行階梯形,原因有兩個:第一,最簡行階梯形是唯一的,學(xué)員能夠清晰地跟蹤和判斷答案是否正確,“一桿到底”更符合多數(shù)人的解題心理。行階梯形只是一個中間過程,不需要跟蹤其正確性。正因如此MATLAB和MATHMATICA沒有求解階梯形的命令。第二,合二為一后,規(guī)則簡單,容易上手,更符合信息時代背景。實際上MATLAB存在最簡行階梯形的命令,即RREF,為Reduce Row Echelon Form的縮寫。傳統(tǒng)的“消元”和“回代”的劃分方法符合計算機資源匱乏的手算時代。盡管行階梯形不唯一,但是若能提前判斷方程沒有解,則沒有必要將增廣矩陣化簡為最簡行階梯形,這樣就可以節(jié)約少量計算機資源。在信息時代背景下,教學(xué)計算機的計算性能冗余,筆者認為“規(guī)則簡單,機器判別”比“節(jié)約少量日算資源”更加可取。
問題三:傳統(tǒng)方法的“寫解”非常籠統(tǒng),過程任務(wù)指代不清,學(xué)員無法理解其中的內(nèi)涵,在解題時不知如何下手。實際上,“寫解”需要規(guī)范地分解為三個步驟:第一,把最簡行階梯形還原為線性方程組,“還原”是“提取”的逆過程,提取和還原構(gòu)成了線性方程組求解的一個閉環(huán);第二,移項:非階梯元所對應(yīng)的變量就是自由變量,將自由變量移到方程組的右邊,即用自由變量表示非自由變量;第三,補齊:把自由變量代表的恒等式補齊?!把a齊”是“省略”的逆過程,此時非齊次方程組的特解和導(dǎo)出組的基礎(chǔ)解系已經(jīng)出現(xiàn)。
(二)解決方案
基于上述分析,提出過程規(guī)范的、操作性更強的、更適合教員教學(xué)和學(xué)員解題的線性方程組解法,所示,該方法包含“提取一變換一還原一移項一補齊”五個步驟,因此又稱該方法為“五步變換法”。
圖2刻畫了傳統(tǒng)高斯消元法與五步變換法的對應(yīng)關(guān)系,區(qū)別有三個方面:第一,增加了“提取”過程。第二,將“消元”和“回代”合并為“變換”。第三,將“寫解”劃分為 “還原”“移項”“補齊”。
接下來,用“五步變換法”求解二維平面上的直線方程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;步驟五,補齊:將自由變量恒等式補齊,得到線性方程組的規(guī)范答案1*x=1+0*y, y=0+1*y,即[x,y]=[1,0]+y[0,1]。