31.线性变换及对应矩阵

文章目录

  • 1. 线性变换
  • 2. 特殊矩阵
    • 2.1 投影矩阵
    • 2.2 平移矩阵
    • 2.3 旋转矩阵
    • 2.4 三维转二维矩阵
  • 3. 基向量的线性变换
    • 3.1 代数形式
    • 3.2 矩阵形式
  • 4. 坐标
  • 5. 求导

1. 线性变换

线性代数从线性变换开始,是线性代数的另外一个起点。很多物理学家并不关系坐标的值,而是关系从A坐标系到B坐标系的变化。他们希望知道如何去描述一个变化,而现在我们研究的就是通过矩阵来描述这一个线性变化。
每个线性变换都对应于一个矩阵,我们所学的零空间,行空间,行列式,特征值都来源于矩阵,但是在矩阵的背后就是线性变换的概念。

2. 特殊矩阵

2.1 投影矩阵

假设二维空间中有一个向量a,通过线性变换T(x)得到b,这种线性变换通常称为映射。
T : a ∈ R 2 → b ∈ R 2 \begin{equation} T:a \in \R^2 \rightarrow b \in \R^2 \end{equation} T:aR2bR2

  • 假设我们有一个向量v,投影线性变换T(x),向量v经过投影线性变换后形成向量p,T(x)就像一个函数一样
    p = T ( v ) \begin{equation} p=T(v) \end{equation} p=T(v)
    在这里插入图片描述
  • 线性变换的两个条件:
    T ( v + w ) = T ( v ) + T ( w ) ; T ( c v ) = c T ( v ) ; T ( c v + d w ) = c T ( v ) + d T ( w ) \begin{equation} T(v+w)=T(v)+T(w);T(cv)=cT(v);T(cv+dw)=cT(v)+dT(w) \end{equation} T(v+w)=T(v)+T(w);T(cv)=cT(v);T(cv+dw)=cT(v)+dT(w)
  • 对于投影矩阵来说,是一个线性变换,向量k倍长,投影向量也k倍长,向量反向,投影向量也反向;

2.2 平移矩阵

  • 平面平移
    假设我们平面上有一个向量 v 0 , 2 v 0 v_0,2v_0 v02v0,需要平移 v v v,分别得到 p 1 , p 2 p_1,p_2 p1,p2,不满足比例关系,故不是线性变换。
    p 1 = v + v 0 ; p 2 = 2 v + v 0 ; ⇒ p 2 ≠ 2 p 1 \begin{equation} p_1=v+v_0;p_2=2v+v_0;\Rightarrow p_2 \neq2p_1 \end{equation} p1=v+v0;p2=2v+v0;p2=2p1
    在这里插入图片描述

2.3 旋转矩阵

我们希望有任意一个向量v,逆时针旋转 45 ° 45\degree 45°后得到向量p
p = T ( v ) \begin{equation} p=T(v) \end{equation} p=T(v)
在这里插入图片描述
可以证明,当向量v翻倍的时候,向量p也翻倍,当向量取负号的时候,向量p也去负号。我们可以将通过旋转矩阵的线性变换将任何点集都进行旋转,比如将如下图形进行旋转。
在这里插入图片描述
这种线性变换就相当于任意向量左乘以矩阵A,是不是跟前面的 A x = b Ax=b Ax=b联系起来了,真神奇!!每一个不同的矩阵A相当于一种线性变换。
T ( x ) = A x ; T ( w + v ) = A ( w + v ) ; T ( c v ) = c A v = c T ( v ) \begin{equation} T(x)=Ax;T(w+v)=A(w+v);T(cv)=cAv=cT(v) \end{equation} T(x)=AxT(w+v)=A(w+v);T(cv)=cAv=cT(v)

2.4 三维转二维矩阵

我们希望将一个三维x,y,z坐标系上的点a经过线性变换为x,y平面上的b,可以构造矩阵A如下:
[ 1 2 ] = [ 1 0 0 0 1 0 ] [ 1 2 3 ] ⇒ p = [ 1 0 0 0 1 0 ] x \begin{equation} \begin{bmatrix}1\\\\2\end{bmatrix}=\begin{bmatrix}1&0&0\\\\0&1&0\end{bmatrix}\begin{bmatrix}1\\\\2\\\\3\end{bmatrix}\Rightarrow p=\begin{bmatrix}1&0&0\\\\0&1&0\end{bmatrix}x \end{equation} 12 = 100100 123 p= 100100 x

