1. 引言
从历史的角度来看,矩阵乘法的起源可以追溯到中国古代的数学著作《九章算术》,说明中国古代数学家的智慧和对世界数学发展的贡献。在近现代,英国数学家西尔维斯特(James Joseph Sylvester)于1850年提出了矩阵概念;紧接着,英国数学家凯莱(Arthur Cayley)于1858年提出矩阵的现代定义,并提出了零矩阵、单位阵等特殊矩阵的定义,更重要的是还给出了矩阵相乘、矩阵可逆等概念;后来,德国数学家弗罗伯纽斯(Ferdinand Georg Frobenius)于1878年给出了行列式因子、不变因子和初等因子等概念,以及正交矩阵和矩阵秩等概念;在19世纪,英国数学家史密斯(Henry John Stanley Smith)和道奇森(Charles Lutwidge Dodgson)继续研究线性方程组理论,前者引进了方程组的增广矩阵和非增广矩阵的概念,后者证明了方程组相容的充要条件是系数矩阵和增广矩阵的秩相同,这正是现代方程组理论中的重要结果之一。这些科学探索的重要成果,展现了数学家们追求真理、勇于创新的精神。
矩阵乘法作为线性代数中的一个基本运算,在许多数学和科学领域都有着广泛的应用。在图像处理中,通过将图像表示为矩阵,并使用卷积核(一个小的矩阵)与图像矩阵进行乘法运算,可以实现模糊效果,模糊处理可以减少图像噪声,使图像更平滑;在机器学习中,每个神经元的输出可以通过输入数据矩阵和权重矩阵的乘积计算得出,这个过程贯穿整个网络的前向传播过程,可以进行复杂的分类和预测;在生物医学中,应用相关的线性代数技术,如奇异值分解,分析基因表达数据以识别关键基因或基因组模式,有助于理解疾病机制,并发现潜在的治疗靶点;在航空航天中,旋转矩阵和飞行器姿态矩阵的乘法,可以计算出飞行器在不同坐标系中的位置和方向,精确的姿态控制是飞行器稳定运行的关键,确保飞行器按照预定路径飞行。这体现了理论知识与实践应用相结合的思政元素,通过学习矩阵乘法,学生可以更好地理解理论知识在实际问题中的应用,从而增强其实践能力和解决问题的能力。
在数值并行算法课程中融入课程思政,不仅是教育理念的深化,也是培养学生全面素质的重要举措;是实现素质教育、培养高素质人才的重要途径,这种结合不仅有助于学生掌握专业知识,提升专业能力,更重要的是强化学生的社会责任感、价值观和团队合作精神。融入课程思政后,数值并行算法课程的教学不再是单向的知识传递,而是师生之间的互动、讨论与思维碰撞。通过不同的视角和背景,学生能够更加全面地理解所学内容,也能有效提升课堂参与感,营造一个积极向上的学习氛围。
2. 课程思政教学设计
给定n阶矩阵A与n向量x,要求设计A与x乘积的并行算法。在教材《数值并行算法与软件》第4.1节中[1],介绍了稠密矩阵向量乘并行计算。本节将从实施方式、效果评价和影响因素等方面,采用案例教学法[2]-[5],对融入思政元素的矩阵向量乘算法教学实践进行研究。
第一步:背景介绍。1969年,德国数学家施特拉森(Volker Strassen)提出的斯特拉森算法[6],使得两个n阶矩阵相乘的计算量为
,其中
。数学家和计算机科学家开始探索如何降低指数
,来自麻省理工学院的威廉姆斯(Virginia Vassilevska Williams)副教授和哈佛大学的阿尔曼(Josh Alman)博士后研究员于2020年10月在这方面取得了最新进展,证明
可降低到2.37286 [7];2024年1月,威廉姆斯及其合作者继续改进算法,进一步提高了指数的上限,使
降低到2.371552 [8]。其中的一个作者周任飞指出,“改进
实际上是理解这个问题的一部分,如果我们能很好地理解这个问题,就能设计出更好的算法。不过,人们对这个古老问题的理解还处于非常初级的阶段”。
思政元素:这体现了科学技术持续进步和发展的趋势,这种持续进步的精神激励着学生在学习和工作中不断追求卓越,努力提升自己的能力和水平。
第二步:数据存储。以4个进程为例说明,首先按照矩阵和向量的划分,对各数据进行存储。
进程编号 |
存储内容 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
第二步:提出问题。根据块矩阵向量的乘法准则,可得
,其中
。会发现,在进程
中,计算
缺少数据
,
,
;在进程
中,计算
缺少数据
,
,
;…,以此类推,那么缺少的x的其它行块该如何处理?
第三步:组织讨论。以小组活动或实践任务的形式组织学生参与讨论,与学生共同探讨和解决问题。利用数据轮换技术,依次改变
,
,
,
的存储位置,可执行子矩阵与子向量之间的乘法,具体流程如下所示。
进程编号 |
存储内容 |
计算 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
进程编号 |
存储内容 |
计算 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
进程编号 |
存储内容 |
计算 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
进程编号 |
存储内容 |
计算 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
思政元素:数据轮换技术是一种在数据处理和存储中常用的技术,它通过定期更新或替换数据来确保数据的及时性和准确性。在这一技术背后,蕴含着多个思政元素,这些元素反映了社会主义核心价值观和国家现代化治理理念。例如,创新是推动科技进步和社会发展的重要动力,数据轮换技术要求不断更新和优化数据处理方法,这与创新精神相契合;在国家治理中,深化改革意味着不断优化政策和措施,以适应社会发展和人民需求的变化,数据轮换技术的应用需要不断评估和改进,与持续改进的精神一致。
第四步:教学延拓。若被乘矩阵具有特殊结构,是否可利用矩阵的性质,包括稀疏结构、分层结构、三角矩阵、带状矩阵等,设计矩阵向量乘法的并行算法。
思政元素:探讨并行计算对于传统算法的改进、对行业标准的影响等,引导学生进行批判性思考和创新探索,这样的讨论能够激发学生的创新意识,鼓励学生提出新的解决方案或改进思路,培养学生在未来科研和技术创新中的领导能力。
第五步:教学反思。本次课程采用案例教学法,通过分析真实的案例,学生能够更好地将理论知识应用于实际情况,增强解决实际问题的能力;同时,还提高了学生分析问题的能力,案例教学法鼓励学生从多个角度分析问题,培养其批判性思维;加强了理论与实践的结合,案例教学将抽象的理论与实际的业务或社会情境结合起来,学生能够更好地理解理论的实际应用;此外,鼓励了多样化思维,学生在讨论案例时,常常会提出不同的解决方案和观点,这有助于培养学生多样化的解决问题的能力。
思政元素:矩阵向量乘有着悠久的发展历程,吸引着大量学者投入研究,历久弥新,其中也蕴含着丰富的思政元素。例如,在现代教育中,矩阵乘法是理工科学生必须掌握的数学工具,在计算机科学、经济学、人工智能等领域有着广泛的应用,通过讨论矩阵乘法在现代科技中的实际案例,激发学生的专业兴趣和创新精神,同时培养学生为国家发展和社会进步做出贡献的意识。
3. 教学延拓
延拓式教学是一种强调联系和应用的教学方法,具有促进深度理解、培养批判性思维、加强问题解决能力、提高学习兴趣、促进合作学习、适应不同学习风格、增强迁移能力等优点,可以帮助学生在理论与实践中找到平衡,提升综合素养。本节将以多层半可分(Hierarchically Semi-Separable, HSS)结构矩阵与向量乘的并行算法[9]-[11]为例,通过实际应用和问题解决,促使学生进行深度学习,帮助学生真正理解矩阵与向量乘并行算法的内涵。
第一步:案例准备。HSS结构矩阵是一类特殊的矩阵结构,主要用于高维问题的数值计算和线性代数中的高效求解,其可以有效地表示和处理大规模稀疏矩阵,特别是在涉及到高维积分、偏微分方程、数值优化等领域。
第二步:课前分配。演示矩阵A的逐层分割过程,将其分割成
的形式
。
第三步:课堂导入。利用矩阵A的HSS表示
执行
。
对于HSS树的每一个节点
,都引入一个相应的中间变量
。如果
是叶节点,则令
;否则,设其子节点为
,
,记
。结合上面两式,进一步可得,
。
思政元素:结构树是一种常用的数据组织和表示方式,可以用于表示层级关系和包含关系,结构树的层级关系使得不同层级的责任和权利得以清晰划分,这与中国特色社会主义制度的层级管理以及问责制的理念相一致,有助于提高治理效率和责任意识;结构树强调各部分之间的联系和相互作用,体现了系统思维和整体观念,与辩证唯物主义的思想相符,强调事物的发展变化是由内外部因素共同决定。
第四步:案例分析。显然上式有一个递归关系,即对于HSS树的每一个节点
都再引入另一个中间变量
。令
,若节点
不是叶节点,其相应的子节点为
,
,定义如下递归关系式
,
由顶往下逐层遍历HSS树,计算得到与所有非叶节点相应的中间变量z,进而可得,若
是一个叶节点,则有
。计算HSS矩阵–向量乘需要遍历HSS树两次。第一次是由底向上逐层遍历,以计算中间变量y;第二次是由顶往下逐层遍历,以计算中间变量z。由于HSS树的同一层的不同节点的计算是相互独立的,因此HSS树的同一层的不同节点之间可以实现并行计算。
第五步:小组讨论。尽管一个
矩阵A与p个
列向量
相乘的计算量与矩阵–矩阵乘
的计算量相同。但在实际程序运行中,直接执行矩–阵矩阵乘要比分解计算p个矩阵向量乘速度要快很多。比如,可以利用Intel MKL中的程序DGEMM来计算矩阵乘,进而实现BLAS操作的并行计算。
第六步:教师点评。学生在讨论总结案例时,常常会提出不同的解决方案和观点,这有助于培养创新思维和多样化的解决问题的方法。例如,有的学生提出,“对于其它结构矩阵,如三对角矩阵、带状矩阵、Toeplitz矩阵、循环矩阵等,是否也可以设计出相应的快速并行算法”。
第七步:反思总结。本次教学主要介绍了矩阵向量乘的相关算法,首先给出了利用数据轮换技术得到的矩阵向量乘的并行算法,然后给出了利用矩阵特殊结构的HSS算法。本次教学采用案例教学法,按照案例准备、课前分配、课堂导入、案例分析、小组讨论、教师点评、反思总结等基本步骤展开教学,强调学生的主动参与和批判性思维的锻炼,教师的角色更多是引导者和促进者。通过这次教学活动,学生能够在分析和解决问题的过程中,加深对理论知识的理解和应用。
思政元素:理论创新无止境,理论学习需要持之以恒、久久为功。从最初矩阵乘法的定义,到后来的斯特拉森算法,以及现在的HSS算法、快速傅里叶变换(Fast Fourier Transform, FFT) [6] [12]等,每一次理论创新都对学术界以及社会实践产生了深远影响。理论强才能方向明、人心齐、底气足。在新时代波澜壮阔的历史进程中,建立健全以学铸魂、以学增智、以学正风、以学促干的长效机制就必须将理论学习不断往深里走、往实里走、往心里走。也激励着学生在今后的学习和工作中,要不断追求卓越,努力提升自己的能力和水平。
4. 小结
随着新时代教育理念的深入推进,将思政教育融入数学教学已成为一项重要的教学改革方向。本研究旨在探讨在矩阵向量乘算法的教学实践中,有效融合思政元素,以提升学生的数学素养和思政素养。通过设计以实际应用为背景的课堂教学案例,如利用数据轮换技术和矩阵分层结构,采用案例教学法、情境教学、合作学习和讨论引导等多种教学策略,展示了如何将思政元素自然融入专业课程,以促进学生的全面发展。课堂反馈结果表明,通过对矩阵向量乘的两个案例的深入剖析,学生在学习算法的同时,理解了其中蕴含的思想政治教育意义,思政素养显著提升,学习积极性和主动性得到增强,建议进一步探索思政教育与其他教学内容的结合,以实现更为全面的教育目标。
基金项目
中南民族大学校级教研项目“《并行计算》课程教学案例库的建设路径与实践”(项目编号:JYX23017)。