汪建軍,許才軍
(1.武漢大學(xué)測繪學(xué)院 湖北 武漢 430079;2.地球空間環(huán)境與大地測量教育部重點實驗室 湖北 武漢 430079)
張量是一種能以非常簡潔優(yōu)美的形式表達(dá)現(xiàn)實世界中物理規(guī)律的數(shù)學(xué)量。物理規(guī)律的張量表達(dá)形式不依賴于特定的坐標(biāo)系,在任何坐標(biāo)系下都具有統(tǒng)一的形式[1-2]。張量分析在諸如相對論、電磁場論、流體力學(xué)和連續(xù)介質(zhì)力學(xué)等諸多學(xué)科中得到廣泛應(yīng)用。近幾十年來,愈來愈多的力學(xué)文獻(xiàn)和教材也采用張量符號書寫,學(xué)生不熟悉張量分析則難以理解其內(nèi)容[2]。因此,張量分析已成為相關(guān)專業(yè)理工科學(xué)生需要掌握的重要數(shù)學(xué)工具。國內(nèi)部分高等院校陸續(xù)開設(shè)了張量分析的課程[3-5],但由于課程內(nèi)容存在大量的數(shù)學(xué)公式和運(yùn)算符號,并且概念比較抽象,學(xué)生學(xué)習(xí)起來常感到枯燥難懂。為此,講授張量分析課程的高校教師一直在不斷探索張量分析課程教學(xué)改革。例如,陳新等[4]提出了基于優(yōu)化和拓展教學(xué)內(nèi)容及加強(qiáng)前后銜接課程聯(lián)系的張量分析教學(xué)內(nèi)容改革;張志鎮(zhèn)等[5]提出了面向張量論文閱讀和寫作的張量分析教學(xué)改革。這些研究有效促進(jìn)了該類課程的教學(xué)。不過,上述研究側(cè)重于較為宏觀層面的課程教學(xué)改革措施研究,而在更微觀層面的課程內(nèi)容教學(xué)方面仍值得進(jìn)一步研究。
本文提出利用MATLAB 的繪圖、符號推導(dǎo)、張量運(yùn)算和腳本編程功能輔助于張量分析課程教學(xué),讓該課程的知識幾何直觀化,清晰地展現(xiàn)公式的由來或定理證明過程,從而激發(fā)學(xué)生的學(xué)習(xí)興趣,讓學(xué)生清楚地認(rèn)識到公式或定理證明過程均可以在邏輯的指引下被演繹出來,增強(qiáng)學(xué)生學(xué)習(xí)的信心,以幫助學(xué)生更好地理解和掌握張量分析的知識。
“張量分析”是一門面向武漢大學(xué)測繪學(xué)院地球物理專業(yè)和武漢大學(xué)地球物理弘毅班的本科學(xué)生的大類平臺必修課程。該課程總計學(xué)分1.5 分,學(xué)時24,開設(shè)學(xué)期為第3 學(xué)期上半學(xué)期。該課程只涉及張量分析的基礎(chǔ)部分,旨在讓學(xué)生建立張量的基本概念,能熟練運(yùn)用指標(biāo)法推導(dǎo)矢量恒等式,掌握二階張量的加法和乘法分解等。
“張量分析”課程主要內(nèi)容包括:矢量及其代數(shù)運(yùn)算、斜角直線坐標(biāo)系的基矢量與矢量分析、曲線坐標(biāo)系、坐標(biāo)轉(zhuǎn)換、并矢、張量的概念、張量的代數(shù)運(yùn)算、張量的矢積以及二階張量的矩陣、不變量、和張量分解等。
該課程的抽象性、符號龐雜性、公式復(fù)雜性及其緊密邏輯關(guān)聯(lián),決定了該門課程有一定的學(xué)習(xí)難度。此外,授課對象是剛結(jié)束大學(xué)工科基礎(chǔ)類數(shù)學(xué)課程學(xué)習(xí)的本科生,他們對笛卡爾坐標(biāo)系下的微積分和空間解析幾何,以及不涉及具體坐標(biāo)系的線性代數(shù)比較熟悉,但是對立即轉(zhuǎn)入有關(guān)斜角坐標(biāo)系和曲線坐標(biāo)系的矢量分析、張量運(yùn)算和張量場函數(shù)運(yùn)算等方面的學(xué)習(xí),可能有一定認(rèn)識上的難度。這兩個難度決定了教學(xué)存在難點:①抽象概念的幾何直觀化;②公式和定理證明的清晰化。
教師可以充分利用MATLAB 的繪圖、腳本編程、符號推導(dǎo)和張量運(yùn)算的功能,來解決這些教學(xué)難點。下面從旋度分析、坐標(biāo)變換和定理輔助證明三個方面,展示MATLAB 工具對張量分析課程教學(xué)的輔助作用。
速度場的旋度的二分之一并不總是等于歐拉剛體運(yùn)動模型所描述的歐拉矢量。下面對此加以分析和論證。
令v為一速度場,其經(jīng)旋度運(yùn)算后的角速度為,亦即另外假定v可以由歐拉剛體運(yùn)動模型描述:其中 為歐拉矢量,為向徑。令三維笛卡爾直角坐標(biāo)系的單位基矢量為現(xiàn)證明在一般情形下
由上可知:
圖1 速度場和旋度場?;诔W拉矢量導(dǎo)出的速度場,其經(jīng)旋度運(yùn)算后得到的旋度場(圖1a底圖);一般速度場經(jīng)旋度運(yùn)算后得到的旋度場(圖1b 底圖)。白色粗箭頭表示實際速度場,黑色細(xì)箭頭表示基于旋度場的模擬速度場。
當(dāng)歐拉矢量是常矢量時,基于歐拉矢量生成的實際速度場,同經(jīng)過該速度場導(dǎo)出的旋度場所模擬出的速度場完全重合(圖1a),這說明此時作用于原始速度場的旋度運(yùn)算得到的旋度,就等于常歐拉矢量。然而,當(dāng)歐拉矢量既不是常矢量,也非具有特別的函數(shù)形式時,并不能保證式(1)右端第1 項始終為零,也就不能保證實際速度場和經(jīng)旋度導(dǎo)出的速度場完全重合(圖1b)。
張量的坐標(biāo)定義為:新老坐標(biāo)系中按坐標(biāo)轉(zhuǎn)換關(guān)系變化的有序數(shù)的集合[2]。這些有序數(shù)即為坐標(biāo)分量。當(dāng)老坐標(biāo)系的基矢量變換到新坐標(biāo)系的基矢量時,對應(yīng)的老坐標(biāo)系中的坐標(biāo)分量也要變換到新坐標(biāo)系中的坐標(biāo)分量。換言之,盡管坐標(biāo)分量隨著坐標(biāo)系的基矢量的變化而變化,但是基矢量的并矢的線性組合(組合系數(shù)為坐標(biāo)分量)構(gòu)成的張量實體不隨基矢量的變化而變化(張量的實體定義),此為張量的內(nèi)秉性。下面以平面坐標(biāo)系的坐標(biāo)軸的旋轉(zhuǎn)為例,說明當(dāng)坐標(biāo)軸的基矢量發(fā)生變化時,坐標(biāo)分量隨之變化,但矢量實體卻不發(fā)生變化。
運(yùn)行程序basis_transformation.m[6]繪制圖2。該圖表明:盡管坐標(biāo)軸連續(xù)發(fā)生旋轉(zhuǎn),但不影響圖形的原初位置和幾何形狀。這是因為圖形在空間所占據(jù)的位置不依賴于選定的坐標(biāo)系,坐標(biāo)系只是為了研究的方便附加上去的,就如同張量實體并不依賴于坐標(biāo)系,只是為了研究的方便而選定了坐標(biāo)系,之后才將張量表達(dá)為具體坐標(biāo)系中的分量形式。不過,當(dāng)將逆時針旋轉(zhuǎn)得到的新坐標(biāo)系的軸沿順時針置于水平位置時,該坐標(biāo)系的圖形從視覺上看,則相應(yīng)地也發(fā)生順時針旋轉(zhuǎn),但就實質(zhì)而言,若新坐標(biāo)系的軸不置于水平位置,則圖形在實際空間中并不發(fā)生移動。因此,當(dāng)坐標(biāo)軸發(fā)生旋轉(zhuǎn)時,坐標(biāo)系的基矢量發(fā)生變化,坐標(biāo)分量也隨之變化,但由基矢量和坐標(biāo)分量所組成的矢量實體并不隨坐標(biāo)系的變化而變化。
圖2 圖形隨平面坐標(biāo)系的坐標(biāo)軸的旋轉(zhuǎn)。坐標(biāo)軸沿逆時針方向依次旋轉(zhuǎn)0°(圖2a)、90°(圖2b)、180°(圖2c)、270°(圖2d)。各子圖中x和y軸代表旋轉(zhuǎn)后的坐標(biāo)軸位置。
對如下定理的證明,可以先進(jìn)行張量運(yùn)算,再利用MATLAB 的符號運(yùn)算功能進(jìn)行等式驗證。
定理[2]:三維空間中任意二階張量T 將任意矢量組u、v、w 映射為另一組矢量,滿足:。
證明:
運(yùn)行程序second_order_tensor_mapping.m 可驗證得證。
為了幫助學(xué)生更好地學(xué)習(xí)“張量分析”課程,教師可以借助MATLAB 工具將抽象的概念直觀化,將復(fù)雜的計算、推理和證明交由計算機(jī)處理。本文從旋度分析、坐標(biāo)變換和定理輔助證明這三個方面,展示了MATLAB 工具應(yīng)用于該課程學(xué)習(xí)的強(qiáng)大功能。學(xué)生通過公式推導(dǎo)和編程實現(xiàn),將深化對所學(xué)知識的認(rèn)識和理解。學(xué)生通過“張量分析”課程學(xué)習(xí),領(lǐng)悟了對基矢量和對偶基矢量進(jìn)行運(yùn)算操作的精神實質(zhì)后,就能利用MATLAB 的張量工具箱或Py-Torch 開源深度學(xué)習(xí)庫,自由地實現(xiàn)張量的運(yùn)算和操作。