3. 基向量的线性变换

3.1 代数形式

  • 首先我们看看对于向量 a 1 , a 2 a_1,a_2 a1,a2进行线性变换来说
    p 1 = T ( a 1 ) , p 2 = T ( a 2 ) \begin{equation} p_1=T(a_1),p_2=T(a_2) \end{equation} p1=T(a1),p2=T(a2)
    那我们可以看到,这一个线性变换其实也是对整个 a a a向量空间所有的变量进行变换,这样我们知道,任意向量a是可以用向量 a 的基向量表示的,假设基向量为 e 1 , e 2 e_1,e_2 e1,e2
    a i = x 1 e 1 + x 2 e 2 ⇒ T ( a i ) = T ( x 1 e 1 + x 2 e 2 ) = x 1 T ( e 1 ) + x 2 T ( e 1 ) \begin{equation} a_i=x_1e_1+x_2e_2\Rightarrow T(a_i)=T(x_1e_1+x_2e_2)=x_1T(e_1)+x_2T(e_1) \end{equation} ai=x1e1+x2e2T(ai)=T(x1e1+x2e2)=x1T(e1)+x2T(e1)
  • 由上述公式可以看出来,所谓的线性变换本质上是对基向量的变换。这样我们就可以在保留参数的情况下,通过改变基向量来得到同意的线性变换公式。找到统一的矩阵A。
  • 用公式表示如下,假设v是由基向量组合二成
    v = c 1 v 1 + c 2 v 2 + ⋯ + c n v n ⇒ p = T ( v ) = T ( c 1 v 1 + c 2 v 2 + ⋯ + c n v n ) \begin{equation} v=c_1v_1+c_2v_2+\cdots+c_nv_n\Rightarrow p=T(v)=T(c_1v_1+c_2v_2+\cdots+c_nv_n) \end{equation} v=c1v1+c2v2++cnvnp=T(v)=T(c1v1+c2v2++cnvn)
    p = T ( c 1 v 1 + c 2 v 2 + ⋯ + c n v n ) = c 1 T ( v 1 ) + c 2 T ( v 2 ) + ⋯ + c n T ( v n ) \begin{equation} p=T(c_1v_1+c_2v_2+\cdots+c_nv_n)=c_1T(v_1)+c_2T(v_2)+\cdots+c_nT(v_n) \end{equation} p=T(c1v1+c2v2++cnvn)=c1T(v1)+c2T(v2)++cnT(vn)
  • 小结:
    p = c 1 T ( v 1 ) + c 2 T ( v 2 ) + ⋯ + c n T ( v n ) \begin{equation} p=c_1T(v_1)+c_2T(v_2)+\cdots+c_nT(v_n) \end{equation} p=c1T(v1)+c2T(v2)++cnT(vn)
  • 用矩阵形式代替线性变换 ⇒ T ( x ) = A x \Rightarrow T(x)=Ax T(x)=Ax
    p = c 1 A v 1 + c 2 A v 2 + ⋯ + c n A v n \begin{equation} p=c_1Av_1+c_2Av_2+\cdots+c_nAv_n \end{equation} p=c1Av1+c2Av2++cnAvn

