线性代数本质系列(二)矩阵乘法与复合线性变换,行列式,三维空间线性变换

本系列文章将从下面不同角度解析线性代数的本质,本文是本系列第二篇

向量究竟是什么?
向量的线性组合,基与线性相关
矩阵与线性相关
矩阵乘法与复合线性变换
三维空间中的线性变换
行列式

逆矩阵,列空间,秩与零空间
克莱姆法则
非方阵
点积与对偶性
叉积
以线性变换眼光看叉积
基变换
特征向量与特征值
抽象向量空间
快速计算二阶矩阵特征值
张量,协变与逆变和秩

文章目录

  • 矩阵乘法与复合线性变换
  • 三维空间中的线性变换
  • 行列式

矩阵乘法与复合线性变换

我们已经知道矩阵是一种线性变换,现在对基向量连续施加两种线性变换,例如,先旋转,再剪切,其实,这在整体上可以看作是一种新的变换,这个新的变换被称为前两种独立变换的“复合变换”。
在这里插入图片描述

这个复合变换的矩阵可以通过追踪基向量的坐标得到,如上图所示,变换后的 i ⃗ \vec{i} i 坐标 [ 1 1 ] \begin{bmatrix} 1\\ 1 \end{bmatrix} [11],变换后的 j ⃗ \vec{j} j 坐标 [ − 1 0 ] \begin{bmatrix} -1\\ 0 \end{bmatrix} [10],那么该复合变换矩阵就可以表示为: [ 1 − 1 1 0 ] \begin{bmatrix} 1 & -1\\ 1 & 0 \end{bmatrix} [1110],当我们求一个向量经过复合变换后的坐标时,可以通过下图右边公式那样直接使用复合变换矩阵,而不需要像下图左边那样对向量连续施加两次单独的变换。
Alt

更一般地,对于矩阵乘法,我们就有了新的认识:他的几何意义是先施加一个变换,再施加另一个变换,施加顺序从右到左,顺序不同得到的结果也不同。

在这里插入图片描述

推广到更一般地数学含义: g ( f ( x ) ) g( f( x)) g(f(x))

根据前面章节学习到的知识,要想求线性变换对向量的作用,首先要得到变换后的基向量的坐标,让我们来看一个例子,假设连续施加两个线性变换 M 1 M_{1} M1 M 2 M_{2} M2
在这里插入图片描述

要想跟踪 i ⃗ \vec{i} i 的去向,先看 M 1 M_{1} M1的第一列,这是经过 M 1 M_{1} M1变换后 i ⃗ \vec{i} i 首先到达的地方: [ e g ] \begin{bmatrix} e\\ g \end{bmatrix} [eg],然后新的 i ⃗ \vec{i} i 要经过 M 2 M_{2} M2的变换后到达最终目的地:
在这里插入图片描述

该结果作为复合矩阵的第一列, j ⃗ \vec{j} j 经过同样的变换过程到达最终目的地,结果为复合变换矩阵第二列,复合变换的最终结果为:
在这里插入图片描述

看,这不就是课堂上老师教的矩阵乘法计算规则嘛,只不过我们是从几何的角度推出来的。

大家可以从几何的角度来自行分析一下矩阵乘法的法则:

交换律: M 1 M 2 ≠ M 2 M 1 M_{1} M_{2} \neq M_{2} M_{1} M1M2=M2M1

结合率:(AB)C=A(BC)

三维空间中的线性变换

前面一直在讨论二维情况,也就是将二维向量映射成二维向量,其实,只要掌握了二维线性变换的核心本质,就能轻松的扩展到更高维的空间中。
二维线性变换

三维空间变换以三维向量为输入,以三维向量为输出,和二维向量一样,一个线性变换是在操纵三维空间中所有的点,变换后保持空间中网格线等距且原点不变。
在这里插入图片描述

与二维一样,三维线性变换也是由基向量的去向完全决定,只不过基向量由 i ⃗ \vec{i} i j ⃗ \vec{j} j 变成了 i ⃗ \vec{i} i j ⃗ \vec{j} j , k ⃗ \vec{k} k ,例如,我们得到变换后三个基向量的坐标,那么由三个新的基向量组成矩阵就是三维线性变换矩阵 [ 1 1 1 0 1 0 − 1 0 1 ] \begin{bmatrix} 1 & 1 & 1\\ 0 & 1 & 0\\ -1 & 0 & 1 \end{bmatrix} 101110101

在这里插入图片描述

要想计算一个向量经过上面的三维变换后的新坐标,同样可以参照二维空间的计算方式,结果向量是基向量的线性组合。

在这里插入图片描述
在这里插入图片描述

