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

矩阵的QR分解

矩阵的QR分解

GramSchmidt

设存在 B = { x 1 , x 2 , … , x n } \mathcal{B}=\left\{\mathbf{x}_{1},\mathbf{x}_{2},\ldots,\mathbf{x}_{n}\right\} B={x1,x2,,xn}在施密特正交化过程中

  1. q 1 = x 1 ∣ ∣ x 1 ∣ ∣ q_1=\frac{x_1}{||x_1||} q1=∣∣x1∣∣x1
  2. q k = x k − ∑ i = 1 k − 1 < q i , x k > u i ∣ ∣ x k − ∑ i = 1 k − 1 < q i , x k > u i ∣ ∣ q_k=\frac{x_k-\sum_{i=1}^{k-1}\left< q_i,x_k\right>u_i}{||x_k-\sum_{i=1}^{k-1}\left< q_i,x_k\right>u_i||} qk=∣∣xki=1k1qi,xkui∣∣xki=1k1qi,xkui

对于任意一个矩阵 A m × n = { a 1 ∣ a 2 ∣ … ∣ a n } A_{m\times n}=\{a_1|a_2|\dots|a_n\} Am×n={a1a2an},其行向量线性无关,则存在 A = Q R A=QR A=QR,其 Q m × n = { q 1 ∣ q 2 ∣ … ∣ q n } Q_{m\times n}=\{q_1|q_2|\dots|q_n\} Qm×n={q1q2qn}矩阵是 R ( A ) R(A) R(A)的一组正交基, R m × m R_{m\times m} Rm×m是一个上三角矩阵,则
R = ( ν 1 q 1 ∗ a 2 q 1 ∗ a 3 ⋯ q 1 ∗ a n 0 ν 2 q 2 ∗ a 3 ⋯ q 2 ∗ a n 0 0 ν 3 ⋯ q 3 ∗ a n ⋮ ⋮ ⋮ ⋱ ⋮ 0 0 0 ⋯ ν n ) \mathbf{R}=\begin{pmatrix}\nu_1&\mathbf{q}_1^*\mathbf{a}_2&\mathbf{q}_1^*\mathbf{a}_3&\cdots&\mathbf{q}_1^*\mathbf{a}_n\\0&\nu_2&\mathbf{q}_2^*\mathbf{a}_3&\cdots&\mathbf{q}_2^*\mathbf{a}_n\\0&0&\nu_3&\cdots&\mathbf{q}_3^*\mathbf{a}_n\\\vdots&\vdots&\vdots&\ddots&\vdots\\0&0&0&\cdots&\nu_n\end{pmatrix} R= ν1000q1a2ν200q1a3q2a3ν30q1anq2anq3anνn
其中 v 1 = ∣ ∣ a 1 ∣ ∣ , v k = ∣ ∣ a k − ∑ i = 1 k − 1 < q i , a k > q i ∣ ∣ for k>1 v_1=||a_1||,v_k=||a_k-\sum_{i=1}^{k-1}<q_i,a_k>q_i|| \quad\text{for k>1} v1=∣∣a1∣∣,vk=∣∣aki=1k1<qi,ak>qi∣∣for k>1

image-20231115204616157

Householder

酉矩阵:一个复数矩阵 U n × n U_{n\times n} Un×n它的行或列构成一个 C n C^n Cn的正交基,其中 U ∗ U = I , ∣ ∣ U x ∣ ∣ 2 = ∣ ∣ x ∣ ∣ 2 U^*U=I,||Ux||_2=||x||_2 UU=I∣∣Ux2=∣∣x2

对于非0向量 U ∈ C n × 1 U \in C^{n\times 1} UCn×1 ,则 U U U的正交投影是 P u = U U ∗ U ∗ U P_u=\frac{UU^*}{U^*U} Pu=UUUU,其垂直方向的投影是 P u ⊥ = I − U U ∗ U ∗ U P_{u\perp}=I-\frac{UU^*}{U^*U} Pu=IUUUU

初等反射( householder 变换)

其中对于 u ⊥ u^{\perp} u 的初等反射为 R = I − 2 U U ∗ U ∗ U R=I-2\frac{UU^*}{U^*U} R=I2UUUU

