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://www.mzph.cn/news/583359.shtml

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

相关文章

用ChatGPT挑选钻石!著名珠宝商推出-珠宝GPT

根据Salesforce最新发布的第五版《互联网购物报告》显示&#xff0c;ChatGPT等生成式AI的出现、快速发展&#xff0c;对零售行业和购物者产生了较大影响。可有效简化业务流程实现降本增效&#xff0c;并改善购物体验。 著名珠宝商James Allen为了积极拥抱生成式AI全面提升销售…

软件测试/测试开发丨Python闭包函数和计时器学习笔记

闭包函数 闭包的内部函数中&#xff0c;对外部作用域的变量进行引用闭包无法修改外部函数的局部变量闭包可以保存当前的运行环境 # 普通方法实现 def output_student(name, gender, grade1):print(F"新学期开学啦&#xff0c;学生{name}是{gender}&#xff0c;他是{grad…

AI时代下,如何看待“算法利维坦”?

ChatGPT的浪潮从2022年袭来后&#xff0c;至今热度不减&#xff0c;呈现出蓬勃发展的趋势。AI家居、医疗、教育、金融、公益、农业、艺术......AI真的已经走进了生活的方方面面&#xff0c;我们仿佛已经进入了AI时代&#xff0c;势不可挡。人工智能水平如此之高&#xff0c;不禁…

OpenCV-Python(21):OpenCV中的轮廓性质

3.轮廓的性质 本文我们将主要学习基于轮廓来提取一些经常使用的对象特征。 3.1 长宽比 边界矩形的宽高比&#xff1a; x,y,w,h cv2.boundingRect(cnt) aspect_ratio float(w)/h 3.2 Extent 轮廓面积与边界矩形面积的比。 area cv2.contourArea(cnt) x,y,w,h cv2.bounding…

王道考研计算机网络——应用层

如何为用户提供服务&#xff1f; CS/P2P 提高域名解析的速度&#xff1a;local name server高速缓存&#xff1a;直接地址映射/低级的域名服务器的地址 本机也有告诉缓存&#xff1a;本机开机的时候从本地域名服务器当中下载域名和地址的对应数据库&#xff0c;放到本地的高…

C语言实现RSA算法加解密

使用c语言实现了RSA加解密算法&#xff0c;可以加解密文件和字符串。 rsa算法原理 选择两个大素数p和q&#xff1b;计算n p * q;计算φ(n)(p-1)(q-1)&#xff1b;选择与φ(n)互素的整数d&#xff1b;由de1 mod φ(n)计算得到e&#xff1b;公钥是(e, n), 私钥是(d, n);假设明…

Microsoft .NET Framework 4.5.1 离线安装包

Microsoft .NET Framework 4.5.1 安装包&#xff1a; 一、离线安装包&#xff1a; 百度网盘 链接: https://pan.baidu.com/s/1IGEYT1vyruY6KFu6XEmerA 提取码: m6ix 离线安装包官方地址&#xff1a; https://www.microsoft.com/zh-cn/download/details.aspx?id40779 二、在…

如何在VSCode搭建ESP-IDF开发ESP32

文章目录 概要安装VScode安装ESP-IDF插件使用官方例程小结 概要 ESP-IDF(Espressif IoT Development Framework) 即乐鑫物联网开发框架&#xff0c;它基于 C/C 语言提供了一个自给自足的 SDK&#xff0c;可为在 Windows、Linux 和 macOS 系统平台上开发 ESP32 应用程序提供工具…

跳跃表原理及实现

一、跳表数据结构 跳表是有序表的一种&#xff0c;其底层是通过链表实现的。链表的特点是插入删除效率高&#xff0c;但是查找节点效率很低&#xff0c;最坏的时间复杂度是O(N)&#xff0c;那么跳表就是解决这一痛点而生的。 为了提高查询效率&#xff0c;我们可以给链表加上索…

天翼云云间高速实现租户跨地域内网互通

一、业务需求 用户业务在襄阳、武汉两个云池部署&#xff0c;希望通过云间高速产品将两个资源池云内资源通过云内专网实现内网互通。要求内网双向互通。 二、测试环境配置 云池vpc名称vpc网段子网内网ip/gweip主机名互联网带宽襄阳ceshi192.168.0.0/16192.168.1.0/24192.168.…

