fbpx
维基百科

QR分解

QR分解法是一種将矩阵分解的方式。這種方式,把矩阵分解成一个正交矩阵与一个上三角矩阵的积。QR分解经常用来解线性最小二乘法问题。QR分解也是特定特征值算法即QR算法的基础。

线性代数

向量 · 向量空间 · 基底  · 行列式  · 矩阵

類別及定义 编辑

方陣 编辑

任何方块矩阵A都可以分解為

 

其中Q正交矩阵(意味着QTQ = I)而R是上三角矩阵。如果A非奇异的,且限定R 的对角线元素为正,则这个因数分解是唯一的。

更一般的说,我们可以因数分解复数 × 矩阵(有着mn)为 ×  幺正矩阵(在QQ = I 的意义上,不需要是方阵)和 × 上三角矩阵的乘积。对m<n的情况,在Q ×  方阵,而R 则是 ×  矩阵。

長方形矩陣 编辑

更一般地,我們可以將m×nA矩陣 , 其中mn,分解成m×m酉矩阵Qm×n 三角矩陣R的成積。由於m×n上三角矩陣的底部(mn)行完全由零組成,因此對RRQ進行分解通常很有用:

 

其中 R1n×n上三角矩陣,0 是(mnn零矩陣,Q1m×nQ2m×(mn),且Q1Q2都是有正交列。

QL、RQ 和 LQ 分解 编辑

类似的,我们可以定义A的QL,RQ和LQ分解。其中L是下三角矩陣。

QR分解的求法 编辑

QR分解的实际计算有很多方法,例如Givens旋转Householder变换,以及Gram-Schmidt正交化等等。每一种方法都有其优点和不足。

使用Householder变换 编辑

Householder变换 编辑

Householder变换将一个向量关于某个平面或者超平面进行反射。我们可以利用这个操作对 的矩阵 进行QR分解。

矩阵 可以被用于对一个向量以一种特定的方式进行反射变换,使得它除了一个维度以外的其他所有分量都化为0。

 为矩阵 的任一m维实列向量,且有 (其中 为标量)。若该算法是通过浮点数实现的,则 应当取和 的第 维相反的符号(其中 是要保留不为0的项),这样做可以避免精度缺失。对于复数的情况,令

 

Stoer & Bulirsch 2002,p.225),并且在接下来矩阵 的构造中要将矩阵转置替换为共轭转置。

接下来,设 为单位向量 ,||·||为欧几里德范数  单位矩阵,令

 
 
 

或者,若 为复矩阵,则

 ,其中 
式中  共轭转置(亦称埃尔米特共轭埃尔米特转置)。

 为一个 的Householder矩阵,它满足

 

利用Householder矩阵,可以将一个 的矩阵 变换为上三角矩阵。 首先,我们将A左乘通过选取矩阵的第一列得到列向量 的Householder矩阵 。这样,我们得到的矩阵 的第一列将全部为0(第一行除外):

 

这个过程对于矩阵 (即 排除第一行和第一列之后剩下的方阵)还可以继续做下去,从而得到另一个Householder矩阵 。注意到 其实比 要小,因为它是在 而非 的基础上得到的。因此,我们需要在 的左上角补上1,或者,更一般地来说:

 

将这个迭代过程进行 次之后( ),将有

 

其中R为一个上三角矩阵。因此,令

 

 为矩阵 的一个QR分解。

相比与Gram-Schmidt正交化,使用Householder变换具有更好的数值稳定性

例子 编辑

现在要用Householder变换求解矩阵   分解。

 

因为 , 令 ,则

 

则有

 

从而,

 

 , 则 。令

 
 

记,

 

则,

 

那么

 

使用吉文斯旋转 编辑

吉文斯旋转 编辑

吉文斯旋转表示为如下形式的矩阵

 

这里的 c = cos(θ) 和 s = sin(θ) 出现在第 i 行和第 j 行与第 i 列和第 j 列的交叉点上。就是说,吉文斯旋转矩阵的所有非零元定义如下::

 

乘积 G(i, j, θ)x 表示向量 x 在 (i,j)平面中的逆时针旋转 θ 弧度。

吉文斯旋转作用于QR分解 编辑

对于一个向量

 

如果,  ,   ,   , 那么,就存在旋转矩阵G,使  底部转成0。

 

