矩阵的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的形式

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

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

相关文章

Axure RP Pro 8 mac/win中文版:打造无限可能的原型设计工具

在如今的数字化时代&#xff0c;原型设计工具越来越受到设计师和产品经理们的重视。而Axure RP Pro8作为一款强大的原型设计工具&#xff0c;成为了众多专业人士的首选。 首先&#xff0c;Axure RP Pro8具备丰富的功能。它提供了多种交互元素和动画效果&#xff0c;使得用户可…

SR-LIO--手写紧耦合IESKF

1.ESKF初始化 void eskfEstimator::tryInit(const std::vector<std::pair<double, std::pair<Eigen::Vector3d, Eigen::Vector3d>>> &imu_meas) { //通过imu测量值初始化均值&#xff0c;协方差&#xff1b;(均值用于初始化零偏&#xff0c;协方差用于…

鸿蒙应用开发初尝试《创建项目》,之前那篇hello world作废

经过几年的迅速发展&#xff0c;鸿蒙抛弃了JAVA写应用的方式&#xff0c;几年前了解的鸿蒙显然就gg了。 这几年鸿蒙发布了方舟&#xff08;ArkUI Arkts&#xff09;&#xff0c;将TypeScript作为了推荐开发语言&#xff0c;你依然可以用FAJS,但华为推荐用StageArkTs!!!那么你还…

Java架构师软件架构设计导论

目录 1 软件架构设计导论2 HR角度看架构师3 软件架构设计概述4 顶级大师眼中的架构5 建筑中的架构师6 软件架构的发展阶段7 软件架构的意义8 架构是项目干系人进行交流的手段9 架构有助于循序渐进的原型设计10 架构是设计决策的体现11 架构明确系统设计约束条件12 架构与组织结…

二阶低通滤波器(二阶巴特沃斯滤波器)

连续传递函数G(s) 离散传递函数G(z) 差分方程形式 二阶巴特沃斯滤波器参数设计 设计采样频率100Hz&#xff0c;截止频率33Hz。 注意&#xff1a;设计参数使用在离散系统中&#xff01; 同理&#xff0c;其他不同阶数不同类型的滤波器设计&#xff0c;如二阶高通滤波器、二阶…

计算机网络(持续更新…)

文章目录 一、概述1. 计网概述⭐ 发展史⭐ 基本概念⭐ 分类⭐ 数据交换方式&#x1f970; 小练 2. 分层体系结构⭐ OSI 参考模型⭐TCP/IP 参考模型&#x1f970; 小练 二、物理层1. 物理层概述⭐ 四个特性 2. 通信基础⭐ 重点概念⭐ 极限数据传输率⭐ 信道复用技术&#x1f389…

axios的原理及实现一个简易版axios

面试官&#xff1a;你了解axios的原理吗&#xff1f;有看过它的源码吗&#xff1f; 一、axios的使用 关于axios的基本使用&#xff0c;上篇文章已经有所涉及&#xff0c;这里再稍微回顾下&#xff1a; 发送请求 import axios from axios;axios(config) // 直接传入配置 axio…

第十五章---I/O(输入/输出)

15.1输入输出流 流是一组有序的数据序列&#xff0c;根据操作的类型&#xff0c;可分为输入流和输出流两种。I/O(Input/Output,(输出)流提供了一条通道程序&#xff0c;可以使用这条通道把源中的字节序列送到目的地。虽然 I/O 流疆盘文件存取有关&#xff0c;但是程序的源和目…

华为---OSPF网络虚连接(Virtual Link)简介及示例配置

OSPF网络虚连接&#xff08;Virtual Link&#xff09;简介 为了避免区域间的环路&#xff0c;OSPF规定不允许直接在两个非骨干区域之间发布路由信息&#xff0c;只允许在一个区域内部或者在骨干区域和非骨干区域之间发布路由信息。因此&#xff0c;每个ABR都必须连接到骨干区域…

QT基础学习

2创建项目 2.1使用向导创建 打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项 弹出New Project对话框&#xff0c;选择Qt Widgets Application&#xff0c; 选择【Choose】按钮&#xff0c;弹出如下对话框 设置项目名称和路径&#xf…

N 字形变换

将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时&#xff0c;排列如下&#xff1a; P A H N A P L S I I G Y I R 之后&#xff0c;你的输出需要从左往右逐行读取&#xff0…

网络参考模型与标准协议(一)

OSI参考模型 OSI 模型(Open Systems Interconnection Model)&#xff0c;由国际化标准组织ISO (TheInternational Organization for Standardization )收录在ISO 7489标准中并于1984年发布。 OSI参考模型又被称为七层模型&#xff0c;由下至上依次为: 物理层: 在设备之间传输比…

Linux编辑器-gcc/g++使用

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大二&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;熟练使用gcc/g编译器 > 毒鸡汤&#xff1a;真正…

75基于matlab的模拟退火算法优化TSP(SA-TSP),最优路径动态寻优,输出最优路径值、路径曲线、迭代曲线。

基于matlab的模拟退火算法优化TSP(SA-TSP)&#xff0c;最优路径动态寻优&#xff0c;输出最优路径值、路径曲线、迭代曲线。数据可更换自己的&#xff0c;程序已调通&#xff0c;可直接运行。 75matlab模拟退火算法TSP问题 (xiaohongshu.com)

如何通过cpolar内网穿透工具实现远程访问本地postgreSQL

文章目录 前言1. 安装postgreSQL2. 本地连接postgreSQL3. Windows 安装 cpolar4. 配置postgreSQL公网地址5. 公网postgreSQL访问6. 固定连接公网地址7. postgreSQL固定地址连接测试 前言 PostgreSQL是一个功能非常强大的关系型数据库管理系统&#xff08;RDBMS&#xff09;,下…

uniapp开发小程序,包过大解决方案

1、首先和大家说一下 微信小程序 主包限制不能超过2M 分包一共不能超过8M 然后具体解决优化步骤如下&#xff0c; 将主包进行分包 在pages.json 下subPackages里面进行配置分包 分包配置完 配置过的文件都需要进行修改对应的路径 2 、 在运行的时候 一定要勾选 压缩代码 有…

Android Termux安装MySQL,内网穿透实现公网远程访问

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备&#xff0c;尽管最初并非设计为服务器&#xff0c;但是随着技术的进步我们可以将Android配置为生产力工具&#xff0c;变成一个随身…

【电路笔记】-欧姆定律

欧姆定律 文章目录 欧姆定律1、概述2、AC电路的等效性2.1 输入电阻2.2 输入电感2.3 输入电容 3、欧姆定律的局部形式3.1 介绍和定义3.2 德鲁德模型(Drude Model)3.3 局部形式表达式 4、电阻和宏观欧姆定律5、总结 电流、电压和电阻之间的基本关系被称为欧姆定律&#xff0c;可能…

cpu飙高问题,案例分析(一)

一、复习知识点&#xff1a; CPU性能指标&#xff1a; load average&#xff1a;负载&#xff0c;linux查看的时候&#xff0c;通常显示如下&#xff1a; load average后面有三段数字&#xff1a;代表了系统1分钟&#xff0c;5分钟&#xff0c;15分钟平均负载。 形象的类别可…

使用npm发布自己的组件库

在日常开发中&#xff0c;我们习惯性的会封装一些个性化的组件以适配各种业务场景&#xff0c;突发奇想能不能建一个自己的组件库&#xff0c;今后在各种业务里可以自由下载安装自己的组件。 一. 项目搭建 首先直接使用vue-cli创建一个vue2版本的项目&#xff0c;并下载好ele…