汪建军,许才军

(1.武汉大学测绘学院 湖北 武汉 430079;2.地球空间环境与大地测量教育部重点实验室 湖北 武汉 430079)

张量是一种能以非常简洁优美的形式表达现实世界中物理规律的数学量。物理规律的张量表达形式不依赖于特定的坐标系,在任何坐标系下都具有统一的形式[1-2]。张量分析在诸如相对论、电磁场论、流体力学和连续介质力学等诸多学科中得到广泛应用。近几十年来,愈来愈多的力学文献和教材也采用张量符号书写,学生不熟悉张量分析则难以理解其内容[2]。因此,张量分析已成为相关专业理工科学生需要掌握的重要数学工具。国内部分高等院校陆续开设了张量分析的课程[3-5],但由于课程内容存在大量的数学公式和运算符号,并且概念比较抽象,学生学习起来常感到枯燥难懂。为此,讲授张量分析课程的高校教师一直在不断探索张量分析课程教学改革。例如,陈新等[4]提出了基于优化和拓展教学内容及加强前后衔接课程联系的张量分析教学内容改革;张志镇等[5]提出了面向张量论文阅读和写作的张量分析教学改革。这些研究有效促进了该类课程的教学。不过,上述研究侧重于较为宏观层面的课程教学改革措施研究,而在更微观层面的课程内容教学方面仍值得进一步研究。

本文提出利用MATLAB 的绘图、符号推导、张量运算和脚本编程功能辅助于张量分析课程教学,让该课程的知识几何直观化,清晰地展现公式的由来或定理证明过程,从而激发学生的学习兴趣,让学生清楚地认识到公式或定理证明过程均可以在逻辑的指引下被演绎出来,增强学生学习的信心,以帮助学生更好地理解和掌握张量分析的知识。

1 “张量分析”的课程内容和教学难点

“张量分析”是一门面向武汉大学测绘学院地球物理专业和武汉大学地球物理弘毅班的本科学生的大类平台必修课程。该课程总计学分1.5 分,学时24,开设学期为第3 学期上半学期。该课程只涉及张量分析的基础部分,旨在让学生建立张量的基本概念,能熟练运用指标法推导矢量恒等式,掌握二阶张量的加法和乘法分解等。

1.1 课程内容

“张量分析”课程主要内容包括:矢量及其代数运算、斜角直线坐标系的基矢量与矢量分析、曲线坐标系、坐标转换、并矢、张量的概念、张量的代数运算、张量的矢积以及二阶张量的矩阵、不变量、和张量分解等。

1.2 教学难点

该课程的抽象性、符号庞杂性、公式复杂性及其紧密逻辑关联,决定了该门课程有一定的学习难度。此外,授课对象是刚结束大学工科基础类数学课程学习的本科生,他们对笛卡尔坐标系下的微积分和空间解析几何,以及不涉及具体坐标系的线性代数比较熟悉,但是对立即转入有关斜角坐标系和曲线坐标系的矢量分析、张量运算和张量场函数运算等方面的学习,可能有一定认识上的难度。这两个难度决定了教学存在难点:①抽象概念的几何直观化;②公式和定理证明的清晰化。

教师可以充分利用MATLAB 的绘图、脚本编程、符号推导和张量运算的功能,来解决这些教学难点。下面从旋度分析、坐标变换和定理辅助证明三个方面,展示MATLAB 工具对张量分析课程教学的辅助作用。

2 MATLAB 在“张量分析”课程中的应用

2.1 旋度分析

速度场的旋度的二分之一并不总是等于欧拉刚体运动模型所描述的欧拉矢量。下面对此加以分析和论证。

令v为一速度场,其经旋度运算后的角速度为,亦即另外假定v可以由欧拉刚体运动模型描述:其中 为欧拉矢量,为向径。令三维笛卡尔直角坐标系的单位基矢量为现证明在一般情形下

由上可知:

图1 速度场和旋度场。基于常欧拉矢量导出的速度场,其经旋度运算后得到的旋度场(图1a底图);一般速度场经旋度运算后得到的旋度场(图1b 底图)。白色粗箭头表示实际速度场,黑色细箭头表示基于旋度场的模拟速度场。

当欧拉矢量是常矢量时,基于欧拉矢量生成的实际速度场,同经过该速度场导出的旋度场所模拟出的速度场完全重合(图1a),这说明此时作用于原始速度场的旋度运算得到的旋度,就等于常欧拉矢量。然而,当欧拉矢量既不是常矢量,也非具有特别的函数形式时,并不能保证式(1)右端第1 项始终为零,也就不能保证实际速度场和经旋度导出的速度场完全重合(图1b)。

2.2 坐标变换

张量的坐标定义为:新老坐标系中按坐标转换关系变化的有序数的集合[2]。这些有序数即为坐标分量。当老坐标系的基矢量变换到新坐标系的基矢量时,对应的老坐标系中的坐标分量也要变换到新坐标系中的坐标分量。换言之,尽管坐标分量随着坐标系的基矢量的变化而变化,但是基矢量的并矢的线性组合(组合系数为坐标分量)构成的张量实体不随基矢量的变化而变化(张量的实体定义),此为张量的内秉性。下面以平面坐标系的坐标轴的旋转为例,说明当坐标轴的基矢量发生变化时,坐标分量随之变化,但矢量实体却不发生变化。

运行程序basis_transformation.m[6]绘制图2。该图表明:尽管坐标轴连续发生旋转,但不影响图形的原初位置和几何形状。这是因为图形在空间所占据的位置不依赖于选定的坐标系,坐标系只是为了研究的方便附加上去的,就如同张量实体并不依赖于坐标系,只是为了研究的方便而选定了坐标系,之后才将张量表达为具体坐标系中的分量形式。不过,当将逆时针旋转得到的新坐标系的轴沿顺时针置于水平位置时,该坐标系的图形从视觉上看,则相应地也发生顺时针旋转,但就实质而言,若新坐标系的轴不置于水平位置,则图形在实际空间中并不发生移动。因此,当坐标轴发生旋转时,坐标系的基矢量发生变化,坐标分量也随之变化,但由基矢量和坐标分量所组成的矢量实体并不随坐标系的变化而变化。

图2 图形随平面坐标系的坐标轴的旋转。坐标轴沿逆时针方向依次旋转0°(图2a)、90°(图2b)、180°(图2c)、270°(图2d)。各子图中x和y轴代表旋转后的坐标轴位置。

2.3 定理辅助证明

对如下定理的证明,可以先进行张量运算,再利用MATLAB 的符号运算功能进行等式验证。

定理[2]:三维空间中任意二阶张量T 将任意矢量组u、v、w 映射为另一组矢量,满足:。

证明:

运行程序second_order_tensor_mapping.m 可验证得证。

3 结语

为了帮助学生更好地学习“张量分析”课程,教师可以借助MATLAB 工具将抽象的概念直观化,将复杂的计算、推理和证明交由计算机处理。本文从旋度分析、坐标变换和定理辅助证明这三个方面,展示了MATLAB 工具应用于该课程学习的强大功能。学生通过公式推导和编程实现,将深化对所学知识的认识和理解。学生通过“张量分析”课程学习,领悟了对基矢量和对偶基矢量进行运算操作的精神实质后,就能利用MATLAB 的张量工具箱或Py-Torch 开源深度学习库,自由地实现张量的运算和操作。