当前位置: 首页 > news >正文

线代的几何意义(2)——矩阵乘法,三维及更高维的解释,与非方阵的几何解释

上一篇文章 讲解了矩阵的几何意义是线性变换。那么今天的文章将会在此基础上进一步拓展,探明矩阵乘法与行列式的直观几何解释。

矩阵乘法

首先,先来回顾一下矩阵乘法的几何解释:一个矩阵是一个线性变换,也就是对坐标系的压缩拉伸等操作,换言之是对基底的变换。

有矩阵 A A A,一个向量在最开始的基底上坐标为 ( 1 , 2 ) (1,2) (1,2)的向量 p p p。那么在变换后的坐标系里,向量相对于最开始的基底的坐标将变为 A p Ap Ap

那么,拓展这个过程,我们可以想到,能够再对变换后的坐标系再进行一次线性变换 B B B,那么进行第二次变换后的向量相对于最开始的基底的坐标将变为 B A p BAp BAp。可以明白,对坐标系进行多次的线性变换,就是矩阵乘法的几何解释。

三维及更非方阵的解释

我们之前都在讨论二维的情况。实际上,线性变换这种几何解释对三维和更高维同样适用(不过似乎我们好像也只能想象到三维)。

由于三维的图绘制需要更多的专业知识,想看直观的动画的读者可以去看3Blue1Brown的视频,这里就只做文字描述。


三维方阵

同二维矩阵的思考逻辑,三维矩阵其实就是对三维空间的线性变换,换言之是对三维空间的拉伸,压缩等变换。

我们可以通过追踪其基底来了解某种变换。如下是单位矩阵,换言之就是单位正交基底,第一,二,三列分别表示 x , y , z x,y,z x,y,z轴上的单位基底。

[ 1 0 0 0 1 0 0 0 1 ] \left[ \begin{matrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{matrix} \right] 100010001

而如下的矩阵则表示一种线性变换,其变换的结果是将基底变成了如下样子:

[ − 1 0 0 0 − 1 0 0 0 2 ] \left[ \begin{matrix} -1 & 0 & 0\\ 0 & -1 & 0\\ 0 & 0 & 2 \end{matrix} \right] 100010002

这个线性变换的结果其实非常清晰,简言之就是让 x y xy xy平面上的向量相对与原点做一次中心对称操作,再将 z z z轴上的向量拉伸两倍。

同理,更高维的矩阵同样也有这些性质,只是更高维的几何解释我们无法想象或者说难以直接观察,这里就不再谈及了。


非方阵

根据我们前面对矩阵的列是由变换后坐标系的基底构成这一解释,可以想到,非方阵其实也可以视为线性变换,只是可能涉及到维度的压缩与拓展而已。

如下,这是一个 2 × 3 2\times 3 2×3的矩阵:

[ 1 0 2 − 3 1 2 ] \left[ \begin{matrix} 1 & 0 & 2\\ -3 & 1 & 2 \end{matrix} \right] [130122]

根据前面的分析,这个矩阵有两行,代表变换后得到的是一个二维空间。但是有三列,则表示变换后的空间由三组基底构成。如果考虑这是对二维空间的单位正交基底进行的线性变换,则有一个向量冗余,没有对空间产生贡献。这是因为在前两个基底线性不相关的情况下,第三个必定能由前两个基底的线性组合表示出来。

那么,我们在来看看下面这个 3 × 2 3\times 2 3×2的矩阵:

[ 1 0 − 3 1 3 1 ] \left[ \begin{matrix} 1 & 0 \\ -3 & 1 \\ 3 & 1 \end{matrix} \right] 133011

左边一列表示变换后的 i i i 基底,右边一列表示变换后的 j j j 基底。这个矩阵表示的是一种将二维的空间映射如三维空间的变换,由于只有两个基底,变换后的三维空间是不确定的。


http://www.mrgr.cn/news/66784.html

相关文章:

  • vue前端面试题及答案2024
  • 从0开始学PHP面向对象内容之(类,对象,构造/析构函数)
  • 人工智能技术:未来生活的“魔法师”
  • Memento 备忘录模式
  • SRS:构建实时免费视频服务器的全方位指南
  • Java 实现接口幂等的九种方法:确保系统稳定性与数据一致性
  • FLINK单机版安装部署入门-1
  • 双十一买啥最划算?盘点2024年双十一必买好物!超全选购指南
  • 数据治理项目怎么做,3种推进思路可参考
  • 有哪些“极简风”页面设计的办公协同工具?再不怕眼花缭乱啦!
  • 同是正式编铁饭碗,央国企薪资待遇哪家高?
  • ChatGPT Search:AI 搜索离「谷歌杀手」还有多远?
  • 架构师之路-学渣到学霸历程-44
  • 快乐数算法
  • VC++获取指定进程的路径-支持32位和64位
  • 解决Android Studio 控制台中文乱码
  • R语言生物群落(生态)数据统计分析与绘图丨tidyverse数据清洗、多元统计分析、随机森林、回归及混合效应模型、结构方程模型等
  • 饱和限幅器MATLAB和CODESYS平台下的实现
  • Node.js简介以及安装部署 (基础介绍 一)
  • 【硬件相关】网络配置说明(IPv4 vs IPv6)
  • 自动数据分析实操代码(免费领取)
  • 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
  • TextIn ParseX文档解析SDK工具新增Java版本
  • 【最新资讯】乘云数字 荣获中国信通院“稳定性保障实验室理事单位证书”!
  • (C++回溯算法)微信小程序“开局托儿所”游戏
  • mysql 安装 windows