【线性代数】矩阵变换

一些特殊的矩阵

一,对角矩阵

1,什么是对角矩阵

表示将矩阵进行伸缩(反射)变换,仅沿坐标轴方向伸缩(反射)变换。

2,对角矩阵可分解为多个F1矩阵,如下:

二,剪切矩阵

1,什么是剪切矩阵

2,剪切矩阵的几何意义

3,剪切矩阵的特点

变换前后面积不变

三,正交矩阵

1,什么是正交矩阵?

2,正交矩阵的特点

(1)是方阵

(2)每个列向量都是单位矩阵

(3)每对列向量都正交

(4)正交矩阵的转置等于它的逆

3,正交矩阵的几何意义

只有旋转,无剪切,无伸缩,无反射

如下图所示,矩阵A表示绕X轴旋转60°,矩阵B表示绕Z轴旋转45°,C表示先按X轴旋转60°再按Z轴旋转45°,顺序不能颠倒。

若颠倒顺序,先绕Z轴旋转,再按X轴旋转,则:

四,投影矩阵

1,什么是投影矩阵?

将高维的变换到低维

谱分解

作用对象是对称矩阵,对称矩阵的特征向量正交。

本质:将一个复杂的变换分解为:旋转-伸缩-逆旋转

Q为单位特征向量组成的矩阵,即e1,e2,e3都是单位特征向量,\Lambda为特征值组成的对角矩阵。

过程解释(以2维为例):原对称矩阵S具有2个特征向量,且特征向量都正交,Q^{T}矩阵实现了将特征基 e1,e2旋转到原来的基 (1,0)(0,1)的过程,然后进行\Lambda伸缩变换,即沿特征基的方向进行伸缩变换,最后再乘Q将特征基旋转回原来的位置。

谱分解的特殊点:

(1)对称矩阵的特征向量都正交,原来的基也是正交的,则仅进行正交变换(旋转)即可实现将特征基旋转为原来的基。

奇异值分解

奇异值分解与谱分解的区别只有,谱分解是旋转---伸缩---逆旋转,而奇异值分解是旋转---伸缩(可能有维度消除或维度扩充)---再旋转。奇异值分解的第二次旋转不是第一次旋转的逆旋转。

1,图+公式推导

待分解矩阵的变换如图,改变换将相互正交的向量v_{1}v_{2} 变换到仍然相互正交的向量u_{1}u_{2},伸缩量为\sigma _{1}\sigma _{2}。设V=[v_{1},v_{2}]U=[u_{1},u_{2}]\Sigma =\begin{bmatrix} \sigma _{1} &0 \\ 0 &\sigma _{2} \end{bmatrix}

MV=U\Sigma,即 M=U\Sigma V^{T}

即         M^{T}M=V\Sigma U^{T}U\Sigma V^{T}=V\Sigma ^{2}V^{T}

即         M^{T}MV=V\Sigma ^{2}

所以M^{T}M的特征向量为V,特征值为\Sigma ^{2}=\begin{bmatrix} \sigma _{1}^{2} &0 \\ 0 & \sigma _{2}^{2} \end{bmatrix}

同理MM^{T}的特征向量为U,特征值为\Sigma ^{2}=\begin{bmatrix} \sigma _{1}^{2} &0 \\ 0 & \sigma _{2}^{2} \end{bmatrix}

综上,奇异值分解中M=U\Sigma V^{T}UMM^{T}的特征向量,VM^{T}M的特征向量。\SigmaMM^{T}M^{T}M特征值的平方根。

V为右奇异向量,U为左奇异向量。

2,几何解释

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

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

相关文章

【浅谈具身智能(Embodied AI)】AI新风口?

具身智能 概念: 具身智能(Embodied AI)是一种基于物理身体进行感知和行动的智能系统。它通过智能体与环境的交互获取信息、理解问题、做出决策并实现行动,从而产生智能行为和适应性。具身智能拥有支持感知和运动的物理身体,可以…

.NET C# 配置 Options

.NET C# 配置 Options 使用 options 模式可以带来许多好处,包括清晰的配置管理、类型安全、易于测试和灵活性。但在使用过程中,也需要注意配置复杂性、性能开销和依赖框架等问题。通过合理设计和使用,可以充分发挥 options 模式的优势&#…

设计模式实战:库存管理系统的设计与实现

简介 本篇文章将介绍如何设计一个库存管理系统,系统包括商品的创建、库存操作(如入库、出库)、库存检查等功能。我们将通过这一项目,应用工厂模式、策略模式和模板方法模式来解决具体的设计问题。 问题描述 设计一个库存管理系统,用户可以创建商品,进行入库和出库操作…

Vue.js 2 项目实战(五):水果购物车

前言 Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架。它的设计目标是通过采用易于上手的结构和强大的功能,使前端开发变得更加简便和高效。以下是 Vue.js 的一些关键特性和优点: 核心特性 声明式渲染 Vue.js 使用声明式语法来描述用户界面&a…

MybatisPlus的使用与详细讲解