3.2 矩阵形式

  • 我们在给定输入V矩阵和输出W矩阵的情况下,如何找到线性变化矩阵A?
    假设输入n个分别为 v 1 , v 2 , ⋯ , v n v_1,v_2,\cdots,v_n v1,v2,,vn个基向量,输出m个分别为 w 1 , w 2 , ⋯ , w m w_1,w_2,\cdots,w_m w1,w2,,wm个基向量,我们希望用矩阵A来表示线性变换;我知道A的大小为m行n列,我们让 v 1 v_1 v1 线性变换得到 w 1 w_1 w1
    T ( v 1 ) = A v 1 = a 1 w 1 + a 2 w 2 + ⋯ + a m w m \begin{equation} T(v_1)=Av_1=a_{1}w_1+a_{2}w_2+\cdots+a_{m}w_m \end{equation} T(v1)=Av1=a1w1+a2w2++amwm
  • 我们知道如果选取A的一行那么有n个,显然无法得到m个 w i w_i wi,所以只能选择A的一列,所以整理上述公式可得:
    { T ( v 1 ) = A v 1 = a 11 w 1 + a 21 w 2 + ⋯ + a m 1 w m T ( v 2 ) = A v 2 = a 12 w 1 + a 22 w 2 + ⋯ + a m 2 w m ⋮ T ( v n ) = A v n = a 1 n w 1 + a 2 n w 2 + ⋯ + a m n w m \begin{equation} \begin{cases} T(v_1)=Av_1=a_{11}w_1+a_{21}w_2+\cdots+a_{m1}w_m\\ T(v_2)=Av_2=a_{12}w_1+a_{22}w_2+\cdots+a_{m2}w_m\\ \vdots\\ T(v_n)=Av_n=a_{1n}w_1+a_{2n}w_2+\cdots+a_{mn}w_m\\ \end{cases} \end{equation} T(v1)=Av1=a11w1+a21w2++am1wmT(v2)=Av2=a12w1+a22w2++am2wmT(vn)=Avn=a1nw1+a2nw2++amnwm
  • 整理上述可得:
    [ w 1 w 2 ⋯ w m ] [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋯ ⋮ a m 1 a m 2 ⋯ a m n ] = [ T ( v 1 ) T ( v 2 ) ⋮ T ( v n ) ] \begin{equation} \begin{bmatrix} w_1&w_2&\cdots&w_m \end{bmatrix} \begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\\\ a_{21}&a_{22}&\cdots&a_{2n}\\\\ \vdots&\vdots&\cdots&\vdots\\\\ a_{m1}&a_{m2}&\cdots&a_{mn} \end{bmatrix} =\begin{bmatrix}T(v_1)\\\\T(v_2)\\\\\vdots\\\\T(v_n) \end{bmatrix} \end{equation} [w1w2wm] a11a21am1a12a22am2a1na2namn = T(v1)T(v2)T(vn)
    [ w 1 w 2 ⋯ w m ] [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋯ ⋮ a m 1 a m 2 ⋯ a m n ] = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋯ ⋮ a m 1 a m 2 ⋯ a m n ] [ v 1 v 2 ⋮ v n ] \begin{equation} \begin{bmatrix} w_1&w_2&\cdots&w_m \end{bmatrix} \begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\\\ a_{21}&a_{22}&\cdots&a_{2n}\\\\ \vdots&\vdots&\cdots&\vdots\\\\ a_{m1}&a_{m2}&\cdots&a_{mn} \end{bmatrix} = \begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\\\ a_{21}&a_{22}&\cdots&a_{2n}\\\\ \vdots&\vdots&\cdots&\vdots\\\\ a_{m1}&a_{m2}&\cdots&a_{mn} \end{bmatrix}\begin{bmatrix}v_1\\\\v_2\\\\\vdots\\\\v_n\end{bmatrix} \end{equation} [w1w2wm] a11a21am1a12a22am2a1na2namn = a11a21am1a12a22am2a1na2namn v1v2vn

4. 坐标

我们知道坐标来源于向量基,将一个点A可以用如下表示,坐标建立在标准基上的。
A = [ 1 2 3 ] = 1 [ 1 0 0 ] + 2 [ 0 1 0 ] + 3 [ 0 0 1 ] \begin{equation} A=\begin{bmatrix} 1\\\\2\\\\3 \end{bmatrix}=1\begin{bmatrix} 1\\\\0\\\\0 \end{bmatrix}+2\begin{bmatrix} 0\\\\1\\\\0 \end{bmatrix}+3\begin{bmatrix} 0\\\\0\\\\1 \end{bmatrix} \end{equation} A= 123 =1 100 +2 010 +3 001
对于矩阵来说,我们可以选择一组特征向量来作为矩阵的标准基,通常我们用长度为1的标准正交特征向量作为基,这样就方便计算了。

5. 求导

