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

【线性代数】矩阵变换

一些特殊的矩阵

一,对角矩阵

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,几何解释

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 使用Top进行设备性能分析思路
  • 面试题001:Java的特点和优点,为什么要选择Java?
  • 深入Redis集群部署:从安装配置到测试验证的完整指南
  • MybatisPlus的使用与详细讲解
  • 排序算法与复杂度介绍
  • Linux的shell的date命令
  • Spring Boot 与 Amazon S3:快速上传与下载文件的完整指南
  • 从PyTorch官方的一篇教程说开去(4 - Q-table来源及解决问题实例)
  • LeetCode 125.验证回文串 C++写法
  • RDMA通信4:MR(Memory Region, 内存区域)基本概念和作用
  • html改写vue日志
  • 【银河麒麟服务器操作系统】java进程oom现象分析及处理建议
  • 计数,桶与基数排序
  • 建投数据人力资源系列产品获得欧拉操作系统及华为鲲鹏技术认证书
  • vue2 使用代码编辑器插件 vue-codemirror
  • [译] 怎样写一个基础的编译器
  • 2017-08-04 前端日报
  • HashMap剖析之内部结构
  • Java面向对象及其三大特征
  • Joomla 2.x, 3.x useful code cheatsheet
  • python docx文档转html页面
  • 动态魔术使用DBMS_SQL
  • 对超线程几个不同角度的解释
  • 分布式任务队列Celery
  • 力扣(LeetCode)357
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 深度学习中的信息论知识详解
  • 使用SAX解析XML
  • 事件委托的小应用
  • 数据科学 第 3 章 11 字符串处理
  • 消息队列系列二(IOT中消息队列的应用)
  • gunicorn工作原理
  • Java总结 - String - 这篇请使劲喷我
  • 昨天1024程序员节,我故意写了个死循环~
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​MySQL主从复制一致性检测
  • ### RabbitMQ五种工作模式:
  • #控制台大学课堂点名问题_课堂随机点名
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (办公)springboot配置aop处理请求.
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (算法)前K大的和
  • (杂交版)植物大战僵尸
  • .gitignore不生效的解决方案
  • .Net Core与存储过程(一)
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET 读取 JSON格式的数据
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .Net插件开发开源框架
  • .sh
  • ?.的用法