張弘 錢旭 宋松和
《數(shù)學(xué)實(shí)驗(yàn)》課程是高等院校理工科本科學(xué)生的一門選修課程,通過講授一些常用的數(shù)學(xué)算法方法及其程序?qū)崿F(xiàn),包括插值、解線性方程組的直接法、解線性方程組的迭代法、非線性方程求根、常微分方程數(shù)值解等,使學(xué)生了解數(shù)學(xué)的基本原理、熟悉主要數(shù)值算法和建模方法、培養(yǎng)數(shù)學(xué)編程計(jì)算能力。通過體驗(yàn)數(shù)學(xué)實(shí)驗(yàn)的全過程,充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性,拓展學(xué)生的視野和知識(shí)面,最終達(dá)到提高學(xué)生數(shù)學(xué)素養(yǎng)和綜合能力的目的。
我校在高年級(jí)本科生中開設(shè)了《數(shù)學(xué)實(shí)驗(yàn)》專業(yè)選修課程,共16學(xué)時(shí)。通常,由于這門課程具有理論性強(qiáng),高度抽象,算法的推導(dǎo)和分析過程復(fù)雜等特點(diǎn),再加上一些學(xué)生的《高等數(shù)學(xué)》和《線性代數(shù)》等前續(xù)課程基礎(chǔ)較差,程序設(shè)計(jì)語言和編程方法的學(xué)習(xí)不夠扎實(shí),理論與實(shí)踐銜接不緊密,致使學(xué)生對(duì)該門課程學(xué)習(xí)的興趣不高,教學(xué)效果也不夠理想。如何提高《數(shù)學(xué)實(shí)驗(yàn)》課程的教學(xué)效果,在教學(xué)過程中盡可能地激發(fā)學(xué)生的學(xué)習(xí)熱情,變被動(dòng)灌輸為主動(dòng)思考,對(duì)學(xué)生后續(xù)課程的學(xué)習(xí)具有重要的意義。結(jié)合近幾年《數(shù)學(xué)實(shí)驗(yàn)》課程的教學(xué)經(jīng)驗(yàn),以下就如何在專業(yè)課教學(xué)中運(yùn)用啟發(fā)式教學(xué)談幾點(diǎn)認(rèn)識(shí)與體會(huì).
啟發(fā)式教學(xué)是中國最古老、最傳統(tǒng)的教育方法之一,為歷代教育家所推崇,有著廣泛的 實(shí)踐基礎(chǔ)?!稊?shù)學(xué)實(shí)驗(yàn)》課程涉及面廣、原理抽象、對(duì)實(shí)際操作的技術(shù)性要求高。如果采用“滿堂灌”的教學(xué)模式,則容易讓學(xué)生失去學(xué)習(xí)的動(dòng)力。此外高年級(jí)的本科生大多具備一定的分析問題和解決問題的能力,與其將課程內(nèi)容平鋪直敘地灌輸,不如啟發(fā)他們?nèi)ブ鲃?dòng)思考,去“探索”一些數(shù)學(xué)結(jié)論。通過結(jié)合課程教學(xué)要求,我們給出一個(gè)啟發(fā)式教學(xué)實(shí)踐案例。
矩陣?yán)碚撌恰稊?shù)學(xué)實(shí)驗(yàn)》課程的基礎(chǔ)內(nèi)容和重要工具,而對(duì)角占優(yōu)矩陣及二次型在矩陣?yán)碚撝邪l(fā)揮著重要的作用,它有分析簡(jiǎn)單、易于掌握等優(yōu)點(diǎn)。本文就對(duì)稱對(duì)角占優(yōu)矩陣的一些新的性質(zhì),給出了相關(guān)分析,望促進(jìn)學(xué)生對(duì)對(duì)角占優(yōu)矩陣本質(zhì)的理解,更好的掌握《數(shù)學(xué)實(shí)驗(yàn)》課程的本質(zhì)。
2.1 對(duì)稱對(duì)角占優(yōu)矩陣的新性質(zhì)
在《線性代數(shù)》課程中,我們知道對(duì)角線元素非負(fù)的對(duì)稱對(duì)角占優(yōu)矩陣是正定的,即定理2.1 設(shè)滿足
由于定理2.1對(duì)部分學(xué)生而言較為抽象,為加強(qiáng)學(xué)生對(duì)這一知識(shí)點(diǎn)的理解,在課堂上筆者要求學(xué)生使用Octave軟件編寫程序?qū)@一定理驗(yàn)證。驗(yàn)證程序如下:
N = 10; N1 = 100; N2 = 100;
for i = 1:N1
tmp = 2*rand(N, N) - 1; % random matrix in [-1, 1]
A = 1/2 * (tmp + tmp');
rowsum = sum(abs(A), 2) - abs(diag(A));
A = A - diag(diag(A)) + diag(rowsum); % diagonally dominant
xv = 2*rand(N, N2) - 1;? % random vector in [-1, 1]
minvalue = min(dot(xv, A * xv));
if minvalue < 0
fprintf('result = %f, theorem wrong?。躰', minvalue);
pause;
end
end
在驗(yàn)證完這一定理以后,我們希望可以對(duì)這一定理進(jìn)行推廣。為此我們啟發(fā)學(xué)生計(jì)算表達(dá)式的結(jié)果。通過編程計(jì)算,學(xué)生們發(fā)現(xiàn)是非負(fù)的,筆者繼而要求驗(yàn)證
的正確性。學(xué)生們?cè)俅伟l(fā)現(xiàn)也是非負(fù)的。最后筆者啟發(fā)學(xué)生進(jìn)行總結(jié),得到如下猜想:
猜想2.2 設(shè)是對(duì)稱對(duì)角占優(yōu)矩陣且所有對(duì)角線元素均滿足
則有
,其中。
為驗(yàn)證這一猜想,學(xué)生們通過討論以后,給出了如下驗(yàn)證程序:
N = 10; N1 = 100; N2 = 100;
for i = 1:N1
tmp = 2*rand(N, N) - 1; % random value in [-1, 1]
A = 1/2 * (tmp + tmp');
rowsum = sum(abs(A), 2) - abs(diag(A));
A = A - diag(diag(A)) + diag(rowsum); % diagonally dominant
xv = 2*rand(N, N2) - 1; % random vector in [-1, 1]
p = 2;% 3, 4, 5, …
minvalue = min(dot((xv.^(2*p-1)),? A * xv));
if minvalue < 0
fprintf('result = %f, Conjecture wrong?。躰', minvalue);
pause;
end
end
經(jīng)過數(shù)值實(shí)驗(yàn),大部分學(xué)生都認(rèn)為這一猜想是正確的。但是如何才能發(fā)掘出這一現(xiàn)象的本質(zhì)呢?通過共同努力,筆者引導(dǎo)學(xué)生們推導(dǎo)了猜想2.2的證明:
本文對(duì)《數(shù)學(xué)實(shí)驗(yàn)》課程的特點(diǎn)和存在的問題進(jìn)行了分析,結(jié)合自身的教學(xué)實(shí)踐和體會(huì),給出了一個(gè)啟發(fā)式教學(xué)案例。這一案例以啟發(fā)學(xué)生的思維為核心,調(diào)動(dòng)了學(xué)生學(xué)習(xí)的主動(dòng)性和積極性,促使他們生動(dòng)活潑地理解了數(shù)學(xué)原理,并啟發(fā)他們給出了一個(gè)猜想,然后進(jìn)行數(shù)值驗(yàn)證,最后給出了理論證明。具體到教學(xué)實(shí)踐,作為教師即要重視課堂數(shù)學(xué)理論的教學(xué),又要注意啟發(fā)學(xué)生對(duì)數(shù)學(xué)原理的理解以及發(fā)現(xiàn)問題、分析問題、解決問題的能力,因材施教、靈活運(yùn)用,提高教學(xué)水平,為發(fā)展國防科技培養(yǎng)高素質(zhì)人才貢獻(xiàn)力量。
(作者單位:國防科技大學(xué)文理學(xué)院數(shù)學(xué)系)