今天我们来讲解一下Mybatis的升级版,就是MybatisPlus. MybatisPlus是如何获取实现CRUD的数据库表信息的? 默认以类名驼峰转下划线作为表名 默认把名为id的字段作为主键 默认把变量名驼峰转下划线作为表的字段名 1.MybatisPlus中比较常见的注解 TableN…

宠物空气净化器哪款除臭效果好?质量好的养狗空气净化器排名

作为一个宠物家电小博主,炎炎夏日,家中的宠物给你带来的不仅仅是温暖的陪伴,还有那挥之不去的宠物异味。普通空气净化器虽然能够应对一般的空气净化需求,但对于养猫家庭特有的挑战,如宠物毛发、皮屑和异味等&#xff0…

mysql中的索引和分区

目录 1.编写目的 2.索引 2.1 创建方法 2.2 最佳适用 2.3 索引相关语句 3.分区 3.1 创建方法 3.2 最佳适用 Welcome to Code Blocks blog 本篇文章主要介绍了 [Mysql中的分区和索引] ❤博主广交技术好友,喜欢文章的可以关注一下❤ 1.编写目的 在MySQL中&…

ros2--接口

什么是接口 这里的接口不是编程语言中的函数接口。而是应该理解为在ros2中进行数据通信的接口;这些接口在ros2中使用时必须有统一的标准,就像陷淖USB接口一样有着统一的通信协议。所以这里的接口更好的理解是:ros2数据通信的统一接口。 我们…

JAVA中的输入输出流

FileInputStream、FileOutputStream(字节流) 字节输入流InputStream主要方法: read() :从此输入流中读取一个数据字节。 read(byte[] b) :从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。 read(b…

单例模式懒汉模式和饿汉模式

线程安全 单例模式在单线程中,当然是安全的。但是如果在多线程中,由于并行判断,可能会导致创建多个实例。那么如何保证在多线程中单例还是只有一个实例呢? 常见的三种方式: 局部静态变量 原理和饿汉模式相似,利用static只会初始…

cURL自动读取小工具

做自动化测试的时候Postman判断数据什么的太麻烦,做个脚本代替一下 curl_parser.py import redef parse_curl(curl_command):# 匹配所有的 -H "key: value"header_pattern re.compile(r-H "([^:]): ([^"])")headers dict(header_patte…

Redis系列命令更新--Redis有序集合命令

Redis有序集合(sorted set) (1)说明: A、Redis有序集合和集合一样也是string类型元素的集合,且不允许重复的成员;不同的是每个元素都会关联一个double类型的分数;redis正式通过分数…

Web开发:元素

元素 基础结构元素文本内容元素列表元素多媒体元素表格元素表单元素语义元素示例结构分析基础结构元素头部和导航主页部分关于部分服务部分联系部分侧边栏页脚 基础结构元素 <!DOCTYPE html>&#xff1a;声明文档类型&#xff0c;告诉浏览器使用HTML5标准解析文档。它必…

MongoDB 文档存储

安装 下载&#xff1a; Download MongoDB Community Server | MongoDB 说明&#xff1a; 现在基本都安装的是4.4以后的版本。安装完成后使用 mongod 来查看是否安装成功 会输出一堆内容 而如果想要操作数据库&#xff0c;则需要安装一个工具&#xff0c;mongosh-2.2.12-x64.m…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 堆内存申请(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

linux(CentOS、Ubuntu)安装python3.12.2环境

1.下载官网Python安装包 wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tar.xz 1.1解压 tar -xf Python-3.12.2.tar.xz 解压完后切换到Python-3.12.2文件夹(这里根据自己解压的文件夹路径) cd /usr/packages/Python-3.12.2/ 1.2升级软件包管理器 CentOS系…

微信小程序canvas 使用案例(一)

一、cavans 对象获取、上线文创建 1.wxml <!-- canvas.wxml --><canvas type"2d" id"myCanvas"></canvas> 2.js /*** 生命周期函数--监听页面加载*/onLoad(options) {const query wx.createSelectorQuery()query.select(#myCanvas).f…

mysql练习3

1.修改student 表中年龄(sage)字段属性&#xff0c;数据类型由int 改变为smallint 2.为Course表中Cno 课程号字段设置索引,并查看索引 3.为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引&#xff0c;索引名为SC_INDEX 4.创建一视图 stu info,查询全体学生的姓名&#…

IDEA的APIPost接口测试插件详解

APIPOST官方网址 一、安装APIPost插件 打开IntelliJ IDEA&#xff1a; 启动您的IntelliJ IDEA开发环境。 导航到插件设置&#xff1a; 在Windows或Linux上&#xff0c;点击 File > Settings。在macOS上&#xff0c;点击 IntelliJ IDEA > Preferences。 搜索并安装APIPo…

前端:上传2进制图片

1、let formData new FormData(); 2、添加要传的字段&#xff1a;formData.append("avatarfile", data); &#xff08;key,value&#xff09; 3、上传文件 function uploadImg() {// 1定义FormDatalet formData new FormData();// 2添加字段formData.append("…