矩阵理论--矩阵分解
矩阵理论–矩阵分解
矩阵的三角分解、谱分解、最大秩分解、奇异值分解的操作步骤,以及相关说明。
1、QR分解
(1)非奇异方阵
方阵(非奇异):将方阵分解成酉矩阵左乘正线上三角,或者酉矩阵右乘正线下三角。
- 分解步骤:
- 列分块得n个列向量构成的向量组;
- 将n个列向量施密特正交单位化;
- 用标准正交基表出该向量组;
- 写成矩阵相乘的形式,即得三角分解。
- 施密特正交化-单位化:
- B1 = A1/|A1|;
- B2 = [A2-(A2,B1)B1]/|A2-(A2,B1)|;
- B3 = [A3 - (A3,B2)B2-(A3,B1)B1]/|A3 - (A3,B2)B2-(A3,B1)B1|;
- 反过来表出:记k11=|A1|,k22 = |A2-(A2,B1)|,k12=(B1,A2)
- A1 = k11B1;
- A2 = k12B1+k22B2;
- A3 = k13B1+k23B2+k33B3;
- A = [A1,A2,A3] = [B1,B2,B3][k11,k12,k13; 0,k22,k23;0,0,k33]
(2)满秩的高矩阵、宽矩阵
- 列满秩矩阵,列分块,添加列向量,补成一个方阵(非奇异),再按方阵的方式分解,将得到一个方形的酉矩阵左乘(正线上三角;0)
- 行满秩矩阵,行分块,添加行向量,补成一个方阵(非奇异),再按方阵的方式分解,将得到一个方形的酉矩阵右乘(正线下三角,0)
(3)其它矩阵
奇异矩阵,非满秩的高矩阵、宽矩阵,可以分解为 U ∣ L 0 0 0 ∣ V U\begin{vmatrix}L&0\\0&0\end{vmatrix}V U L000 V,U、V是两个方形酉矩阵(不一定同阶)。
分解步骤
2、谱分解
谱是指矩阵的所有特征根构成的集合,表示为 𝜆(A)={𝜆1,𝜆2,……,𝜆r}。
首先需要指出,只有单纯矩阵才有谱分解。
(1)单纯矩阵:每个特征根的基础解系的维数等于特征根的重数。
单纯矩阵,等价于可对角化矩阵。
- 分解步骤:P仅是一个非奇异阵。
- 解特征方程式,求特征根;
- 相似对角化:D = diag() = P-1AP;A = PDP-1;
- P列分块,P-1行分块,利用分块矩阵的乘法即得A的谱分解
- 单纯矩阵谱分解就是将矩阵分解成一系列的秩一矩阵加权和。
- 相似对角化:
- Ap = p𝜆,p是某个特征根的特征向量
- 由于是单纯矩阵,该特征根有几重,这样的p就有几个,这几个p要求线性无关;
- 一共有n个p,从而构成一个方阵P,且线性无关,那么就非奇异,有逆;
- D = P-1AP。
- 秩一矩阵:行向量乘以列向量。
- 幂等矩阵:投影矩阵,AA=A;由于P-1P=E,则P的行向量乘以P-1的列向量,将得到一个幂等矩阵。
- 幂等矩阵的秩可以是小于n的任何一个数,0矩阵也是一种幂等矩阵;特征值非零即1,可对角化。
- 秩一矩阵要么是幂等矩阵,要么是幂等矩阵乘以一个缩放因子,即AA=kA。
(2)正规矩阵:满足AHA=AAH。正规矩阵一定是单纯矩阵。
-
分解步骤:此处的P是一个酉矩阵。
- 相似对角化;
- P列分块,P-1行分块,分块矩阵乘法。
-
正规矩阵谱分解成了一系列的正交投影的加权和。
-
正交投影:幂等矩阵,并且是Hermite阵。
-
如果A为上三角矩阵,则A是正规矩阵的充要条件是A为对角矩阵;
-
如果A为块上三角矩阵,则A是正规矩阵的充要条件是A为块对角矩阵,且对角块为正规矩阵。
-
tr(AAH)=tr(AHA)=A的矩阵二范数;
3、最大秩分解
- 最大秩分解:任意矩阵A,A=BD,B是一个列满秩矩阵,D是一个行满秩矩阵,三个矩阵的秩相等。
- 分解方法:
- A化为行简化阶梯形A_w;
- A_w的非0列对应于A中的列构成B,A_w的非0行对应于A_w的行构成D
- 列满秩矩阵:A是mxn的矩阵,若m>=n,则rank(A)<=n,nullity(A)<=n
- 秩零度定理:rank(A) + nullity(A) = n
- nullity(A)等于Ax=0的解空间维数。
- 如果rank(A)=n,那么nullity(A)=0,即Ax=0的解空间为零空间。
- 列满秩矩阵构成的齐次线性方程组只有零解。
4、奇异值分解
三角分解: A = U ∣ L 0 0 0 ∣ V A=U\begin{vmatrix}L&0\\0&0\end{vmatrix}V A=U L000 V
其中L是一个r阶正线下三角矩阵。
为了进一步简化,发展出奇异值分解: A = U ∣ D 0 0 0 ∣ V A=U\begin{vmatrix}D&0\\0&0\end{vmatrix}V A=U D000 V。
其中D是一个r阶正线对角矩阵。
- 分解步骤:
- 求AHA的特征值,从而求出正奇异值 σ i = λ i \sigma_i = \sqrt{\lambda_i} σi=λi。
- 由于是正规矩阵,因此可以将每个特征根对应的特征子空间的基抽出来构成一个n阶酉矩阵 V = ∣ V 1 V 2 ∣ V = \begin{vmatrix}V1\\V2 \end{vmatrix} V= V1V2 。
- A H A = V H ∣ D H D 0 0 0 ∣ V A^HA=V^H\begin{vmatrix}D^HD&0\\0&0\end{vmatrix}V AHA=VH DHD000 V
- D H D = d i a g { λ 1 , λ 2 , . . . , λ r } D^HD=diag\{{\lambda_1,\lambda_2,...,\lambda_r}\} DHD=diag{λ1,λ2,...,λr};D=diag{𝛿1,𝛿2,…,𝛿r},|𝛿i| = 𝛔i > 0; D的取法不唯一,𝛿i是一个复数,模长为𝛔i,相位任意。
- U = (U1, U2);U1 = AV1HD-1;U2是U1的正交补,U2HU1=0。U1Hx=0,求出基础解系,U1和基础解系一起作施密特正交化,即得U。
- UHAVH = ∣ D 0 0 0 ∣ \begin{vmatrix}D&0\\0&0\end{vmatrix} D000 ;
- A = U ∣ D 0 0 0 ∣ V U\begin{vmatrix}D&0\\0&0\end{vmatrix}V U D000 V
- (AHA)H = AHA,因此AHA是n阶正规矩阵,正规矩阵可以谱分解成一系列正交投影的加权和,正规矩阵是半正定矩阵。
- 正交补的求法:W2是W1的正交补。
- 根据秩零度定理:rank(A)+N(A)=n;
- A的极大无关列向量组可张成rank(A)维的空间W1;
- 令Ax=0,求出基础解系,基础解系可张成解空间W2;
- W1⨁W2=V(Cn)
相关文章:
矩阵理论--矩阵分解
矩阵理论–矩阵分解 矩阵的三角分解、谱分解、最大秩分解、奇异值分解的操作步骤,以及相关说明。 1、QR分解 (1)非奇异方阵 方阵(非奇异):将方阵分解成酉矩阵左乘正线上三角,或者酉矩阵右乘…...
go语言相关bug
第一个bug itcastitcast:/home/jian/share/src/go-test/homeweb-client$ go mod tidy go: finding module for package github.com/micro/go-grpc go: found github.com/micro/go-grpc in github.com/micro/go-grpc v1.0.1 go: homeweb-client/handler importsgithub.com/micr…...
Spring Cloud OpenFeign:基于Ribbon和Hystrix的声明式服务调用
💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Spring Cloud OpenFeign:基于Ribbon和Hystrix的声明式服务调用 Spring Cloud OpenFeign是一个声明式的服务调用框架,基于Feign并整合了Ribbon和…...
租用服务器带宽类型应用
服务器带宽类型多样,以满足不同行业的需求。本文将介绍香港常见的服务器带宽类型及其应用领域。 1. 共享带宽 共享带宽是指多个用户共同使用同一台服务器的带宽资源。这种带宽类型适用于小型企业或个人网站,因为其成本较低。由于多个用户共享带宽资源&…...
SOLIDWORKS实用技巧之焊件轮廓应用
1.焊件轮廓库官方下载入口 焊件轮廓可以自制,也可以从软件中在线下载获取直接使用,如图1,联网状态按ctrl左键点击下载,解压后获得库文件。 图1 图2 2.库放置的位置和配置 从SOLIDWORKS2014版起,软件焊件轮廓库支持可…...
本地浏览器全局翻译 demo 以火狐firefox为例【免费-简单】
translateDemo 介绍使用说明简单到流泪 本地浏览器全局翻译 demo 以火狐firefox为例 1、安装插件 使用少量的 JavaScript 脚本,自由定义网页显示与运行方式。2、将上述脚本 追加到 插件中即可实现全局翻译;3、免费;参与贡献特技 translateDe…...
使用多线程处理List数据
最近遇到了一个业务场景,需要对List中的数据逐个发起http请求(List中的数据各自独立,对执行顺序无要求),考虑到可以使用多线程加快处理速度。 封装了如下方法: /// <summary>/// 多线程处理数据-无返回值/// </summary&…...
Elasticsearch--Python使用、Django/Flask集成
一、Python使用 from elasticsearch import Elasticsearchobj Elasticsearch() # 创建索引(Index) result obj.indices.create(indexuser, body{"userid":1,username:lqz},ignore400) # print(result) # 删除索引 # result obj.indices.de…...
pyspark将数据多次插入表的时候报错
代码 报错信息 py4j.protocol.Py4JJavaError: An error occurred while calling o129.sql. : org.apache.spark.sql.catalyst.parser.ParseException: mismatched input INSERT expecting <EOF>(line 12, pos 0) 原因 插入语句结束后没有加;结尾 把两个&am…...
Qt绘制饼状图
必须在MainWindow.h头文件开头放 #include <QtCharts> //必须这么设置 创建chart: void MainWindow::iniPiewChart() { //饼图初始化QChart *chart new QChart();chart->setTitle(" Piechart演示");chart->setAnimationOptions(QChar…...
Vue3 setup函数
一、setup函数介绍 setup函数是Vue3中全新的一个配置项,值为一个函数,是所有 Composition API 中“表演的舞台”。 我们在Vue2中用到的所有数据、方法,都需要配置在setup中。 这是我们在Vue2中的写法: 这是我们在Vue3 setup中的…...
Django(三、数据的增删改查、Django生命周期流程图)
文章目录 一、 基于ORM进行的CURDuser_list:作为主页使用路由文件urls.py配置如下:add.html:用于新增用户的数据页add页面视图函数如下:edit.html:修改数据的页面那么来总结一下上序所操作所用到的内容。 导入已存在的表其方式有两…...
Linux 部署Sentinel控制台
Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 1.版本选择 SpringCloudAlibaba SpringClo…...
服务器如何下载百度网盘数据
百度网盘作为镜像 国外用户传数据到我们服务器比较慢,但是传输百度网盘速度还是可以的。 这样我们就可以将百度网盘作为一个文件中转站。 但Linux系统下使用百度网盘有些麻烦,虽然百度网盘也有Linux版本,但服务器没开启图形界面,使用的是命令行。这个时候就得感谢开发者Ho…...
POJ 3254 Corn Fields 状态压缩DP(铺砖问题)
一、题目大意 我们要在N * M的田地里种植玉米,有如下限制条件: 1、对已经种植了玉米的位置,它的四个相邻位置都无法继续种植玉米。 2、题目中有说一些块无论如何,都无法种植玉米。 求所有种植玉米的方案数(不种植也…...
transformers安装避坑
1.4 下载rust编辑器 看到这里你肯定会疑惑了,我们不是要用python的吗? 这个我也不知道,你下了就对了,不然后面的transformers无法安装 因为是windows到官网选择推荐的下载方式https://www.rust-lang.org/tools/install。 执行文…...
牛客、赛码网OJ调试(全)
现在无论开发还是测试,面试的时候都需要考察代码能力。 从测试的职业发展来看,现在市场上对于纯功能测试的需求很少,招聘方均要求面试者一方面具备测试基础能力,也要求有点代码能力。 对于测试来说,除了测试开发&#…...
【CSS】全局声明引入自定义字体
以下用vue项目为例,其他的也是类似! 在Vue.js中可以使用全局样式表来定义字体。通常,可以在项目中的主样式表中定义全局字体,然后确保该样式表在整个应用程序中被引入。 以下是一般的步骤: 在项目中创建一个全局样式…...
「Flask」路由+视图函数
路由 路由的作用是将 HTTP 请求的 URL 路径映射到相应的函数处理程序。这样我们在开发过程中,就能将不同的 URL 路径与相应的函数处理程序关联起来,从而实现对 Web 应用的灵活控制。 路由可以分为静态路由和动态路由。两者主要是在形式上有一些区别&am…...
信息系统项目管理师 教材目录、考试大纲、考情
文章目录 考情考试大纲第1章 信息化发展第2章 信息技术发展第3章 信息系统治理第4章 信息系统管理第5章 信息系统工程第6章 项目管理概论第7章 项目立项管理第8章 项目整合管理第9章 项目范围管理272第10章 项目进度管理297第11章 项目成本管理334第12章 项目质量管理358第13章…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
机器学习的数学基础:线性模型
线性模型 线性模型的基本形式为: f ( x ) ω T x b f\left(\boldsymbol{x}\right)\boldsymbol{\omega}^\text{T}\boldsymbol{x}b f(x)ωTxb 回归问题 利用最小二乘法,得到 ω \boldsymbol{\omega} ω和 b b b的参数估计$ \boldsymbol{\hat{\omega}}…...