每一次的旋转,吉文斯旋转都可以将一个元素化成0,直到将原始矩阵转成一个上三角矩阵,则完成分解。

 
 

例子 编辑

 
 
 
 
 

对于: 子矩阵 : 

 
 
 
 
 
 
 

使用格拉姆-施密特正交化方法 编辑

基本思想 编辑

 
图1   上投影,构造 上的正交基 

格拉姆-施密特正交化的基本想法,是利用投影原理在已有正交基的基础上构造一个新的正交基。

   上的 维子空间,其标准正交基为 ,且 不在 上。由投影原理知, 与其在 上的投影 之差

 


是正交于子空间 的,亦即 正交于 的正交基 。因此只要将 单位化,即

 

那么 就是  上扩展的子空间 的标准正交基。

根据上述分析,对于向量组 张成的空间  ( ),只要从其中一个向量(不妨设为 )所张成的一维子空间 开始(注意到 就是 的正交基),重复上述扩展构造正交基的过程,就能够得到  的一组正交基。这就是格拉姆-施密特正交化

格拉姆-施密特正交化算法 编辑

首先需要确定已有基底向量的顺序,不妨设为 。Gram-Schmidt正交化的过程如下:

   
   
   
   
   

这样就得到 上的一组正交基 ,以及相应的标准正交基 

例子 编辑

现在要用格拉姆-施密特变换求解矩阵   分解。

 

令,  

 
 
 
 
 

那么可知,

 

 ,可知,

 

Matlab 编辑

MATLAB以qr函数来执行QR分解法,其语法为

 
其中Q代表正规正交矩阵,
而R代表上三角形矩阵。

此外,原矩阵A不必为正方矩阵; 如果矩阵A大小为 ,则矩阵Q大小为 ,矩阵R大小为 

用途 编辑

解线性方程组 编辑

对于直接求解线性方程组的逆,用QR分解的方法求解会更具有数据的稳定性。 对于求解一个线性系统 , 这里 的维度是 

如果 , 那么 ,这里 )。

  的形式是    上不为0的部分。 那么对于

 

如果 , 那么 ,这里 )。本质是最小化 

 

參考文獻 编辑

  1. ^ Trefethen, Lloyd N.; Bau, David III. Numerical linear algebra. Philadelphia, PA: Society for Industrial and Applied Mathematics. 1997. ISBN 978-0-898713-61-9. 

外部連結 编辑

  • MIT. QR Decomposition. Youtube. [2020-07-01]. (原始内容于2020-07-27). 
  • Poujh. QR Decomposition Givens旋转. Youtube. [2020-07-01]. (原始内容于2020-09-01). 