unity学习笔记----游戏练习02

一、阳光值的展示和消耗 1.创建一个文本组件用于显示阳光的数值&#xff0c;然后在脚本中得到这个UI。 在SunManger中得到这个组件的引用 public TextMeshProUGUI sunPointText; 写一个用于更新显示的方法 public void UpdataSunPointText() { sunPointText.tex…

FileZilla的使用主动模式与被动模式

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《产品经理如何画泳道图&流程图》 ⛺️ 越努力 &#xff0c;越幸运 目录 一、FileZilla简介 1、FileZilla是什么&#xff1f; 2、FileZilla的应用场景 二、FileZilla的安装 1、下…

JVM篇:JVM内存结构

程序计数器 程序计数器英文名叫&#xff1a;Program Counter Register 作用&#xff1a;用来记录下一条jvm指令的地址行号。 先来查看一段jvm指令&#xff0c;这些指令对应的java代码就是输出1-5 操作系统运行该Java程序时具体流程如下 语言解释&#xff1a;源文件通过编译转…

光伏逆变器MPPT的作用、原理及算法

MPPT是逆变器非常核心的技术&#xff0c;MPPT电压在进行光伏电站设计时一项非常关键的参数。 一、什么是MPPT&#xff1f; &#xff08;单块光伏组件的I-V、P-V曲线&#xff09; 上图中&#xff0c;光伏组件的输出电压和电流遵循I-V曲线(绿色)、P-V曲线(蓝色)&#xff0c;如果…

NVMe over Fabrics:概念、应用和实现

对于大部分人来说&#xff0c;NVMe over Fabrics&#xff08;简称NVMf&#xff09;还是个新东西&#xff0c;因为其第一个正式版本的协议在今年6月份才发布。但是这并不影响人们对NVMf的关注&#xff0c;因为这项依托于NVMe的技术很可能继续改变存储市场格局。 NVMf的贡献在于…

labuladong日常刷题-双指针 | LeetCode 83删除排序链表中的重复元素 5最长回文子串

双指针操作链表与字符串 LeetCode 83 删除排序链表中的重复元素 2023.12.28 题目链接labuladong讲解[链接] ListNode* deleteDuplicates(ListNode* head) {/*暴力求解ListNode* cur new ListNode();ListNode* prenode cur;cur->next head;cur cur->next;while(cu…

web自动化(4)——POM设计重构

1. 什么是POM Page Object Model 是ui自动化测试中常见的封装方式。 原理&#xff1a;将页面封装为PO对象&#xff0c;然后通过面向对象的方式实现UI自动化 2. 封装原则 PO无需包含全部UI元素PO应当验证元素PO不应该包含断言PO不应该暴露元素 3. 怎么进行POM封装 面向对象…

架构设计系列 5:常见架构介绍

前面讲了架构是什么&#xff0c;架构的发展史&#xff0c;架构设计的基础理论&#xff0c;这次针对常见架构设计风格进行介绍和分析。 一、MVC&#xff1a;三层架构经典 经典的 MVC 架构&#xff08;Model-View-Controller&#xff09;架构是软件系统架构设计中的经典&#xf…

数据结构与算法教程,数据结构C语言版教程!(第二部分、线性表详解:数据结构线性表10分钟入门)一

第二部分、线性表详解&#xff1a;数据结构线性表10分钟入门 线性表&#xff0c;数据结构中最简单的一种存储结构&#xff0c;专门用于存储逻辑关系为"一对一"的数据。 线性表&#xff0c;基于数据在实际物理空间中的存储状态&#xff0c;又可细分为顺序表&#xff…

NFC物联网构建移动智能仓储系统解决方案

仓储管理作为企业研发生产活动的重要环节&#xff0c;正朝着标准化、信息化方向发展。高新作为典型的资产密集 技术密集型企业,原料样品为代表的资产数量巨大品种繁杂&#xff0c;对仓库管理的实时性及准确性要求较高。传统的人工作业模式和管理方法逐渐难以满足仓储管理对高效…