假设我们需要用矩阵的方式求解导数:
y = c 1 + c 2 x + c 3 x 2 ; a = [ c 1 c 2 c 3 ] ; y ′ = c 2 + 2 c 3 x ; b = [ c 2 2 c 3 ] \begin{equation} y=c_1+c_2x+c_3x^2;a=\begin{bmatrix}c_1\\\\c_2\\\\c_3\end{bmatrix};y'=c_2+2c_3x;b=\begin{bmatrix}c_2\\\\2c_3\end{bmatrix} \end{equation} y=c1+c2x+c3x2;a= c1c2c3 ;y=c2+2c3x;b= c22c3

  • 也就是说我们要把初始向量a,变成 b
    A [ c 1 c 2 c 3 ] = [ c 2 2 c 3 ] \begin{equation} A\begin{bmatrix}c_1\\\\c_2\\\\c_3\end{bmatrix}=\begin{bmatrix}c_2\\\\2c_3\end{bmatrix} \end{equation} A c1c2c3 = c22c3
  • 可以得到矩阵A为如下:是不是很神奇,一个求导的非线性计算,居然在矩阵面前变成了线性变换,仅仅用矩阵乘法就行了。
    [ 0 1 0 0 0 2 ] [ c 1 c 2 c 3 ] = [ c 2 2 c 3 ] \begin{equation} \begin{bmatrix} 0&1&0\\\\ 0&0&2 \end{bmatrix}\begin{bmatrix}c_1\\\\c_2\\\\c_3\end{bmatrix}=\begin{bmatrix}c_2\\\\2c_3\end{bmatrix} \end{equation} 001002 c1c2c3 = c22c3

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

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

相关文章

gitblit 环境搭建,服务器迁移记录

下载 Gitblit: http://www.gitblit.com/ JDK:gitblit网站显示需要jdk1.7,这里用的1.8。 Git:到官网下载最新版本安装 1). 分别安装JDK,Git,配置环境变量,下载并解压Gitblit 2). 创建代码仓库 …

IDEA配置Java远程调试,以CVE-2024-4956为例