qr分解, 法是一種将矩阵分解的方式, 這種方式, 把矩阵分解成一个正交矩阵与一个上三角矩阵的积, 经常用来解线性最小二乘法问题, 也是特定特征值算法即qr算法的基础, 线性代数a, displaystyle, mathbf, begin, bmatrix, bmatrix, 向量, 向量空间, 基底, 行列式, 矩阵向量标量, 向量, 向量空间, 向量投影, 外积, 向量积, 七维向量积, 内积, 数量积, 二重向量矩阵与行列式矩阵, 行列式, 线性方程组, 單位矩陣, 初等矩阵, 方块矩阵, 分块矩阵, 三角矩. QR分解法是一種将矩阵分解的方式 這種方式 把矩阵分解成一个正交矩阵与一个上三角矩阵的积 QR分解经常用来解线性最小二乘法问题 QR分解也是特定特征值算法即QR算法的基础 线性代数A 1 2 3 4 displaystyle mathbf A begin bmatrix 1 amp 2 3 amp 4 end bmatrix 向量 向量空间 基底 行列式 矩阵向量标量 向量 向量空间 向量投影 外积 向量积 七维向量积 内积 数量积 二重向量矩阵与行列式矩阵 行列式 线性方程组 秩 核 跡 單位矩陣 初等矩阵 方块矩阵 分块矩阵 三角矩阵 非奇异方阵 转置矩阵 逆矩阵 对角矩阵 可对角化矩阵 对称矩阵 反對稱矩陣 正交矩阵 幺正矩阵 埃尔米特矩阵 反埃尔米特矩阵 正规矩阵 伴随矩阵 余因子矩阵 共轭转置 正定矩阵 幂零矩阵 矩阵分解 LU分解 奇异值分解 QR分解 极分解 特征分解 子式和余子式 拉普拉斯展開 克罗内克积线性空间与线性变换线性空间 线性变换 线性子空间 线性生成空间 基 线性映射 线性投影 線性無關 线性组合 线性泛函 行空间与列空间 对偶空间 正交 特征向量 最小二乘法 格拉姆 施密特正交化查论编 目录 1 類別及定义 1 1 方陣 1 2 長方形矩陣 1 3 QL RQ 和 LQ 分解 2 QR分解的求法 2 1 使用Householder变换 2 1 1 Householder变换 2 1 2 例子 2 2 使用吉文斯旋转 2 2 1 吉文斯旋转 2 2 2 吉文斯旋转作用于QR分解 2 2 3 例子 2 3 使用格拉姆 施密特正交化方法 2 3 1 基本思想 2 3 2 格拉姆 施密特正交化算法 2 3 3 例子 3 Matlab 4 用途 4 1 解线性方程组 5 參考文獻 6 外部連結類別及定义 编辑方陣 编辑 任何方块矩阵A都可以分解為 A Q R displaystyle A QR nbsp 其中Q是正交矩阵 意味着QTQ I 而R是上三角矩阵 如果A是非奇异的 且限定R 的对角线元素为正 则这个因数分解是唯一的 更一般的说 我们可以因数分解复数m displaystyle m nbsp n displaystyle n nbsp 矩阵 有着m n 为m displaystyle m nbsp n displaystyle n nbsp 幺正矩阵 在Q Q I 的意义上 不需要是方阵 和n displaystyle n nbsp n displaystyle n nbsp 上三角矩阵的乘积 对m lt n的情况 在Q是m displaystyle m nbsp m displaystyle m nbsp 方阵 而R 则是m displaystyle m nbsp n displaystyle n nbsp 矩阵 長方形矩陣 编辑 更一般地 我們可以將m n的A矩陣 其中m n 分解成m m酉矩阵Q 和m n 三角矩陣R的成積 由於m n上三角矩陣的底部 m n 行完全由零組成 因此對R或R和Q進行分解通常很有用 A Q R Q R 1 0 Q 1 Q 2 R 1 0 Q 1 R 1 displaystyle A QR Q begin bmatrix R 1 0 end bmatrix begin bmatrix Q 1 amp Q 2 end bmatrix begin bmatrix R 1 0 end bmatrix Q 1 R 1 nbsp 其中 R1是n n上三角矩陣 0 是 m n n 零矩陣 Q1 是m n Q2是m m n 且Q1和Q2都是有正交列 已隱藏部分未翻譯内容 歡迎參與翻譯 Golub amp Van Loan 1996 5 2 call Q1R1 the thin QR factorization of A Trefethen and Bau call this the reduced QR factorization 1 If A is of full rank n and we require that the diagonal elements of R1 are positive then R1 and Q1 are unique but in general Q2 is not R1 is then equal to the upper triangular factor of the Cholesky decomposition of A A ATA if A is real QL RQ 和 LQ 分解 编辑 类似的 我们可以定义A的QL RQ和LQ分解 其中L是下三角矩陣 QR分解的求法 编辑QR分解的实际计算有很多方法 例如Givens旋转 Householder变换 以及Gram Schmidt正交化等等 每一种方法都有其优点和不足 参见 格拉姆 施密特正交化 使用Householder变换 编辑 Householder变换 编辑 Householder变换将一个向量关于某个平面或者超平面进行反射 我们可以利用这个操作对m n m n displaystyle m times n m geqq n nbsp 的矩阵A displaystyle A nbsp 进行QR分解 矩阵Q displaystyle Q nbsp 可以被用于对一个向量以一种特定的方式进行反射变换 使得它除了一个维度以外的其他所有分量都化为0 令x displaystyle mathbf x nbsp 为矩阵A displaystyle A nbsp 的任一m维实列向量 且有 x a displaystyle mathbf x alpha nbsp 其中a displaystyle alpha nbsp 为标量 若该算法是通过浮点数实现的 则a displaystyle alpha nbsp 应当取和x displaystyle mathbf x nbsp 的第k displaystyle k nbsp 维相反的符号 其中x k displaystyle x k nbsp 是要保留不为0的项 这样做可以避免精度缺失 对于复数的情况 令 a e i arg x k x displaystyle alpha mathrm e mathrm i arg x k mathbf x nbsp Stoer amp Bulirsch 2002 p 225 并且在接下来矩阵Q displaystyle Q nbsp 的构造中要将矩阵转置替换为共轭转置 接下来 设e 1 displaystyle mathbf e 1 nbsp 为单位向量 1 0 0 T displaystyle 1 0 cdots 0 T nbsp 为欧几里德范数 I displaystyle I nbsp 为m m displaystyle m times m nbsp 单位矩阵 令 u x a e 1 displaystyle mathbf u mathbf x alpha mathbf e 1 nbsp v u u displaystyle mathbf v mathbf u over mathbf u nbsp Q I 2 v v T displaystyle Q I 2 mathbf v mathbf v T nbsp 或者 若A displaystyle A nbsp 为复矩阵 则 Q I 1 w v v H displaystyle Q I 1 w mathbf v mathbf v H nbsp 其中w x H v v H x displaystyle w mathbf x H mathbf v mathbf mathbf v H mathbf x nbsp 式中x H displaystyle mathbf x H nbsp 是x displaystyle x nbsp 的共轭转置 亦称埃尔米特共轭或埃尔米特转置 则Q displaystyle Q nbsp 为一个m m displaystyle m times m nbsp 的Householder矩阵 它满足 Q x a 0 0 T displaystyle Q mathbf x alpha 0 cdots 0 T nbsp 利用Householder矩阵 可以将一个m n displaystyle m times n nbsp 的矩阵A displaystyle A nbsp 变换为上三角矩阵 首先 我们将A左乘通过选取矩阵的第一列得到列向量x displaystyle x nbsp 的Householder矩阵Q 1 displaystyle Q 1 nbsp 这样 我们得到的矩阵Q 1 A displaystyle Q 1 A nbsp 的第一列将全部为0 第一行除外 Q 1 A a 1 0 A 0 displaystyle Q 1 A begin bmatrix alpha 1 amp star amp dots amp star 0 amp amp amp vdots amp amp A amp 0 amp amp amp end bmatrix nbsp 这个过程对于矩阵A displaystyle A nbsp 即Q 1 A displaystyle Q 1 A nbsp 排除第一行和第一列之后剩下的方阵 还可以继续做下去 从而得到另一个Householder矩阵Q 2 displaystyle Q 2 nbsp 注意到Q 2 displaystyle Q 2 nbsp 其实比Q 1 displaystyle Q 1 nbsp 要小 因为它是在Q 1 A displaystyle Q 1 A nbsp 而非A displaystyle A nbsp 的基础上得到的 因此 我们需要在Q 2 displaystyle Q 2 nbsp 的左上角补上1 或者 更一般地来说 Q k I k 1 0 0 Q k displaystyle Q k begin bmatrix I k 1 amp 0 0 amp Q k end bmatrix nbsp 将这个迭代过程进行t displaystyle t nbsp 次之后 t min m 1 n displaystyle t min m 1 n nbsp 将有 R Q t Q 2 Q 1 A displaystyle R Q t cdots Q 2 Q 1 A nbsp 其中R为一个上三角矩阵 因此 令 Q Q 1 T Q 2 T Q t T displaystyle Q Q 1 T Q 2 T cdots Q t T nbsp 则A Q R displaystyle A QR nbsp 为矩阵A displaystyle A nbsp 的一个QR分解 相比与Gram Schmidt正交化 使用Householder变换具有更好的数值稳定性 例子 编辑 现在要用Householder变换求解矩阵A displaystyle A nbsp 的Q R displaystyle QR nbsp 分解 A 0 3 1 0 4 2 2 1 1 displaystyle A begin bmatrix 0 amp 3 amp 1 0 amp 4 amp 2 2 amp 1 amp 1 end bmatrix nbsp 因为a 1 0 0 2 T displaystyle alpha 1 0 0 2 T nbsp 令a 1 a 1 2 2 displaystyle a 1 alpha 1 2 2 nbsp 则 w 1 a 1 a 1 e 1 a 1 a 1 e 1 2 1 2 1 0 1 T displaystyle omega 1 frac alpha 1 a 1 e 1 alpha 1 a 1 e 1 2 frac 1 sqrt 2 1 0 1 T nbsp 则有 H 1 I 2 w 1 w 1 H 0 0 1 0 1 0 1 0 0 displaystyle H 1 I 2 omega 1 omega 1 H begin bmatrix 0 amp 0 amp 1 0 amp 1 amp 0 1 amp 0 amp 0 end bmatrix nbsp 从而 H 1 A 2 1 1 0 4 2 0 3 1 displaystyle H 1 A begin bmatrix 2 amp 1 amp 1 0 amp 4 amp 2 0 amp 3 amp 1 end bmatrix nbsp 记b 4 3 T displaystyle beta 4 3 T nbsp 则b 1 b 2 2 5 displaystyle b 1 beta 2 2 5 nbsp 令 w 2 b 2 b 1 e 1 b 2 b 1 e 1 2 1 10 1 3 T displaystyle omega 2 frac beta 2 b 1 e 1 beta 2 b 1 e 1 2 frac 1 sqrt 10 1 3 T nbsp H 2 I 2 w 2 w H 1 5 4 3 3 4 displaystyle hat H 2 I 2 omega 2 omega H frac 1 5 begin bmatrix 4 amp 3 3 amp 4 end bmatrix nbsp 记 H 2 1 0 T 0 H 2 1 0 0 0 4 5 3 5 0 3 5 4 5 displaystyle H 2 begin bmatrix 1 amp 0 T 0 amp hat H 2 end bmatrix begin bmatrix 1 amp 0 amp 0 0 amp frac 4 5 amp frac 3 5 0 amp frac 3 5 amp frac 4 5 end bmatrix nbsp 则 R H 2 H 1 A 2 1 1 0 5 1 0 0 2 displaystyle R H 2 H 1 A begin bmatrix 2 amp 1 amp 1 0 amp 5 amp 1 0 amp 0 amp 2 end bmatrix nbsp 那么 Q H 1 H 2 1 5 0 3 4 0 4 3 5 0 0 displaystyle Q H 1 H 2 frac 1 5 begin bmatrix 0 amp 3 amp 4 0 amp 4 amp 3 5 amp 0 amp 0 end bmatrix nbsp 使用吉文斯旋转 编辑 吉文斯旋转 编辑 吉文斯旋转表示为如下形式的矩阵 G i j 8 1 0 0 0 0 c s 0 0 s c 0 0 0 0 1 displaystyle G i j theta begin bmatrix 1 amp cdots amp 0 amp cdots amp 0 amp cdots amp 0 vdots amp ddots amp vdots amp amp vdots amp amp vdots 0 amp cdots amp c amp cdots amp s amp cdots amp 0 vdots amp amp vdots amp ddots amp vdots amp amp vdots 0 amp cdots amp s amp cdots amp c amp cdots amp 0 vdots amp amp vdots amp amp vdots amp ddots amp vdots 0 amp cdots amp 0 amp cdots amp 0 amp cdots amp 1 end bmatrix nbsp 这里的 c cos 8 和 s sin 8 出现在第 i 行和第 j 行与第 i 列和第 j 列的交叉点上 就是说 吉文斯旋转矩阵的所有非零元定义如下 g k k 1 for k i j g i i c g j j c g i j s g j i s displaystyle begin aligned g k k amp 1 qquad text for k neq i j g i i amp c g j j amp c g i j amp s g j i amp s end aligned nbsp 乘积 G i j 8 x 表示向量 x 在 i j 平面中的逆时针旋转 8 弧度 吉文斯旋转作用于QR分解 编辑 对于一个向量 A a b displaystyle begin array lcl A amp amp begin bmatrix a b end bmatrix end array nbsp 如果 r a 2 b 2 displaystyle r sqrt a 2 b 2 nbsp c a r displaystyle c frac a r nbsp s b r displaystyle s frac b r nbsp 那么 就存在旋转矩阵G 使A displaystyle A nbsp 底部转成0 A 2 S u b c s s c a b r 0 displaystyle A 2 Sub begin bmatrix c amp s s amp c end bmatrix begin bmatrix a b end bmatrix begin bmatrix r 0 end bmatrix nbsp 每一次的旋转 吉文斯旋转都可以将一个元素化成0 直到将原始矩阵转成一个上三角矩阵 则完成分解 A Q R displaystyle A QR nbsp Q G 1 T G 2 T G k T displaystyle Q G 1 T G 2 T cdots G k T nbsp 例子 编辑 A 1 6 5 0 5 1 4 0 4 3 displaystyle A 1 begin bmatrix 6 amp 5 amp 0 5 amp 1 amp 4 0 amp 4 amp 3 end bmatrix nbsp r 6 2 5 2 7 8102 displaystyle r sqrt 6 2 5 2 approx 7 8102 nbsp c 6 r 0 7682 displaystyle c 6 r approx 0 7682 nbsp s 5 r 0 6402 displaystyle s 5 r approx 0 6402 nbsp A 2 G 1 A 1 c s 0 s c 0 0 0 1 6 5 0 5 1 4 0 4 3 7 8102 4 4813 2 5607 0 2 4327 3 0729 0 4 3 displaystyle A 2 G 1 A 1 begin bmatrix c amp s amp 0 s amp c amp 0 0 amp 0 amp 1 end bmatrix begin bmatrix 6 amp 5 amp 0 5 amp 1 amp 4 0 amp 4 amp 3 end bmatrix approx begin bmatrix 7 8102 amp 4 4813 amp 2 5607 0 amp 2 4327 amp 3 0729 0 amp 4 amp 3 end bmatrix nbsp 对于 A 2 displaystyle A 2 nbsp 子矩阵 A 2 S u b displaystyle A 2 Sub nbsp A 2 S u b 2 4327 3 0729 4 3 displaystyle A 2 Sub begin bmatrix 2 4327 amp 3 0729 4 amp 3 end bmatrix nbsp r 2 4327 2 4 2 4 6817 displaystyle r sqrt 2 4327 2 4 2 approx 4 6817 nbsp c 2 4327 r 0 5196 displaystyle c 2 4327 r approx 0 5196 nbsp s 5 r 0 8544 displaystyle s 5 r approx 0 8544 nbsp G 2 A 2 1 0 0 0 c s 0 s c 7 8102 4 4813 2 5607 0 2 4327 3 0729 0 4 3 7 8102 4 4813 2 5607 0 4 6817 0 9664 0 0 4 1843 displaystyle G 2 A 2 begin bmatrix 1 amp 0 amp 0 0 amp c amp s 0 amp s amp c end bmatrix begin bmatrix 7 8102 amp 4 4813 amp 2 5607 0 amp 2 4327 amp 3 0729 0 amp 4 amp 3 end bmatrix approx begin bmatrix 7 8102 amp 4 4813 amp 2 5607 0 amp 4 6817 amp 0 9664 0 amp 0 amp 4 1843 end bmatrix nbsp R G 2 A 2 G 2 G 1 A 1 displaystyle R G 2 A 2 G 2 G 1 A 1 nbsp Q G 1 T G 2 T 0 7682 0 3327 0 5470 0 6402 0 3992 0 6564 0 0 8544 0 5196 displaystyle Q G 1 T G 2 T begin bmatrix 0 7682 amp 0 3327 amp 0 5470 0 6402 amp 0 3992 amp 0 6564 0 amp 0 8544 amp 0 5196 end bmatrix nbsp 使用格拉姆 施密特正交化方法 编辑 基本思想 编辑 nbsp 图1 v displaystyle boldsymbol v nbsp 在V 2 displaystyle boldsymbol V 2 nbsp 上投影 构造V 3 displaystyle boldsymbol V 3 nbsp 上的正交基b displaystyle boldsymbol beta nbsp 格拉姆 施密特正交化的基本想法 是利用投影原理在已有正交基的基础上构造一个新的正交基 设v V n displaystyle boldsymbol v in boldsymbol V n nbsp V k displaystyle boldsymbol V k nbsp 是V n displaystyle boldsymbol V n nbsp 上的k displaystyle k nbsp 维子空间 其标准正交基为 h 1 h k displaystyle boldsymbol eta 1 ldots boldsymbol eta k nbsp 且v displaystyle boldsymbol v nbsp 不在V k displaystyle boldsymbol V k nbsp 上 由投影原理知 v displaystyle boldsymbol v nbsp 与其在V k displaystyle boldsymbol V k nbsp 上的投影p r o j V k v displaystyle mathrm proj boldsymbol V k boldsymbol v nbsp 之差 b v i 1 k p r o j h i v v i 1 k v h i h i displaystyle boldsymbol beta boldsymbol v sum i 1 k mathrm proj boldsymbol eta i boldsymbol v boldsymbol v sum i 1 k langle boldsymbol v boldsymbol eta i rangle boldsymbol eta i nbsp 是正交于子空间V k displaystyle boldsymbol V k nbsp 的 亦即b displaystyle boldsymbol beta nbsp 正交于V k displaystyle boldsymbol V k nbsp 的正交基h i displaystyle boldsymbol eta i nbsp 因此只要将b displaystyle boldsymbol beta nbsp 单位化 即 h k 1 b b b b b displaystyle boldsymbol eta k 1 frac boldsymbol beta boldsymbol beta frac boldsymbol beta sqrt langle boldsymbol beta boldsymbol beta rangle nbsp 那么 h 1 h k h k 1 displaystyle boldsymbol eta 1 ldots boldsymbol eta k boldsymbol eta k 1 nbsp 就是V k displaystyle boldsymbol V k nbsp 在v displaystyle boldsymbol v nbsp 上扩展的子空间s p a n v h 1 h k displaystyle mathrm span boldsymbol v boldsymbol eta 1 boldsymbol eta k nbsp 的标准正交基 根据上述分析 对于向量组 v 1 v m displaystyle boldsymbol v 1 ldots boldsymbol v m nbsp 张成的空间V m displaystyle boldsymbol V m nbsp m lt n displaystyle m lt n nbsp 只要从其中一个向量 不妨设为v 1 displaystyle boldsymbol v 1 nbsp 所张成的一维子空间s p a n v 1 displaystyle mathrm span boldsymbol v 1 nbsp 开始 注意到v 1 displaystyle boldsymbol v 1 nbsp 就是s p a n v 1 displaystyle mathrm span boldsymbol v 1 nbsp 的正交基 重复上述扩展构造正交基的过程 就能够得到V n displaystyle boldsymbol V n nbsp 的一组正交基 这就是格拉姆 施密特正交化 格拉姆 施密特正交化算法 编辑 首先需要确定已有基底向量的顺序 不妨设为 v 1 v n displaystyle boldsymbol v 1 ldots boldsymbol v n nbsp Gram Schmidt正交化的过程如下 b 1 v 1 displaystyle boldsymbol beta 1 boldsymbol v 1 nbsp h 1 b 1 b 1 displaystyle boldsymbol eta 1 boldsymbol beta 1 over boldsymbol beta 1 nbsp b 2 v 2 v 2 h 1 h 1 displaystyle boldsymbol beta 2 boldsymbol v 2 langle boldsymbol v 2 boldsymbol eta 1 rangle boldsymbol eta 1 nbsp h 2 b 2 b 2 displaystyle boldsymbol eta 2 boldsymbol beta 2 over boldsymbol beta 2 nbsp b 3 v 3 v 3 h 1 h 1 v 3 h 2 h 2 displaystyle boldsymbol beta 3 boldsymbol v 3 langle boldsymbol v 3 boldsymbol eta 1 rangle boldsymbol eta 1 langle boldsymbol v 3 boldsymbol eta 2 rangle boldsymbol eta 2 nbsp h 3 b 3 b 3 displaystyle boldsymbol eta 3 boldsymbol beta 3 over boldsymbol beta 3 nbsp displaystyle vdots nbsp displaystyle vdots nbsp b n v n i 1 n 1 v n h i h i displaystyle boldsymbol beta n boldsymbol v n sum i 1 n 1 langle boldsymbol v n boldsymbol eta i rangle boldsymbol eta i nbsp h n b n b n displaystyle boldsymbol eta n boldsymbol beta n over boldsymbol beta n nbsp 这样就得到s p a n v 1 v n displaystyle mathrm span boldsymbol v 1 ldots boldsymbol v n nbsp 上的一组正交基 b 1 b n displaystyle boldsymbol beta 1 ldots boldsymbol beta n nbsp 以及相应的标准正交基 h 1 h n displaystyle boldsymbol eta 1 ldots boldsymbol eta n nbsp 例子 编辑 现在要用格拉姆 施密特变换求解矩阵A displaystyle A nbsp 的Q R displaystyle QR nbsp 分解 A 1 2 4 0 0 5 0 3 6 displaystyle A begin bmatrix 1 amp 2 amp 4 0 amp 0 amp 5 0 amp 3 amp 6 end bmatrix nbsp 令 a 1 0 0 displaystyle a 1 0 0 nbsp q 1 a a 1 0 0 displaystyle q 1 frac a a begin bmatrix 1 0 0 end bmatrix nbsp q 2 b b q 1 q 1 2 0 3 2 1 0 0 0 0 3 displaystyle hat q 2 b b q 1 q 1 begin bmatrix 2 0 3 end bmatrix 2 begin bmatrix 1 0 0 end bmatrix begin bmatrix 0 0 3 end bmatrix nbsp q 2 q 2 q 2 0 0 1 displaystyle q 2 frac hat q 2 hat q 2 begin bmatrix 0 0 1 end bmatrix nbsp q 3 c c q 1 q 1 c q 2 q 2 4 5 6 4 1 0 0 6 0 0 1 0 5 0 displaystyle hat q 3 c c q 1 q 1 c q 2 q 2 begin bmatrix 4 5 6 end bmatrix 4 begin bmatrix 1 0 0 end bmatrix 6 begin bmatrix 0 0 1 end bmatrix begin bmatrix 0 5 0 end bmatrix nbsp q 3 q 3 q 3 0 1 0 displaystyle q 3 frac hat q 3 hat q 3 begin bmatrix 0 1 0 end bmatrix nbsp 那么可知 Q 1 0 0 0 0 1 0 1 0 displaystyle Q begin bmatrix 1 amp 0 amp 0 0 amp 0 amp 1 0 amp 1 amp 0 end bmatrix nbsp 由A Q R displaystyle A QR nbsp 可知 R 1 2 4 0 3 6 0 0 5 displaystyle R begin bmatrix 1 amp 2 amp 4 0 amp 3 amp 6 0 amp 0 amp 5 end bmatrix nbsp Matlab 编辑MATLAB以qr函数来执行QR分解法 其语法为 Q R q r A displaystyle Q R qr A nbsp 其中Q代表正规正交矩阵 而R代表上三角形矩阵 此外 原矩阵A不必为正方矩阵 如果矩阵A大小为m n displaystyle m times n nbsp 则矩阵Q大小为m m displaystyle m times m nbsp 矩阵R大小为m n displaystyle m times n nbsp 用途 编辑解线性方程组 编辑 对于直接求解线性方程组的逆 用QR分解的方法求解会更具有数据的稳定性 对于求解一个线性系统A x b displaystyle Ax b nbsp 这里A displaystyle A nbsp 的维度是m n displaystyle m times n nbsp 如果m n displaystyle m leq n nbsp 那么A T Q R displaystyle A T QR nbsp 这里Q T Q 1 displaystyle Q T Q 1 nbsp R displaystyle R nbsp 的形式是 R R 1 0 displaystyle R begin bmatrix R 1 0 end bmatrix nbsp R 1 displaystyle R 1 nbsp 是R displaystyle R nbsp 上不为0的部分 那么对于 x Q R 1 T 1 b 0 displaystyle x Q begin bmatrix left R 1 textsf T right 1 b 0 end bmatrix nbsp 如果m gt n displaystyle m gt n nbsp 那么A Q R displaystyle A QR nbsp 这里Q T Q 1 displaystyle Q T Q 1 nbsp 本质是最小化 A x b displaystyle A hat x b nbsp x R 1 1 Q 1 T b displaystyle hat x R 1 1 left Q 1 textsf T b right nbsp 參考文獻 编辑 Trefethen Lloyd N Bau David III Numerical linear algebra Philadelphia PA Society for Industrial and Applied Mathematics 1997 ISBN 978 0 898713 61 9 外部連結 编辑MIT QR Decomposition Youtube 2020 07 01 原始内容存档于2020 07 27 Poujh QR Decomposition Givens旋转 Youtube 2020 07 01 原始内容存档于2020 09 01 取自 https zh wikipedia org w index php title QR分解 amp oldid 79774958, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。