MIT线性代数笔记-第31讲-线性变换及对应矩阵

目录

  • 31.线性变换及对应矩阵
    • 打赏

31.线性变换及对应矩阵

线性变换相当于是矩阵的抽象表示,每个线性变换都对应着一个矩阵

例: 考虑一个变换 T T T,使得平面上的一个向量投影为平面上的另一个向量,即 T : R 2 → R 2 T:R^2 \to R^2 T:R2R2,如图:
在这里插入图片描述

​   图中有两个任意向量 v ⃗ , w ⃗ \vec{v} , \vec{w} v ,w 和一条直线,作 v ⃗ , w ⃗ \vec{v} , \vec{w} v ,w 在直线上的投影,分别记作 T ( v ⃗ ) , T ( w ⃗ ) T(\vec{v}) , T(\vec{w}) T(v ),T(w ),可以将 T T T视为一个函数或一 个映射,即输入一个向量,输出一个新向量,这就是一个变换

​   想让这种变换成为线性变换,需要满足两个式子: { T ( v ⃗ + w ⃗ ) = T ( v ⃗ + w ⃗ ) T ( c v ⃗ ) = c T ( v ⃗ ) \left \{ \begin{matrix} T(\vec{v} + \vec{w}) = T(\vec{v} + \vec{w}) \\ T(c \vec{v}) = c T(\vec{v}) \end{matrix} \right. {T(v +w )=T(v +w )T(cv )=cT(v ),即满足加法不变性和数乘不变性

​   这两个式子也可以结合为 T ( c v ⃗ + d w ⃗ ) = c T ( v ⃗ ) + d T ( w ⃗ ) T(c \vec{v} + d \vec{w}) = c T(\vec{v}) + d T(\vec{w}) T(cv +dw )=cT(v )+dT(w )

​   可以验证,此处的投影变换是一种线性变换

判断某个变换是否为线性变换并不困难,只需要判断是否满足加法不变性和数乘不变性即可

反例1: 平移整个平面,即平面中的每个向量 v ⃗ \vec{v} v 都加上一个固定的 v ⃗ 0 \vec{v}_0 v 0,设这个简单的变换为 T 0 T_0 T0,它并不是线性变换,比如考虑数乘, T 0 ( 2 v ⃗ ) = 2 v ⃗ + v ⃗ 0 ≠ 2 T 0 ( v ⃗ ) = 2 ( v ⃗ + v ⃗ 0 ) T_0(2 \vec{v}) = 2 \vec{v} + \vec{v}_0 \ne 2 T_0(\vec{v}) = 2(\vec{v} + \vec{v}_0) T0(2v )=2v +v 0=2T0(v )=2(v +v 0),不满足数乘不变性

​     还可以考虑对 0 ⃗ \vec{0} 0 的变换,如果是线性变换则需满足 T 0 ( 0 ⃗ ) = 0 ⃗ T_0(\vec{0}) = \vec{0} T0(0 )=0 ,因为对于任意变换 T T T,在数乘不变性的式子中取 v ⃗ = 0 ⃗ \vec{v} = \vec{0} v =0 c c c取任意非零数,则有 T ( c 0 ⃗ ) = T ( 0 ⃗ ) = c T ( 0 ⃗ ) T(c \vec{0}) = T(\vec{0}) = cT(\vec{0}) T(c0 )=T(0 )=cT(0 ),从而得到 T ( 0 ⃗ ) = 0 ⃗ T(\vec{0}) = \vec{0} T(0 )=0 ,而此处 T 0 ( 0 ⃗ ) = v ⃗ 0 ≠ 0 ⃗ T_0(\vec{0}) = \vec{v}_0 \ne \vec{0} T0(0 )=v 0=0 ,所以不是线性变换

反例2: 求模长,求出一个三维向量的模长,即把一个三维空间内的向量映射到一个一维空间中(或者说是一个实数),也就是 T : R 3 → R 1 T:R^3 \to R^1 T:R3R1,即 T ( v ⃗ ) = ∣ v ⃗ ∣ T(\vec{v}) = |\vec{v}| T(v )=v ,这满足 T ( 0 ⃗ ) = 0 ⃗ T(\vec{0}) = \vec{0} T(0 )=0 ,但是对于数乘不变性来说,当 c < 0 c < 0 c<0 v ⃗ ≠ 0 ⃗ \vec{v} \ne \vec{0} v =0 时, c ∣ v ⃗ ∣ c|\vec{v}| cv = − ∣ c v ⃗ ∣ = -|c\vec{v}| =cv ,所以这不是一个线性变换

正例1: 将一个二维向量逆时针旋转 4 5 ∘ 45^\circ 45,容易发现这满足数乘不变性,想象任意一个图形,把它旋转 4 5 ∘ 45^\circ 45相当于图形上的 所有点都旋转了 4 5 ∘ 45^\circ 45,所以这个变换也满足加法不变性

正例2: 左乘一个矩阵 A A A,即 T ( v ⃗ ) = A v ⃗ T(\vec{v}) = A \vec{v} T(v )=Av ,容易证明 { A ( v ⃗ + w ⃗ ) = A v ⃗ + A w ⃗ A ( c v ⃗ ) = c A v ⃗ \left \{ \begin{matrix} A(\vec{v} + \vec{w}) = A \vec{v} + A \vec{w} \\ A(c \vec{v}) = c A \vec{v} \end{matrix} \right. {A(v +w )=Av +Aw A(cv )=cAv ,所以 A A A相当于把空间中的所有向量都进行了一个变换,也就是把这个空间进行了一次变换,当 A A A为投影矩阵时,变换就是投影,当 A A A为旋转矩阵时,变换就是旋转

​     如 A = [ 1 0 0 − 1 ] A = \begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix} A=[1001],用它乘上一个二维向量,它可以让这个向量 x x x方向上的分量不变, y y y方向上的分量变为相反数

对于任意一个线性变换 T T T,找到它对应的矩阵 A A A,对于一个确定的向量 v ⃗ 1 \vec{v}_1 v 1 ,有 T ( v ⃗ 1 ) = A v ⃗ 1 T(\vec{v}_1) = A \vec{v}_1 T(v 1)=Av 1,由结果可以看到这个变换对 v ⃗ 1 \vec{v}_1 v 1的影响,再引入一个与 v ⃗ 1 \vec{v}_1 v 1线性无关的向量 v ⃗ 2 \vec{v}_2 v 2,同样可以看到该变换对 v ⃗ 2 \vec{v}_2 v 2的影响,由于二者线性无关,所以总结两个影响就可得到该变换对二者线性组合后得到的所有向量的影响,即对以二者为基的空间的影响

所以想要知道一个变换对某个空间的影响,需要知道该变换对该空间的一组基的影响,即输入一组基就可以知道该变换对输入空间的影响

表示为代数可以这么理解:设空间中的某一向量 v ⃗ = c 1 v ⃗ 1 + ⋯ + c n v ⃗ n \vec{v} = c_1 \vec{v}_1 + \cdots + c_n \vec{v}_n v =c1v 1++cnv n,则有 T ( v ⃗ ) = c 1 T ( v ⃗ 1 ) + ⋯ + c n T ( v ⃗ n ) T(\vec{v}) = c_1 T(\vec{v}_1) + \cdots + c_n T(\vec{v}_n) T(v )=c1T(v 1)++cnT(v n)

想要找到一个线性变换对应的矩阵首先可以得到这个矩阵的行数和列数,当 T : R n → R m T:R^n \to R^m T:RnRm时,矩阵为 m m m n n n

坐标系建立在基的基础之上,一旦确定了一组基,坐标值也就随之确定,因为空间中的任意向量都可以表示为基中元素的线性组合,而坐标值就是基中元素前的系数 c 1 , c 2 , ⋯ , c n c_1 , c_2 , \cdots , c_n c1,c2,,cn,不过一般情况下我们使用的是由单位矩阵各列组成的基,所以对于坐标的理解会稍有不同

由上面的描述可知表示向量一定需要用到基,所以想要找到一个线性变换对应的矩阵需要确定两组基,比如对于变换 T : R n → R m T:R^n \to R^m T:RnRm,需要确定 R n R^n Rn的一组基 v ⃗ 1 , v ⃗ 2 , ⋯ , v ⃗ n \vec{v}_1 , \vec{v}_2 , \cdots , \vec{v}_n v 1,v 2,,v n R m R^m Rm的一组基 w ⃗ 1 , w ⃗ 2 , ⋯ , w ⃗ m \vec{w}_1 , \vec{w}_2 , \cdots , \vec{w}_m w 1,w 2,,w m,它们也分别是输入空间和输出空间的基,这样,一个以第一个基为坐标系的向量进行线性变换后即可得到以第二个基为坐标系的向量,也就是说,输入向量的坐标在线性变换后可以得到输出向量的坐标,但是这两个坐标是基于不同的基的

例: 一个投影矩阵把二维空间中的向量投影到该空间的一条直线上,先为输入空间找一组基,基的第一个元素在该直线上,基的第二个元素垂直于该直线,分别记作 v ⃗ 1 , v ⃗ 2 \vec{v}_1 , \vec{v}_2 v 1,v 2,则输入向量 v ⃗ = c 1 v ⃗ 1 + c 2 v ⃗ 2 \vec{v} = c_1 \vec{v}_1 + c_2 \vec{v}_2 v =c1v 1+c2v 2,我们把它也视为输出空间的基,即 w ⃗ 1 = v ⃗ 1 , w ⃗ 2 = v ⃗ 2 \vec{w}_1 = \vec{v}_1 , \vec{w}_2 = \vec{v}_2 w 1=v 1,w 2=v 2

​   有 T ( v ⃗ 1 ) = v ⃗ 1 , T ( v ⃗ 2 ) = 0 ⃗ T(\vec{v}_1) = \vec{v}_1 , T(\vec{v}_2) = \vec{0} T(v 1)=v 1,T(v 2)=0 ,所以 T ( v ⃗ ) = c 1 v ⃗ 1 + 0 v ⃗ 2 T(\vec{v}) = c_1 \vec{v}_1 + 0 \vec{v}_2 T(v )=c1v 1+0v 2,即 A [ c 1 c 2 ] = [ c 1 0 ] A \begin{bmatrix} c_1 \\ c_2 \end{bmatrix} = \begin{bmatrix} c_1 \\ 0 \end{bmatrix} A[c1c2]=[c10],因而这个投影对应矩阵 A = [ 1 0 0 0 ] A = \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix} A=[1000]

​   可以发现 A A A为一个对角阵,并且 v ⃗ 1 , v ⃗ 2 \vec{v}_1 , \vec{v}_2 v 1,v 2刚好是 A A A的两个特征向量, A A A主对角线上的元素刚好是它的特征值

​   推广至所有 T : R n → R n T:R^n \to R^n T:RnRn可得:当要求输入空间的基和输出空间一致时,若以满足 T ( v ⃗ ′ ) = λ v ⃗ ′ T(\vec{v}^{'}) = \lambda \vec{v}^{'} T(v )=λv 的向量 v ⃗ ′ \vec{v}^{'} v 为基(当然它们要是线性无关的,并且 T T T对应的 A A A得要有 n n n个线性无关的特征向量), A A A就会成为一个特征值矩阵,并且这个特征值是该线性变换所有符合要求的 A A A的特征值,同时这组基的元素也都是这些 A A A的特征向量,也就是说这些 A A A互为相似矩阵

​   顺便一提,在物理上很经常使用特征向量作为一组基建立坐标系

如果确定了输入空间和输出空间的基,则有 v ⃗ 1 = [ 1 0 ⋮ 0 ] , v ⃗ 2 = [ 0 1 ⋮ 0 ] , ⋯ , v ⃗ n = [ 0 0 ⋮ 1 ] \vec{v}_1 = \begin{bmatrix} 1 \\ 0 \\ \vdots \\ 0 \end{bmatrix} , \vec{v}_2 = \begin{bmatrix} 0 \\ 1 \\ \vdots \\ 0 \end{bmatrix} , \cdots , \vec{v}_n = \begin{bmatrix} 0 \\ 0 \\ \vdots \\ 1 \end{bmatrix} v 1= 100 ,v 2= 010 ,,v n= 001

因为线性转化是知道的,所以 v ⃗ i \vec{v}_i v i的输出向量是知道的,所以用输出空间的基得到 v ⃗ i \vec{v}_i v i的输出向量的线性组合方式是知道的

而这个线性组合方式 T ( v ⃗ i ) = A v ⃗ i = [ a 1 , i a 2 , i ⋮ a m , i ] T(\vec{v}_i) = A \vec{v}_i = \begin{bmatrix} a_{1 , i} \\ a_{2 , i} \\ \vdots \\ a_{m , i} \end{bmatrix} T(v i)=Av i= a1,ia2,iam,i ,这样就可以求出 A A A

其实求导也是一种线性变换

例: T = d d x T = \dfrac{d}{dx} T=dxd,输入向量 v ⃗ = c 1 + c 2 x + c 3 x 2 \vec{v} = c_1 + c_2 x + c_3 x^2 v =c1+c2x+c3x2,基为 { 1 , x , x 2 } \{ 1 , x , x^2 \} {1,x,x2},则输出向量 w ⃗ = c 2 + 2 c 3 x \vec{w} = c_2 + 2 c_3 x w =c2+2c3x,基为 { 1 , x } \{ 1 , x \} {1,x}

​   可以得到此处 A = [ 0 1 0 0 0 2 ] A = \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 2 \end{bmatrix} A=[001002]

正是因为求导是线性运算,所以只需要掌握一些求导法则,通过它们的线性组合就可以得到导数

由于矩阵和线性变换的对应关系,矩阵的逆即为线性变换的逆操作,矩阵的乘积即为线性变换的叠加


打赏

制作不易,若有帮助,欢迎打赏!
赞赏码

支付宝付款码

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

经典目标检测YOLO系列(一)复现YOLOV1(2)反解边界框及后处理

经典目标检测YOLO系列(一)复现YOLOV1(2)反解边界框及后处理 在上个博客&#xff0c;我们提出了新的YOLOV1架构&#xff0c;这次我们解决前向推理过程中的两个问题。 经典目标检测YOLO系列(一)YOLOV1的复现(1)总体架构 1、边界框的计算 1.1 反解边界框公式的改变 1.1.1 原版…

踩坑RV1106板端部署rknn模型

文章目录 1、交叉编译2、板上跑通3、验证自己模型 1、交叉编译 官方给的一个流程: RKNN 模型推理测试为了避免踩坑在开头提出来 按照官方的流程可以跑通&#xff0c;他自己提供的yolov5s.rknn&#xff08;640*640&#xff09;的模型&#xff0c;但是跑自己的模型的时候加载就会…

【星海随笔】浅谈用户态和内核态

内核 操作系统的核心是内核(kernel)&#xff0c;它独立于普通的应用程序&#xff0c;可以访问受保护的内存空间&#xff0c;也有访问底层硬件设备的所有权限。 linux 内核空间在虚拟空间中是固定大小的&#xff0c;并且在物理空间中同样也是固定大小的。 一般情况下&#xff…

如何合理配置云服务器的CPU和内存?

​  提到云服务器性能&#xff0c;大抵有两个主要影响因素&#xff0c;CPU 核心数量和内存容量 &#xff0c;它们决定了云服务器的速度和可靠性。日常运用中&#xff0c;我们如何判断网站需要需要更多或更少?如何扩大或缩小它们以优化网站的性能? 一般来说&#xff0c;您拥…

黑白图如何转换成彩色图

将黑白图转换为伪彩色图是通过给黑白图中的灰度值映射到彩虹色等色谱上&#xff0c;从而呈现出彩色效果。以下是一些常见的黑白图伪彩转换方式&#xff1a; 热度图&#xff08;Heatmap&#xff09;&#xff1a; 将低灰度值映射为冷色&#xff0c;高灰度值映射为热色。通常使用…

鸿蒙4.0实战应用(ArkTS)-抽奖转盘

构建主界面 在这个章节中&#xff0c;我们将完成示例主界面的开发&#xff0c;效果如图所示&#xff1a; 功能要求&#xff1a; 通过画布组件Canvas&#xff0c;画出抽奖圆形转盘。通过显式动画启动抽奖功能。通过自定义弹窗弹出抽中的奖品。 在绘制抽奖圆形转盘前&#xff…

文献速递:人工智能医学影像分割---高效的MR引导CT网络训练,用于CT图像中前列腺分割

01 文献速递介绍 如今&#xff0c;根据国家癌症研究所的报告&#xff0c;美国约有9.9%的男性患有前列腺癌。1 此外&#xff0c;根据美国癌症协会的数据&#xff0c;预计2019年将有174,650个新病例被诊断出前列腺癌&#xff0c;与此同时大约有31,620名男性将死于前列腺癌。因此…

大数据与人工智能|信息技术产业架构、行业发展与前沿技术(第2节)

内容链接&#xff1a;信息技术产业架构、行业发展与前沿技术&#xff08;大数据与人工智能系列课程 第2节&#xff09; 声明&#xff1a;学习使用&#xff0c;侵权必删&#xff01; 主要内容&#xff1a;1. 从算盘到量子计算机&#xff0c;介绍了半导体行业的发展历程和技术原…

软件测试/测试开发丨Python自动化测试学习笔记

1. 引言 自动化测试是软件开发中的关键环节&#xff0c;它可以提高测试效率、减少重复工作&#xff0c;并提供更快速、稳定的测试结果。Python作为一种易学易用的编程语言&#xff0c;为自动化测试提供了强大的工具和库。本文将介绍如何使用Python进行自动化测试。 2. 安装Py…

涨见识!微信还能这样批量导出好友

我们在使用微信的过程中&#xff0c;有时会因为种种原因&#xff0c;导致微信被封号&#xff0c;特别是永久封号这种情况&#xff0c;会导致微信里的好友丢失。面对这种情况&#xff0c;我们可以提前把微信里的好友导出来进行备份&#xff0c;万一被封号了&#xff0c;还可以用…

华帝,业绩好起来了,但股价还没

作者 | 辰纹 来源 | 洞见新研社 成为奥运会的赞助商&#xff0c;往往是一个品牌从本土走向全球的起点。 1928年&#xff0c;阿迪达斯首次出现在阿姆斯特丹奥运会上&#xff0c;从那一刻开始&#xff0c;阿迪达斯与耐克在全球相爱相杀&#xff0c;“缠绵”了近百年&#xff1…

uniapp 安装插件 uView (多平台快速开发的UI框架)

1. 下载并导入插件 打开链接 https://ext.dcloud.net.cn/plugin?id1593 导入成功后&#xff0c;可见 2. 添加配置 main.js import uView from /uni_modules/uview-ui Vue.use(uView)uni.scss import /uni_modules/uview-ui/theme.scss;App.vue <style lang"scss&qu…

Python经典游戏 唤醒你童年记忆

这些游戏你玩过几个&#xff1f; 1.贪吃蛇2.吃豆人3.加农炮4.四子棋5. Fly Bird<font color #f3704ab>6.记忆&#xff1a;数字对拼图游戏&#xff08;欢迎挑战&#xff01;用时&#xff1a;2min&#xff09;7.乒乓球8.上课划水必备-井字游戏&#xff08;我敢说100%的人都…

桥接模式-举例

概叙&#xff1a;桥接模式用一种巧妙的方式处理多层继承存在的问题&#xff0c; 用抽象关联取代了传统的多层继承&#xff0c; 将类之间的静态继承关系转换为动态的对象组合关系&#xff0c; 使得系统更加灵活&#xff0c;并易于扩展&#xff0c; 同时有效控制了系统中类的个数…

硅像素传感器文献调研(三)

写在前面&#xff1a; 引言&#xff1a;也是先总结前人的研究结果&#xff0c;重点论述其不足之处。 和该方向联系不大&#xff0c;但还是有值得学习的地方。逻辑很清晰&#xff0c;易读性很好。 1991年—场板半阻层 使用场板和半电阻层的高压平面器件 0.摘要 提出了一种…

基于JAVA的瑜伽馆管理系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 瑜伽课程模块2.3 课程预约模块2.4 系统公告模块2.5 课程评价模块2.6 瑜伽器械模块 三、系统设计3.1 实体类设计3.1.1 瑜伽课程3.1.2 瑜伽课程预约3.1.3 系统公告3.1.4 瑜伽课程评价 3.2 数据库设计3.2.…

在微服务中如何实现全链路的金丝雀发布?

目录 1. 什么金丝雀发布&#xff1f;它有什么用&#xff1f; 2.如何实现全链路的金丝雀发布 2.1 负载均衡模块 2.2 网关模块 2.3 服务模块 2.3.1 注册为灰色服务实例 2.3.2 设置负载均衡器 2.3.3 传递灰度发布标签 2.4 其他代码 2.4.1 其他业务代码 2.4.2 pom.xml 关…

Linux下MQTT环境的简单应用及搭建——之Mosquitto

文章目录 前言一、ubuntu搭建mqtt服务器 | 概要二、整体架构流程 | 技术实现细节1、下载源码2、安装Mosquitto3、解压并修改配置文件4、关于Mosquitto常见的一些操作指令5、启动mosquitto6、测试mosquitto测试1&#xff1a;Linux多终端交互测试测试2&#xff1a;Linux与Windows…

中职网络安全Web2003-2——Web渗透测试

需要环境或换&#xff0c;有问题可以私信我或加Q 1.通过URL访问http://靶机IP/1&#xff0c;对该页面进行渗透测试&#xff0c;将完成后返回的结果内容作为Flag值提交&#xff1b; FLAGflag{htmlcode} 2.通过URL访问http://靶机IP/2&#xff0c;对该页面进行渗透测试&#xff…

【C#】深拷贝和浅拷贝

文章目录 深拷贝和浅拷贝的定义深拷贝&#xff08;Deep Copy&#xff09;浅拷贝&#xff08;Shallow Copy&#xff09; 深拷贝和浅拷贝的定义 深拷贝&#xff08;Deep Copy&#xff09;和浅拷贝&#xff08;Shallow Copy&#xff09;是在复制对象时涉及的两个不同概念 深拷贝…