背景 学习代码审计,看到一些Java的漏洞,想要动手调试,复现漏洞搭建环境可以使用docker快速创建,了解到Java可以远程调试,本文记录学习Java远程调试环境搭建的过程。 远程调试的原理 如下图(图源&#xf…

数据库索引的理解

目录 1.索引是什么,解决了什么问题 2.索引付出了什么代价 3.如何使用sql索引,有何注意事项 普通索引: 唯一索引: 主键索引(Primary Key Index): 删除索引: 创建主键索引的基本语法: 4.索引背后的数据结构 1.索…

玩转Linux进度条

准备工作&#xff1a; 一.关于缓冲区 首先&#xff0c;咱们先来一段有意思的代码&#xff1a; #include<stdio.h> #include<unistd.h> int main() {printf("you can see me");sleep(5);} 你可以在你的本地运行一下&#xff0c;这里我告诉大家运行结果…

如何用python做一个用户登录界面——浔川python社

1 需解决的问题&#xff1a; 1.1如何用python做一个用户登录界面&#xff1f; 1.2需要用到哪些库、模块&#xff1f; 2 问题解决&#xff1a; 2.1 回答 1.1 &#xff1a;合理即可&#xff0c;无标准回答。 2.2 回答 1.2 &#xff1a;tk库&#xff08;缩写&#xff09;、GUL界面…

appium元素定位工具_uiautomatorviewer.bat

特点&#xff1a; uiautomatorviewer是android-sdk自带的元素定位工具uiautomatorviewer只能用于安卓系统&#xff1b;它是通过截屏分析XML布局文件方式&#xff0c;来提供控件信息的查看服务 uiautomatorviewer.bat 基本使用 路径&#xff1a;这个工具是Android SDK中自带&…

项目中统一异常处理

项目中统一异常处理 1.异常处理框架图2.实现 1.异常处理框架图 异常处理除了输出在日志中&#xff0c;还需要提示给用户&#xff0c;前端和后端需要作一些约定&#xff1a; 错误提示信息统一以json格式返回给前端。以HTTP状态码决定当前是否出错&#xff0c;非200为操作异常。…

QML信号连接到c++的槽函数(五)

文章目录 前言一、QML Signal and Handler Event System二、QML信号连接到c++的槽函数代码实例1. 创建一个QML 工程2. 用C++ 实现一个QML Types3. 代码实例4. 运行结果总结参考资料前言 本文主要介绍,如何将QML 中的信号连接到C++ 中的槽函数 软硬件环境: 硬件:PC 软件:wi…

在国内PMP含金量并不高?

PMP已经在全球194个国家和地区得到广泛认可&#xff0c;自1999年开始在国内实施。PMP被认为是项目管理专业身份的象征&#xff0c;是项目经理最重要的资质。获得PMP证书意味着个人的项目操作水平已经得到了PMI的认可&#xff0c;具备国际专业项目操作者水平&#xff0c;有资格专…

大模型应用之基于Langchain的测试用例生成

一 用例生成实践效果 在组内的日常工作安排中&#xff0c;持续优化测试技术、提高测试效率始终是重点任务。近期&#xff0c;我们在探索实践使用大模型生成测试用例&#xff0c;期望能够借助其强大的自然语言处理能力&#xff0c;自动化地生成更全面和高质量的测试用例。 当前…

[数据集][目标检测]旋风检测数据集VOC+YOLO格式157张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;159 标注数量(xml文件个数)&#xff1a;159 标注数量(txt文件个数)&#xff1a;159 标注类别…

1. MySQL 数据库的基本操作

文章目录 【 1. SQL 的书写规则 】大小写规则常量的表示注释 【 2. RDBMS 术语 】Table 表Filed 域/字段Column 列Record 记录NULL 空值Constraint 约束数据的完整性范式 【 3. 数据库基本操作函数 】3.1 SHOW DATABASES 显示数据库3.2 CREATE DATABASE 创建数据库3.3 ALTER DA…

STM32-14-FSMC_LCD

STM32-01-认识单片机 STM32-02-基础知识 STM32-03-HAL库 STM32-04-时钟树 STM32-05-SYSTEM文件夹 STM32-06-GPIO STM32-07-外部中断 STM32-08-串口 STM32-09-IWDG和WWDG STM32-10-定时器 STM32-11-电容触摸按键 STM32-12-OLED模块 STM32-13-MPU 文章目录 1. 显示器分类2. LCD简…

[Windows] 植物大战僵尸杂交版

游戏包含冒险模式、挑战模式、生存模式三种不同玩法。冒险模式主打关卡闯关&#xff0c;挑战模式则挑战特殊设计的关卡&#xff0c;生存模式结合无尽模式和特殊地图&#xff0c;各具特色。玩家可根据喜好自由选择模式&#xff0c;体验不同的游戏乐趣。快来尝试这款独特的pvz游戏…

6月2(信息差)

&#x1f30d;特斯拉&#xff1a;Model3高性能版预计6月中旬开启首批交付 &#x1f384;微软对开源字体 Cascadia Code 进行重大更新 ✨天猫618加码引爆消费热潮 截至晚9点185个品牌成交破亿 1.瑞士清洁科技公司Librec开发废旧锂离子电池回收技术&#xff0c;可回收电池90%的…

【设计模式】JAVA Design Patterns——Factory Method(虚拟构造器模式)

&#x1f50d;目的 为创建一个对象定义一个接口&#xff0c;但是让子类决定实例化哪个类。工厂方法允许类将实例化延迟到子类 &#x1f50d;解释 真实世界例子 铁匠生产武器。精灵需要精灵武器&#xff0c;而兽人需要兽人武器。根据客户来召唤正确类型的铁匠。 通俗描述 它为类…

IDEA2020.3部署旧的的web工程,报错,参考下面的配置

以下内容&#xff0c;需要仔细核对&#xff0c;有些配置只是针对本项目进行的配置&#xff0c;仅供参考&#xff0c;可以解决一些问题。 File->Project Structure&#xff1a; Tomcat配置&#xff1a; 完成。 详细内容&#xff0c;参考&#xff1a;IDEA2020.3部署旧的的web工…

备战十一届大唐杯国赛预选赛

这次省赛带了太多个省一了&#xff0c;具体可看下面的图片&#xff0c;只放了一部分。目前根据可靠消息&#xff0c;应该还有个预选赛和去年一样&#xff0c;就是还会考一次仿真。如果说通过了就是国二起步然后去北方工业争夺国一国二&#xff0c;没过的话就是国三。 每…

Python实用代码片段分享(三)

在今天的博文中&#xff0c;我们将继续分享一些Python编程中非常实用的代码片段。这些代码片段将帮助你更高效地处理常见任务&#xff0c;从字符转换到数据类型检查&#xff0c;应有尽有。 1. ord函数和chr函数 Python的ord()函数可以返回Unicode字符对应的ASCII码值&#xf…

精准检测,可燃气体报警系统的技术原理与特点

在现代化的工业生产与日常生活中&#xff0c;可燃气体泄露事故频发&#xff0c;给人们的生命和财产安全带来了严重威胁。 因此&#xff0c;可燃气体报警检测系统的应用变得尤为重要。它不仅能够实时监测环境中的可燃气体浓度&#xff0c;还能在发现异常情况时及时报警&#xf…