同理两个三维矩阵的相乘也可以合并成一个复合变换矩阵,三维变换在计算机图形学中有着广泛的应用。
在这里插入图片描述

三维矩阵的乘法同样遵循二维矩阵乘法的思路。

行列式

前面我们从几何的角度对线性变换有了很直观的认识,其中有的线性变换对空间向外拉伸,有的则是将空间向内挤压。
 向内挤压
向内挤压

  向外拉伸
向外拉伸

有一种方法对于理解这些线性变换很有用,那就是准确测量向内挤压了多少,向外拉伸了多少,更具体地讲就是计算出一个区域增大或减少的比例。

让我们来看一个例子,假设一个线性变换矩阵 [ 3 0 0 2 ] \begin{bmatrix} 3 & 0\\ 0 & 2 \end{bmatrix} [3002],变换前基向量形成的四边形面积为1。

在这里插入图片描述

变换后,如下图,基向量形成一个2*3的矩形,面积为6

在这里插入图片描述

所以我们说这个变换将基向量形成的方格拉伸了6倍,根据线性变换的性质,如下图,所有可形成的区域都被拉伸了同样的大小。

在这里插入图片描述

现在,我们要抛出一个重磅信息:这个面积的变化的比例值就是该线性变换矩阵的行列式,这就是行列式的几何意义。

在这里插入图片描述

如果行列式值大于1,则代表该线性变换矩阵将一个区域进行拉伸,大于0且小于1的数代表缩小,负数代表反方向缩放。

注意,如果一个线性变换矩阵的行列式为0,则代表该变换将一个区域压缩成了一条线或者是一个点,从几何意义上讲,也就是说该变换将空间压缩到了更小的维度上,这在我们后面判断线性方程组是否有解提供了重要依据。

在这里插入图片描述

同理,三维线性变换的行列式代表的则是体积的变换比例,如下图,一个以初始基向量形成的111的立方体经过线性变换后该体积变成了如下图的大小。
在这里插入图片描述

三维变换矩阵的行列式为0,代表空间被压缩成了一个面,或者一个点,如果行列式是负数,说明空间定向已经发生改变,不能用右手定则描述基向量之间的关系。

前面说了行列式的几何意义,那如何求一个矩阵的行列式呢?
在这里插入图片描述

上图是一个行列式的计算公式,那它的几何意义是什么呢?如下图,假设给定一个特殊矩阵 [ a 0 0 d ] \begin{bmatrix} a & 0\\ 0 & d \end{bmatrix} [a00d] i ⃗ \vec{i} i 被缩放了a倍, j ⃗ \vec{j} j 被缩放了d倍,变换前后面积缩放了ad倍,这正符合行列式计算公式的结果。

在这里插入图片描述

前面我们给出了一个特殊的例子,但推广到更一般的矩阵,也是满足上面公式的。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/141977.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海上船舶交通事故VR模拟体验低成本高效率-深圳华锐视点

在海上运输行业,安全事故的防范和应对能力是企业安全教育的重中之重。针对这一问题,海上运输事故VR模拟逃生演练成为了一种创新且高效的教育手段。通过这种演练,企业能够在提升员工安全意识和技能方面获得多方面的帮助。 在VR船舶搜救演练中&…

基于RFbeam的V-LD1-60GHz毫米波雷达传感器数据获取(通过UART串口来控制模块)

基于RFbeam的V-LD1-60GHz毫米波雷达传感器数据获取(通过UART串口来控制模块) 文章目录 V-LD1命令发送消息回复通信示例雷达数据获取宏定义通信代码运行效果附录:压缩字符串、大小端格式转换压缩字符串浮点数压缩Packed-ASCII字符串 大小端转…

【广州华锐视点】海外制片人VR虚拟情景教学带来全新的学习体验

虚拟现实(Virtual Reality,简称VR)是一种利用电脑模拟产生一个三维的虚拟世界,提供用户关于视觉、听觉、触觉等感官的模拟体验的技术。随着科技的进步,VR已经被广泛应用到许多领域,包括游戏、教育、医疗、房…

K8S容器持续Terminating无法正常关闭(sider-car容器异常,微服务容器正常)

问题 K8S上出现大量持续terminating的Pod,无法通过常规命令删除。需要编写脚本批量强制删除持续temminating的Pod:contribution-xxxxxxx。 解决 获取terminating状态的pod名称的命令: # 获取media命名空间下,名称带contributi…

通过docker-compose部署elk日志系统,并使用springboot整合

ELK是一种强大的分布式日志管理解决方案,它由三个核心组件组成: Elasticsearch:作为分布式搜索和分析引擎,Elasticsearch能够快速地存储、搜索和分析大量的日志数据,帮助用户轻松地找到所需的信息。 Logstash&#xf…

