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.hqwc.cn/news/305605.html

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

相关文章

汇编 8259 中断实验

汇编 8259 中断实验 一、实验目的 &#xff08;1&#xff09;掌握微机中断处理系统的基本原理。 &#xff08;2&#xff09;掌握8259中断控制器的工作原理&#xff0c;学会编写中断服务程序。 &#xff08;3&#xff09;掌握8259级联方式的使用方法。 二、实验设备 &#x…

[SWPUCTF 2021 新生赛]finalrce

[SWPUCTF 2021 新生赛]finalrce wp 注&#xff1a;本文参考了 NSSCTF Leaderchen 师傅的题解&#xff0c;并修补了其中些许不足。 此外&#xff0c;参考了 命令执行(RCE)面对各种过滤&#xff0c;骚姿势绕过总结 题目代码&#xff1a; <?php highlight_file(__FILE__); …

git 学习 之一个规范的 commit 如何写

最好的话做一件完整的事情就提交一次

idea中切换JDK8、JDK11、JDK17

有时候&#xff0c;我们可能需要在不同的Java版本中去测试或者查看源码&#xff0c;idea可以让我们修改Java的版本。 前提&#xff1a;你必须下载安装好对应的Java版本&#xff0c;可参考文章【windows下切换JDK8、JDK11、JDK17】&#xff08;https://blog.csdn.net/xijinno1/a…

八种常见顺序存储的算法

目录 1、线性枚举 1&#xff09;问题描述 2&#xff09;动图演示 3&#xff09;示例说明 4&#xff09;算法描述 5&#xff09;源码详解 2、前缀和差分 1&#xff09;问题描述 2&#xff09;动图演示 3&#xff09;样例分析 4&#xff09;算法描述 5&#xff09;源码…

【解决方案】智能语音模块,东胜物联远场语音解决方案让控制更简单,应用于智能家居等场景

现在的天气真是冷得不想多动一下&#xff0c;又想打开取暖器&#xff1f;有了它&#xff0c;用声音就能遥控&#xff0c;今天我们就来聊聊智能语音模块。 技术概述 远场语音技术&#xff0c;采用了麦克风阵列、信号处理技术以及先进的语音识别引擎&#xff0c;使得设备能够在距…

Linux 查看系统类型和版本(内核版本 | 发行版本)

Linux 查看系统类型和版本 首先普及下linux系统的版本内容1. 查看linux系统内核版本2. 查看linux系统发行版本 首先普及下linux系统的版本内容 内核版本和发行版本区别 内核版本就是指 Linux 中最基层的代码&#xff0c;版本号如 Linux version 3.10.0-327.22.2.el7.x86_64发行…

网络安全 :保护数字世界的壁垒

随着数字化时代的到来&#xff0c;网络安全变得越来越重要。本文介绍了网络安全的定义&#xff0c;探讨了网络安全的重要性以及网络安全的解决方案&#xff0c;包括身份验证、防火墙、加密等技术&#xff0c;以确保数字世界的安全。 随着互联网的蓬勃发展&#xff0c;数字化技术…

uniApp中uView组件库的丰富布局方法

目录 基本使用 #分栏间隔 #混合布局 #分栏偏移 #对齐方式 API #Row Props #Col Props #Row Events #Col Events UniApp的uView组件库是一个丰富的UI组件库&#xff0c;提供了各种常用的UI组件和布局方法&#xff0c;帮助开发者快速构建美观、灵活的界面。下面给你写一…

Apache Commons JCS缓存解决方案

第1章&#xff1a;引言 大家好&#xff0c;我是小黑&#xff01;今天&#xff0c;咱们来聊聊Apache Commons JCS&#xff0c;一个Java界里的缓存大杀器。缓存技术&#xff0c;对于提高应用性能来说&#xff0c;就像是给它加了一剂兴奋剂&#xff0c;能让数据访问变得快如闪电。…

MySQL进阶之(一)逻辑架构

一、逻辑架构 1.1 逻辑架构剖析1.1.1 连接层1.1.2 服务层01、基础服务组件02、SQL Interface&#xff1a;SQL 接口03、Parser&#xff1a;解析器04、Optimizer&#xff1a;查询优化器05、Caches & Buffers&#xff1a; 查询缓存组件 1.1.3 引擎层1.1.4 存储层1.1.5 总结 1.…

DP进阶之路——整数拆分

343. 整数拆分 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。 示例 2: 输入: n 10 输出: 36 解释…