【矩阵的乘积/复合变换】- 图解线性代数 05
矩阵向量的乘积可以理解为将一个特定的线性变换作用在向量上, 本次我们先看几个特殊的矩阵下的变换以及矩阵矩阵的乘积.
▌零矩阵
即所有元素都是 0 的矩阵, 记为 O . 可以用下标来表示矩阵的大小:
<img src="https://pic2.zhimg.com/v2-ff5b45295e168e7baf56be402913a7c1_b.png" data-rawwidth="522" data-rawheight="123" class="origin_image zh-lightbox-thumb" width="522" data-original="https://pic2.zhimg.com/v2-ff5b45295e168e7baf56be402913a7c1_r.jpg"/>
零矩阵表示的变换是将空间压缩到原点, 可以观察在 2 阶零矩阵的作用下, 空间被压缩到原点的变化过程, 注意行列式的值最后为 0:
<img src="https://pic4.zhimg.com/v2-c4cd00614c40e822c634a40251ab832b_b.gif" data-rawwidth="419" data-rawheight="473" data-thumbnail="https://pic4.zhimg.com/v2-c4cd00614c40e822c634a40251ab832b_b.jpg" class="content_image" width="419"/>
▌单位矩阵
是对角元素为 1, 其余都是 0 , 记为 I.
<img src="https://pic3.zhimg.com/v2-d67266cad19f1010550e17e45d998c0a_b.png" data-rawwidth="215" data-rawheight="140" class="content_image" width="215"/>
单位矩阵对空间什么都不改变, 保持基向量不变, 也被称为"恒等变换", 可以看下面对应的空间变化过程(尽管没有改变):
<img src="https://pic3.zhimg.com/v2-71ea5eaf1e2291cefc995cfe7e3e00f2_b.gif" data-rawwidth="377" data-rawheight="473" data-thumbnail="https://pic3.zhimg.com/v2-71ea5eaf1e2291cefc995cfe7e3e00f2_b.jpg" class="content_image" width="377"/>
▌对角矩阵
除了对角元之外所有元素均为 0 的矩阵称之为对角矩阵.
<img src="https://pic1.zhimg.com/v2-99a9f4de1c354ef7ab953cbc871d9f08_b.png" data-rawwidth="612" data-rawheight="127" class="origin_image zh-lightbox-thumb" width="612" data-original="https://pic1.zhimg.com/v2-99a9f4de1c354ef7ab953cbc871d9f08_r.jpg"/>
角矩阵表示的沿着坐标轴伸缩变换, 其中对角元素就是各轴伸缩的倍率, 并且下例矩阵 A 的对角元素中含有 2 个负数, 可以看做经过了 2 次镜像翻转, x,y 两个方向先是压缩, 然后再被拉伸, 面积扩大为原来的 6 倍, 这样行列式的值为 6.
<img src="https://pic4.zhimg.com/v2-8ac8c2110e90446b6c3dacc98d09cefb_b.gif" data-rawwidth="377" data-rawheight="473" data-thumbnail="https://pic4.zhimg.com/v2-8ac8c2110e90446b6c3dacc98d09cefb_b.jpg" class="content_image" width="377"/>
▌矩阵的乘积
上面都是进行一次变换的操作, 如果想要再进行一次(甚至更多)变换, 就要矩阵和矩阵相乘了. 譬如下面矩阵 A 相当于将空间旋转, 矩阵 B 是横向拉伸.
如果是 BA 两个矩阵相乘的运算, 就相当于先旋转再拉伸, 这样的复合变换运算顺序是从右往左进行, 可以观察下面的动画:
<img src="https://pic1.zhimg.com/v2-b7fb34eb3b420bc15b1d3eab5a7e72c0_b.gif" data-rawwidth="404" data-rawheight="473" data-thumbnail="https://pic1.zhimg.com/v2-b7fb34eb3b420bc15b1d3eab5a7e72c0_b.jpg" class="content_image" width="404"/>
如果是 AB 两个矩阵相乘的运算, 就相当于先拉伸后旋转, 运算顺序是从右往左, 可以观察下面的动画:
<img src="https://pic4.zhimg.com/v2-12cd7cb109ca4cc54e31e09c4316014b_b.gif" data-rawwidth="404" data-rawheight="473" data-thumbnail="https://pic4.zhimg.com/v2-12cd7cb109ca4cc54e31e09c4316014b_b.jpg" class="content_image" width="404"/>
从上面两个变换动画, 可以得出结论矩阵的乘积不满足交换律(可以想象满足结合律):
<img src="https://pic2.zhimg.com/v2-f64549227fa289406e5b984ebb443d6d_b.png" data-rawwidth="134" data-rawheight="43" class="content_image" width="134"/>
可以计算出 BA 和 AB 的值:
<img src="https://pic3.zhimg.com/v2-2633f11fb8e4482879dfecccd874289e_b.png" data-rawwidth="492" data-rawheight="97" class="origin_image zh-lightbox-thumb" width="492" data-original="https://pic3.zhimg.com/v2-2633f11fb8e4482879dfecccd874289e_r.jpg"/>
如何计算矩阵的乘积, 除了课本上给出的方法, 还可以按照列的线性表出来进行, 以 BA 为例:
<img src="https://pic3.zhimg.com/v2-b4e5bc96f5fae05f0773316e5ccfc30e_b.png" data-rawwidth="356" data-rawheight="206" class="content_image" width="356"/>
另外, 如果两个矩阵都不是零矩阵, 但是矩阵的乘积可能会是零矩阵, 比如在下面两个矩阵:
<img src="https://pic4.zhimg.com/v2-2de88281d34fa1b13dcddfd7ab254ae3_b.png" data-rawwidth="364" data-rawheight="107" class="content_image" width="364"/>
空间中, A 做横向压缩, B 做垂直压缩, 经过 A 然后 B 的变换后, 也会映射到原点.
上面就是本次图解线性代数所回顾的知识点. 好了, 现在让我们在下一篇的中再见!
因为本人水平有限, 疏忽错误在所难免, 还请各位老师和朋友多提宝贵意见, 帮助我改进这个系列, 您的关注和转发就是鼓励我继续前行的最大动力, 感谢感谢!
相关图解线性代数文章:
https://zhuanlan.zhihu.com/p/26663064
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」