当前位置: 首页 > news >正文

【线性代数的本质】矩阵与线性变换

线性变化要满足两点性质:

  1. 直线(连续的点)在变换后还是直线。
  2. 原点不变。

假设有坐标轴(基底) i ^ \widehat{i} i j ^ \widehat{j} j
i ^ = [ 1 0 ] , j ^ = [ 0 1 ] \widehat{i}=\begin{bmatrix} 1 \\ 0 \end{bmatrix}, \widehat{j}=\begin{bmatrix} 0 \\ 1 \end{bmatrix} i =[10],j =[01]

若向量 v ⃗ = [ − 1 2 ] \vec{v}=\begin{bmatrix} -1 \\ 2 \end{bmatrix} v =[12],则可以使用它们表示成:
v ⃗ = − 1 i ^ + 2 j ^ \vec{v}=-1\widehat{i}+2\widehat{j} v =1i +2j

请添加图片描述

当空间进行一次线性变换后, i ^ \widehat{i} i j ^ \widehat{j} j 都发生了变化,但 v ⃗ \vec{v} v 与它们的关系却保持不变。假设这些向量经过变换变成了:
T r a n ( i ^ ) = [ 1 − 2 ] , T r a n ( j ^ ) = [ 3 0 ] T r a n ( v ⃗ ) = [ 5 2 ] Tran(\widehat{i})=\begin{bmatrix} 1 \\ -2 \end{bmatrix}, Tran(\widehat{j})=\begin{bmatrix} 3 \\ 0 \end{bmatrix} \\ Tran(\vec{v})=\begin{bmatrix} 5 \\ 2 \end{bmatrix} Tran(i )=[12],Tran(j )=[30]Tran(v )=[52]

发现依然满足:
T r a n ( v ⃗ ) = − 1 T r a n ( i ^ ) + 2 T r a n ( j ^ ) = − 1 [ 1 − 2 ] + 2 [ 3 0 ] = [ − 1 ( 1 ) + 2 ( 3 ) − 1 ( − 2 ) + 2 ( 0 ) ] = [ 5 2 ] \begin{aligned} Tran(\vec{v})&= -1 Tran(\widehat{i})+2Tran(\widehat{j}) \\ &= -1 \begin{bmatrix} 1 \\ -2 \end{bmatrix} + 2 \begin{bmatrix} 3 \\ 0 \end{bmatrix} \\ &= \begin{bmatrix} -1(1) + 2(3) \\ -1(-2) + 2(0) \end{bmatrix} \\ &= \begin{bmatrix} 5 \\ 2 \end{bmatrix} \end{aligned} Tran(v )=1Tran(i )+2Tran(j )=1[12]+2[30]=[1(1)+2(3)1(2)+2(0)]=[52]

请添加图片描述

实际上,将两个基底在线性变换后变成的两个列向量合在一起,就是一个表示该线性变换的矩阵;对原向量左乘该矩阵,就能得到线性变换后的向量:

T r a n ( v ⃗ ) = M ∗ v ⃗ = [ 1 3 − 2 0 ] [ − 1 2 ] = − 1 [ 1 − 2 ] + 2 [ 3 0 ] = [ − 1 ( 1 ) + 2 ( 3 ) − 1 ( − 2 ) + 2 ( 0 ) ] = [ 5 2 ] \begin{aligned} Tran(\vec{v})&= M*\vec{v} \\ &= \begin{bmatrix} 1 & 3 \\ -2 & 0 \end{bmatrix} \begin{bmatrix} -1 \\ 2 \end{bmatrix} \\ &= -1 \begin{bmatrix} 1 \\ -2 \end{bmatrix} + 2 \begin{bmatrix} 3 \\ 0 \end{bmatrix} \\ &= \begin{bmatrix} -1(1) + 2(3) \\ -1(-2) + 2(0) \end{bmatrix} \\ &= \begin{bmatrix} 5 \\ 2 \end{bmatrix} \end{aligned} Tran(v )=Mv =[1230][12]=1[12]+2[30]=[1(1)+2(3)1(2)+2(0)]=[52]
把数字换成符号,可以得到一个等式:

