主要内容

qrupdate

秩1更新到QR因子分解

语法

(Q1, R1) = qrupdate (Q, R, u, v)

描述

(Q1, R1) = qrupdate (Q, R, u, v)(Q, R) = qr (A)原来的QR分解是一个,返回的QR分解一个+ u * v ',在那里uv是具有适当长度的列向量。

例子

矩阵

=根号eps = 1.4901e-08μ*眼(4)];

在最小二乘法中是否有一个众所周知的例子表明了形成的危险“*.相反,我们使用QR分解-标准正交Q和上三角R。

(Q, R) = qr (A);

我们预计,R是上三角。

R = -1.0000 -1.0000 -1.0000 -1.0000 0 0.0000 0.0000 0.0000 0.0000 00

在这种情况下,上三角项R,不包括第一行,其顺序为sqrt (eps)

考虑更新向量

U = [-1 0 0 0 0]';v = 1 (4,1);

而不是计算这个秩1更新的微不足道的QR分解一个从头开始,

(QT, RT) = qr (A + u * v ') QT = 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 RT = 1.0 e - 007 * -0.1490 -0.1490 -0.1490 0 0 0 0 0 0 0 0 0 0 0 0 -0.1490 0 0 0 0

我们可以使用qrupdate

(Q1, R1) = qrupdate (Q, R, u, v) Q1 = -0.0000 -0.0000 -0.0000 -0.0000 1.0000 1.0000 -0.0000 -0.0000 -0.0000 0.0000 0.0000 1.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 1.0000 -0.0000 0.0000 -0.0000 -0.0000 -0.0000 1.0000 0.0000 R1 = 1.0 e - 007 * 0.1490 0.0000 0.0000 0.0000 0.1490 0.0000 0.0000 0 0 0.1490 0.0000 0.1490 0 0 0 0 0 0 0

请注意,这两种分解都是正确的,尽管它们是不同的。

提示

qrupdate仅适用于完整的矩阵。

算法

qrupdate使用的算法在第12.5.1节的第三版矩阵计算Golub和van Loan。qrupdate是有用的,如果我们采取N = max (m, N),则从头计算新的QR分解大致是一个ON3.)算法,而简单地以这种方式更新现有的因子是一种ON2)算法。

参考文献

[1] Golub, Gene h和Charles Van Loan,矩阵计算,第三版,约翰霍普金斯大学出版社,巴尔的摩,1996

扩展功能

另请参阅

|

之前介绍过的R2006a