深度学习之基于Pytorch服装图像分类识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介系统组成1. 数据集准备2. 数据预处理3. 模型构建4. 模型训练5. 模型评估 PyTorch的优势 二、功能三、系统四. 总结 一项目简介 深度学习在计算机视觉领域的…

软件测试自学指南,十年阿里测试工程师的建议

通过技能提升,入行IT可以的,但得先积累足够的经验,才能拿高薪,有个成长的过程。 软件测试岗介绍 软件测试岗位主要负责系统的测试工作,属于IT项目中的质量管理(QA)模块。 这个岗位分为两种类…

Adobe研究人员研发新AI模型LRM:实现从2D样本瞬时生成3D图像

由Adobe Research和澳大利亚国立大学(ANU)联合研发的人工智能模型宣布了一项突破性的成果,能够从单一的2D图像中生成3D图像。 研究人员表示,他们的新算法在大规模图像样本上进行训练,可以在几秒钟内生成这样的3D图像。…

【LIUNX】配置缓存DNS服务

配置缓存DNS服务 A.安装bind bind-utils1.尝试修改named.conf配置文件2.测试nslookup B.修改named.conf配置文件1.配置文件2.再次测试 缓存DNS服务器:只提供域名解析结果的缓存功能,目的在于提高数据查询速度和效率,但是没有自己控制的区域地…

阿里云国际站:应用实时监控服务

文章目录 一、阿里云应用实时监控服务的概念 二、阿里云应用实时监控服务的优势 三、阿里云应用实时监控服务的功能 四、写在最后 一、阿里云应用实时监控服务的概念 应用实时监控服务 (Application Real-Time Monitoring Service) 作为一款云原生可观测产品平台&#xff…

记忆科技携手中国电信,一站式存储打造坚实数字底座

11月10日,以“数字科技 焕新启航”为主题的2023数字科技生态大会在广州盛大开幕,本次大会由中国电信、广东省人民政府联合举办,是一场数字科技领域的年度盛会。忆联母公司记忆科技作为中国电信的合作伙伴之一受邀参会,深度参与了大…

Flink SQL -- 命令行的使用

1、启动Flink SQL 首先启动Flink的集群,选择独立集群模式或者是session的模式。此处选择是时session的模式:yarn-session.sh -d 在启动Flink SQL的client: sql-client.sh 2、kafka SQL 连接器 在使用kafka作为数据源的时候需要上传jar包到…

LabVIEW中NIGPIB设备与驱动程序不相关的MAX报错

LabVIEW中NIGPIB设备与驱动程序不相关的MAX报错 当插入GPIB-USB设备时,看到了NI MAX中列出该设备,但却显示了黄色警告指示,并且指出Windows没有与您的设备相关的驱动程序。 解决方案 需要安装能兼容的NI-488.2驱动程序。 通过交叉参考以下有…

【C++初阶(八)】C/C++内存管理详解

本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…

Leetcode刷题详解——不同路径 III

1. 题目链接:980. 不同路径 III 2. 题目描述: 在二维网格 grid 上,有 4 种类型的方格: 1 表示起始方格。且只有一个起始方格。2 表示结束方格,且只有一个结束方格。0 表示我们可以走过的空方格。-1 表示我们无法跨越的…

【读点论文】结构化剪枝

结构化剪枝 在一个神经网络模型中,通常包含卷积层、汇合层、全连接层、非线形层等基本结构,通过这些基本结构的堆叠,最终形成我们所常用的深度神经网络。 早在 1998 年,LeCun 等人使用少数几个基本结构组成 5 层的 LeNet-5 网络&…

Python爬虫过程中DNS解析错误解决策略

在Python爬虫开发中,经常会遇到DNS解析错误,这是一个常见且也令人头疼的问题。DNS解析错误可能会导致爬虫失败,但幸运的是,我们可以采取一些策略来处理这些错误,确保爬虫能够正常运行。本文将介绍什么是DNS解析错误&am…

SpringBoot从零到一项目实战落地博客系统(附源码!!!)

1.项目内容 1.1.页面展示 1.2.博客分类 1.3.面试辅导 1.4.私教带徒 1.5.文章编辑 1.6.后台管理 2.项目架构及技术描述 2.1.本项目用到的技术和框架 项目构建:Mavenweb框架:Springboot数据库ORM:Mybatis数据库连接池: HikariCP分…

[Android]修改应用包名、名称、版本号、Icon以及环境判断和打包

1.修改包名 在Android Studio中更改项目的包名涉及几个步骤: 打开项目结构: 在Android Studio中,确保您处于Android视图模式(在左侧面板顶部有一个下拉菜单可以选择)。 重命名包名: 在项目视图中,找到您的包名&…