[ x i x j y i y j ] [ x y ] = x [ x i y i ] + y [ x j y j ] = [ x i ∗ x + x j ∗ y y i ∗ x + y j ∗ y ] \begin{bmatrix} x_i & x_j \\ y_i & y_j \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = x \begin{bmatrix} x_i \\ y_i \end{bmatrix} + y \begin{bmatrix} x_j \\ y_j \end{bmatrix} = \begin{bmatrix} x_i * x + x_j * y \\ y_i * x + y_j * y \end{bmatrix} [xiyixjyj][xy]=x[xiyi]+y[xjyj]=[xix+xjyyix+yjy]


举个例子,如果要进行一次线性变换,使得二维空间被逆时针旋转90度,那么,可以知道:
T r a n ( i ^ ) = [ 0 1 ] , T r a n ( j ^ ) = [ − 1 0 ] Tran(\widehat{i})=\begin{bmatrix} 0 \\ 1 \end{bmatrix}, Tran(\widehat{j})=\begin{bmatrix} -1 \\ 0 \end{bmatrix} Tran(i )=[01],Tran(j )=[10]
于是可以直接写出线性变换对应的矩阵:
[ 0 − 1 1 0 ] \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} [0110]

将任意向量左乘该矩阵,就能使其旋转90度,如:
[ 0 − 1 1 0 ] [ − 1 2 ] = [ − 2 − 1 ] \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} \begin{bmatrix} -1 \\ 2 \end{bmatrix} = \begin{bmatrix} -2 \\ -1 \end{bmatrix} [0110][12]=[21]


用这个视角来看,一个原地不动的线性变换对应的矩阵自然就是单位矩阵,因为:
T r a n ( i ^ ) = [ 1 0 ] , T r a n ( j ^ ) = [ 0 1 ] Tran(\widehat{i})=\begin{bmatrix} 1 \\ 0 \end{bmatrix}, Tran(\widehat{j})=\begin{bmatrix} 0 \\ 1 \end{bmatrix} Tran(i )=[10],Tran(j )=[01]

直接得到矩阵:
[ 1 0 0 1 ] \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} [1001]

相关文章:

【线性代数的本质】矩阵与线性变换

线性变化要满足两点性质: 直线(连续的点)在变换后还是直线。原点不变。 假设有坐标轴(基底) i ^ \widehat{i} i 和 j ^ \widehat{j} j ​: i ^ [ 1 0 ] , j ^ [ 0 1 ] \widehat{i}\begin{bmatrix} 1 \…...

CV02_超强数据集:MSCOCO数据集的简单介绍

1.1 简介 MSCOCO数据集,全称为Microsoft Common Objects in Context,是由微软公司在2014年推出并维护的一个大规模的图像数据集,旨在推动计算机视觉领域的研究,尤其是目标识别、目标检测、实例分割、图像描述生成等任务。该数据集…...

Linux--信号(万字详解!超完整!)