对于矩阵 A m × n = [ A ∗ 1 ∣ A ∗ 2 ∣ ⋯ ∣ A ∗ n ] \mathbf{A}_{m\times n}=[\mathbf{A}_{*1}|\mathbf{A}_{*2}|\cdots|\mathbf{A}_{*n}] Am×n=[A1A2An]

构建基本反射 R = I − 2 U U ∗ U ∗ U R=I-2\frac{UU^*}{U^*U} R=I2UUUU,其中 u = A ∗ 1 ± μ ∣ ∣ A ∗ 1 ∣ ∣ e 1 , μ = { 1 if  x 1 is real , x 1 / ∣ x 1 ∣ if  x 1 is not real , u=A_{*1}\pm\mu||A_{*1}||e_1,\quad\left.\mu=\left\{\begin{matrix}1&\text{if }x_1\text{ is real},\\x_1/|x_1|&\text{if }x_1\text{ is not real},\end{matrix}\right.\right. u=A1±μ∣∣A1∣∣e1,μ={1x1/∣x1if x1 is real,if x1 is not real,

根据householder变换可得 R 1 A ∗ 1 = ∓ μ ∥ A ∗ 1 ∥ e 1 = ( t 11 , 0 , ⋯ , 0 ) T \mathbf{R}_1\mathbf{A}_{*1}=\mp\mu\|\mathbf{A}_{*1}\|\mathbf{e}_1=(t_{11},0,\cdots,0)^T R1A1=μA1e1=(t11,0,,0)T

所以 R 1 A = [ R 1 A ∗ 1 ∣ R 1 A ∗ 2 ∣ ⋯ ∣ R 1 A ∗ n ] = ( t 11 t 1 T 0 A 2 ) \left.\mathbf{R}_1\mathbf{A}=[\mathbf{R}_1\mathbf{A}_{*1}|\mathbf{R}_1\mathbf{A}_{*2}|\cdots|\mathbf{R}_1\mathbf{A}_{*n}]=\left(\begin{array}{cc}t_{11}&\mathbf{t}_1^T\\\mathbf{0}&\mathbf{A}_2\end{array}\right.\right) R1A=[R1A1R1A2R1An]=(t110t1TA2),其中 A 2 A_2 A2 是一个 ( m − 1 × n − 1 ) (m-1\times n-1) (m1×n1)的矩阵

若同时对 A 2 A_2 A2矩阵进行操作可以得到一个上三角矩阵 ( m = n ) (m=n) (m=n),即 P A = T PA=T PA=T,其中 P P P矩阵为elementary reflector矩阵的乘积, T T T矩阵为上梯形

image-20231116091638599

image-20231116091656605

Givens 旋转

image-20231115234630004

对于正交矩阵 P P P形式如上,表示在平面 ( i , j ) (i,j) (i,j)上旋转,其中 s 2 + c 2 = 1 s^2+c^2=1 s2+c2=1

对于向量 X = { x 1 , x 2 … , x n } T X=\{x_1,x_2\dots,x_n\}^T X={x1,x2,xn}T P i j X = { x 1 , x 2 , … , c x i + s x j , … , − s x i + c x j , … , x n } T P_{ij}X=\{x_1,x_2,\dots,cx_i+sx_j,\dots,-sx_i+cx_j,\dots,x_n\}^T PijX={x1,x2,,cxi+sxj,,sxi+cxj,,xn}T,易知旋转矩阵乘某一个向量,其只有在该旋转平面上的值发生改变,若存在:
c = x i x i 2 + x j 2 , s = x j x i 2 + x j 2 c=\frac{x_i}{\sqrt{x_i^2+x_j^2}},s=\frac{x_j}{\sqrt{x_i^2+x_j^2}} c=xi2+xj2 xi,s=xi2+xj2 xj
P i j X = { x 1 , x 2 , … , x i 2 + x j 2 , … , 0 , … , x n } T P_{ij}X=\{x_1,x_2,\dots,\sqrt{x_i^2+x_j^2},\dots,0,\dots,x_n\}^T PijX={x1,x2,,xi2+xj2 ,,0,,xn}T

由此可以实现消去向量的第j个值,即存在:
P 12 x = ( x 1 2 + x 2 2 0 x 3 x 4 ⋮ x n ) , P 13 P 12 x = ( x 1 2 + x 2 2 + x 3 2 0 x 4 ⋮ x n ) , … , P 1 n ⋯ P 13 P 12 x = ( ∥ x ∥ 0 0 ⋮ 0 ) . \mathbf P_{12}\mathbf x=\begin{pmatrix}\sqrt{x_1^2+x_2^2}\\0\\x_3\\x_4\\\vdots\\x_n\end{pmatrix},~\mathbf P_{13}\mathbf P_{12}\mathbf x=\begin{pmatrix}\sqrt{x_1^2+x_2^2+x_3^2}\\0\\x_4\\\vdots\\x_n\end{pmatrix},~\ldots,~\mathbf P_{1n}\cdots\mathbf P_{13}\mathbf P_{12}\mathbf x=\begin{pmatrix}\|\mathbf x\|\\0\\0\\\vdots\\0\end{pmatrix}. P12x= x12+x22 0x3x4xn , P13P12x= x12+x22+x32 0x4xn , , P1nP13P12x= x000 .

A A A矩阵是非奇异矩阵,则可以利用householder、givens以及Gram-schmidt来产生一个正交矩阵 Q Q Q以及一个上三角矩阵 R R R其对角线上全为正数,可以得到形如 A = Q R A=QR A=QR的形式

相关文章:

矩阵的QR分解

矩阵的QR分解 GramSchmidt 设存在 B { x 1 , x 2 , … , x n } \mathcal{B}\left\{\mathbf{x}_{1},\mathbf{x}_{2},\ldots,\mathbf{x}_{n}\right\} B{x1​,x2​,…,xn​}在施密特正交化过程中 q 1 x 1 ∣ ∣ x 1 ∣ ∣ q_1\frac{x_1}{||x_1||} q1​∣∣x1​∣∣x1​​ q k …...

STL总结

STL vector 头文件<vector> 初始化,定义,定义长度&#xff0c;定义长度并且赋值&#xff0c;从数组中获取数据返回元素个数size()判断是否为空empty()返回第一个元素front()返回最后一个数back()删除最后一个数pop_back()插入push_back(x)清空clear()begin()end()使用s…...

资深测试总结,现在软件测试有未来吗?“你“的底气在哪里?

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、为什么会有 “…...

Scalable Exact Inference in Multi-Output Gaussian Processes

Orthogonal Instantaneous Linear Mixing Model TY are m-dimensional summaries&#xff0c;ILMM means ‘Instantaneous Linear Mixing Model’&#xff0c;OILMM means ‘Orthogonal Instantaneous Linear Mixing Model’ 辅助信息 作者未提供代码...

sqli-labs(Less-3)

1. 通过构造id1’ 和id1’) 和id1’)–确定存在注入 可知原始url为 id(‘1’) 2.使用order by 语句猜字段数 http://127.0.0.1/sqlilabs/Less-3/?id1) order by 4 -- http://127.0.0.1/sqlilabs/Less-3/?id1) order by 3 --3. 使用联合查询union select http://127.0.0.1…...

集合框架面试题

一、集合容器的概述 1. 什么是集合 集合框架&#xff1a;用于存储数据的容器。 集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。 任何集合框架都包含三大块内容&#xff1a; 对外的接口、接口的实现和对集合运算的算 法。 接口&#xff1a;表示集合的抽象数据…...

【LeetCode刷题日志】225.用队列实现栈

&#x1f388;个人主页&#xff1a;库库的里昂 &#x1f390;C/C领域新星创作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏✨收录专栏&#xff1a;LeetCode 刷题日志&#x1f91d;希望作者的文章能对你有所帮助&#xff0c;有不足的地方请在评论区留言指正&#xff0c;…...

【JavaScript】fetch 处理流式数据,实现类 chatgpt 对话

本文只包含最基础的请求后端大佬给得对话接口&#xff0c;大部分模型的传参是差不多的&#xff0c;核心还是如何处理 fetch 获取的流数据 import { defineStore } from pinia; import { ElMessage } from element-plus;type Role system | user | assistant; export interfac…...

收发电子邮件

电子邮件是Internet提供的又一个重要服务项目。早在1987年9月20日&#xff0c;中国首封电子邮件就是从北京经意大利向前联邦德国卡尔斯鲁厄大学发出的&#xff0c;在中国首次实现了与Internet的连接&#xff0c;使中国成为国际互联网大家庭中的一员。现在随着Internet的迅速发展…...

sql13(Leetcode570至少有5名直接下属的经理)

代码&#xff1a; 脑子记不住 语法全靠试.. # Write your MySQL query statement below select b.name from (select managerId,count(managerId) as numfrom Employeegroup by managerId ) a left join Employee b on a.managerIdb.id where a.num>5 and b.name is not N…...

15分钟,不,用模板做数据可视化只需5分钟

测试显示&#xff0c;一个对奥威BI软件不太熟悉的人来开发数据可视化报表&#xff0c;要15分钟&#xff0c;而当这个人去套用数据可视化模板做报表&#xff0c;只需5分钟&#xff01; 数据可视化模板是奥威BI上的一个特色功能板块。用户下载后更新数据源&#xff0c;立即就能获…...

C 语言字符串函数

C 语言字符串函数 在本文中&#xff0c;您将学习使用诸如gets()&#xff0c;puts&#xff0c;strlen()等库函数在C中操作字符串。您将学习从用户那里获取字符串并对该字符串执行操作。 您通常需要根据问题的需要来操作字符串。大多数字符串操作都可以自定义方法完成&#xff…...

nvm安装详细教程(卸载旧的nodejs,安装nvm、node、npm、cnpm、yarn及环境变量配置)

文章目录 一、完全卸载旧的nodejs1、打开系统的控制面板&#xff0c;点击卸载程序&#xff0c;卸载nodejs&#xff08;1&#xff09;打开系统的控制面板&#xff0c;点击程序下的卸载程序&#xff08;2&#xff09;找到node.js&#xff0c;鼠标右击出现下拉框&#xff0c;点卸载…...

详细步骤记录:持续集成Jenkins自动化部署一个Maven项目

Jenkins自动化部署 提示&#xff1a;本教程基于CentOS Linux 7系统下进行 Jenkins的安装 1. 下载安装jdk11 官网下载地址&#xff1a;https://www.oracle.com/cn/java/technologies/javase/jdk11-archive-downloads.html 本文档教程选择的是jdk-11.0.20_linux-x64_bin.tar.g…...

Python学习(一)基础语法

文章目录 1. 入门1.1 解释器的作用1.2 下载1.3 基础语法输入输出语法与引号注释&#xff1a;变量&#xff1a; 数据类型与四则运算数据类型四则运算数据类型的查看type()数据类型的转换int()、int()、float() 流程控制格式化输出循环与遍历逻辑运算符list遍历字典dict遍历 跳出…...

【C刷题】day7

&#x1f3a5; 个人主页&#xff1a;深鱼~&#x1f525;收录专栏&#xff1a;【C】每日一练&#x1f304;欢迎 &#x1f44d;点赞✍评论⭐收藏 一、选择题 1、以下对C语言函数的有关描述中&#xff0c;正确的有【多选】&#xff08; &#xff09; A: 在C语言中&#xff0c;一…...

数据挖掘复盘——apriori

read_csv函数返回的数据类型是Dataframe类型 对于Dataframe类型使用条件表达式 dfdf.loc[df.loc[:,0]2]df: 这是一个DataFrame对象的变量名&#xff0c;表示一个二维的表格型数据结构&#xff0c;类似于电子表格或SQL表。 df.loc[:, 0]: 这是使用DataFrame的.loc属性来进行…...

Windows10下Maven3.9.5安装教程

文章目录 1.下载maven2.安装3.配置系统变量3.1.新建系统变量 MAVEN_HOME3.2.编辑系统变量Path 4.CMD命令测试是否安装成功5.配置maven本地仓库6.配置国内镜像仓库 1.下载maven 官网 https://maven.apache.org/download.cgi 点击下载。 2.安装 解压到指定目录 D:\installSoft…...

【开源】基于JAVA的校园失物招领管理系统

项目编号&#xff1a; S 006 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S006&#xff0c;文末获取源码。} 项目编号&#xff1a;S006&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 招领管理模块2.2 寻物管理模块2.3 系…...

requests爬虫IP连接初始化问题及解决方案

问题背景 在使用HTTPS爬虫IP连接时&#xff0c;如果第一次请求是chunked方式&#xff0c;那么HTTPS爬虫IP连接将不会被初始化。这个问题可能会导致403错误&#xff0c;或者在使用HTTPS爬虫IP时出现SSL错误。 解决方案 为了解决这个问题&#xff0c;我们可以在requests库的ada…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...