cambaluc的个人博客分享 http://blog.sciencenet.cn/u/cambaluc

博文

线性代数(2)_讲“矩阵乘法”

已有 5194 次阅读 2020-3-17 23:08 |个人分类:数学|系统分类:教学心得| 线性代数, 矩阵乘法, C语言, python

矩阵的乘法,是线性代数课中重要的内容,在熟练掌握其计算方法的基础上,还要明白其意义。

1、关于计算方法,一般教材上说的很清楚了,这里我画了一幅图,好象是在一本研究地震动的书上看到,称作“福尔克图”,很容易让初学者记忆和掌握矩阵乘法运算。矩阵ABC,如图把B放在A的右上方,这样即能判断AB能否相乘,也容易写出C的各元素,因先给学生简单讲了向量内积,所以Cij列的元素,就是Ai行向量和Bj列向量的内积。

image.png

对于学过C语言的学生,也可介绍矩阵乘法的程序,这是巩固C语言中循环语句和数组的最好的示例了。

image.png

   MatlabPythonnumpyscipy中也提供了很方便的矩阵乘法运算方式。

import numpy as np

from numpy import matrix as M

mx1=np.matrix(((1,2,3),(4,5,6),(7,8,9)))

mx2=np.matrix('1,4,5;3,2,1;2,2,1')

print(mx1@mx2)

print(mx1*mx2)

E=M('1,2,3;4,5,6;7,8,9')

print(E@mx2)

编写并行计算,最好也从练习矩阵乘法开始。如下的连接提供了用Fortran+MPI进行并行计算的示例。

http://blog.sciencenet.cn/blog-797552-681003.html                      

矩阵的乘法,本质上代表线性变换,所以实际应用很广泛。

2、矩阵乘一向量,可以从多个角度来理解和看待,这正体现了数学的抽象中的简捷和直观。 简述如下:

(1)、下图有两种解释,一是把红色的向量变换为绿色的向量,二是把空间进行了变换,绿色的以单位正交基下的空间变成了蓝色的空间,向量在各自空间中的坐标没变。


image.png

(2)、下图,A的两个向量,数乘x1x2,再相加,线性组合成另一向量。

image.png

(3)、对于线性方程组也可如下图理解,求直线交点,或求平面、超平面的交点。

image.png

image.png


3、矩阵乘矩阵,意义也很多,如可理解为两个线性变换的乘,或对一组向量(或点集)所组成的矩阵进行变换,如下是对几个点组成的图形,乘不同的矩阵实现变换。

1)乘对角阵[2,0; 0,3],进行伸缩。

image.png

(2)2阶方阵[1.5,0.5; 0.6, 2],伸缩和剪切。

image.png

 (3)下图[cosθ,-sinθ;sinθ,cosθ],θ=3.14159/6,实现了旋转。

(4)下图右上角的平移,是把点坐标,扩展为[x,y,1]’,用3阶矩阵[1,0,3; 0,1,2; 0,0,1]乘实现的。

image.png

(5)信号处理,如下图的信号,可以构造一个三对角方阵,对角线元素为1/3,对信号向量实现平滑,即蓝色的信号变为红色的。

image.png

(6)在实际应用中,还可以构造各种矩阵对所处理的对象进行变换,如有个例题如下:

image.png

书上也没说有啥意义,其实由向量X 构造的矩阵H是个反射阵,很有用的。

  矩阵乘法是最基础的运算,掌握好才能更好地理解涉及矩阵运算、线性变换、矩阵分解等。

 




https://blog.sciencenet.cn/blog-797552-1224029.html

上一篇:线性代数(1)_这样开始讲“行列式”
下一篇:线性代数(3)_讲初等行变换_化行最简形的算法
收藏 IP: 61.148.243.*| 热度|

3 舒红 朱晓刚 刘炜

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-25 18:35

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部