目录 0.预备知识 0.1.基本概念 0.2.信号的捕捉 0.3.理解信号的发送与保存 1.信号的产生(阶段一) 1.通过kill命令,向指定进程发送指定的信号 2.通过终端按键产生信号:ctrlc(信号2),ctrl\(…...

onnx模型转rknn到部署

简介 最近开始用3568的板子,之前是在用3399,cpu的话3399比3568强,但是3568有1T的npu算力,所以模型移植过来用npu使用,之前用ncnn感觉太慢了,rk的npu使用没有开源,所以没法兼容,只能跑…...

lua入门(1) - 基本语法

本文参考自: Lua 基本语法 | 菜鸟教程 (runoob.com) 需要更加详细了解的还请参看lua 上方链接 交互式编程 Lua 提供了交互式编程模式。我们可以在命令行中输入程序并立即查看效果。 Lua 交互式编程模式可以通过命令 lua -i 或 lua 来启用: 如下图: 按…...

Finding Global Homophily in Graph Neural Networks When Meeting Heterophily

本文发表于:ICML22 推荐指数: #paper/⭐⭐⭐ 问题背景: 异配图的邻接矩阵难以确定,以及异配图的计算复杂度开销大 可行的解决办法:高通滤波多跳邻居,GPRGNN(pagerank一类,各阶邻居的权重不同,ACM-GCN(高低通滤波,H2GCN(应该复杂度很大&…...

DisFormer:提高视觉动态预测的准确性和泛化能力

最新的研究进展已经显示出目标中心的表示方法在视觉动态预测任务中可以显著提升预测精度,并且增加模型的可解释性。这种表示方法通过将视觉场景分解为独立的对象,有助于模型更好地理解和预测场景中的变化。 尽管在静态图像的解耦表示学习方面已经取得了一…...

Android SurfaceFlinger——Surface和Layer介绍(十九)

按照前面系统开机动画的流程继续分析,在获取到显示屏信息后,下一步就是开始创建 Surface和设置 Layer 层级,这里就出现了两个新的概念——Surface 和 Layer。 一、基本概念 1、Surface介绍 在 Android 系统中,Surface 是一个非常核心的概念,它是用于显示图像的生产者-消…...

C++基础(七):类和对象(中-2)

上一篇博客学的默认成员函数是类和对象的最重要的内容,相信大家已经掌握了吧,这一篇博客接着继续剩下的内容,加油! 目录 一、const成员(理解) 1.0 引入 1.1 概念 1.2 总结 1.2.1 对象调用成员函数 …...

对秒杀的思考

一、秒杀的目的 特价商品,数量有限,先到先得,售完为止 二、优惠券的秒杀 和特价商品的秒杀是一样的,只不过秒杀的商品是优惠券 三、秒杀的需求 秒杀前:提前将秒杀商品,存放到Redis秒杀中:使…...

数据结构预科

在堆区申请两个长度为32的空间,实现两个字符串的比较【非库函数实现】 要求: 1> 定义函数,在对区申请空间,两个申请,主函数需要调用2次 2> 定义函数,实现字符串的输入,void input(char …...

想做亚马逊测评技术需要解决哪些问题,有哪些收益?

现在真正有亚马逊测评技术的人赚的盆满钵满,有些人看到别人赚取就自己盲目去做,买完了账号和设备就感觉自己懂了,却不知里面的水深着,花了钱却没有掌握真正的技术,号莫名其妙就封完了,而每一次大风控注定要…...

1117 数字之王

solution 判断现有数字是否全为个位数 全为个位数,找出出现次数最多的数字,并首行输出最多出现次数,第二行输出所有出现该次数的数值不全为个位数 若当前位数值为0,无需处理若当前位数值非0,则每位立方相乘&#xff0…...

关于ORACLE单例数据库中的logfile的切换、删除以及添加

一、有关logfile的状态解释 UNUSED: 尚未记录change的空白group(一般会出现在loggroup刚刚被添加,或者刚刚使用了reset logs打开数据库,或者使用clear logfile后) CURRENT: 当前正在被LGWR使用的gro…...

Linux高并发服务器开发(十三)Web服务器开发

文章目录 1 使用的知识点2 http请求get 和 post的区别 3 整体功能介绍4 基于epoll的web服务器开发流程5 服务器代码6 libevent版本的本地web服务器 1 使用的知识点 2 http请求 get 和 post的区别 http协议请求报文格式: 1 请求行 GET /test.txt HTTP/1.1 2 请求行 健值对 3 空…...

人工智能系列-NumPy(二)

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 链接数组 anp.array([[1,2],[3,4]]) print(第一个数组:) print(a) print(\n) bnp.array([[5,6],[7,8]]) print(第二个数组:) print(b) print(\n) print…...

[单master节点k8s部署]19.监控系统构建(四)kube-state-metrics

kube-state-metrics 是一个Kubernetes的附加组件,它通过监听 Kubernetes API 服务器来收集和生成关于 Kubernetes 对象(如部署、节点和Pod等)的状态的指标。这些指标可供 Prometheus 进行抓取和存储,从而使你能够监控和分析Kubern…...

字符串函数5-9题(30 天 Pandas 挑战)

字符串函数 1. 相关知识点1.5 字符串的长度条件判断1.6 apply映射操作1.7 python大小写转换1.8 正则表达式匹配2.9 包含字符串查询 2. 题目2.5 无效的推文2.6 计算特殊奖金2.7 修复表中的名字2.8 查找拥有有效邮箱的用户2.9 患某种疾病的患者 1. 相关知识点 1.5 字符串的长度条…...

【C语言题目】34.猜凶手

文章目录 作业标题作业内容2.解题思路3.具体代码 作业标题 猜凶手 作业内容 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词: A说:不是我。 B说:是C。 C说:是D。 D说&#xff…...

C++ 多进程多线程间通信

目录 一、进程间通信 1、管道(Pipe) 2、消息队列(Message Queue) 3、共享内存(Shared Memory) 4、信号量(Semaphore) 5、套接字(Socket) 6、信号&…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子&#xff08…...

idea大量爆红问题解决

问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...

【Veristand】Veristand环境安装教程-Linux RT / Windows

首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...