qrinsert

将列或行插入QR分解

语法

(Q1, R1) = qrinsert (Q, R, j, x)
(Q1, R1) = qrinsert (Q, R, j, x,“上校”)
(Q1, R1) = qrinsert (Q, R, j, x,“行”)

描述

(Q1, R1) = qrinsert (Q, R, j, x)返回矩阵的QR分解A1,在那里A1Q = * R与列x插入之前(:,j)。如果一个n列和j = n + 1,然后x的最后一列之后插入一个

(Q1, R1) = qrinsert (Q, R, j, x,“上校”)等于qrinsert (Q, R, j, x)

(Q1, R1) = qrinsert (Q, R, j, x,“行”)返回矩阵的QR分解A1,在那里A1Q = * R加上一个额外的行,x之前,插入一个(j,:)

例子

一个=魔法(5);(Q, R) = qr (A);j = 3;x = 1:5;(Q1, R1) = qrinsert (Q, R, j, x,“行”)Q1 = 0.5231 0.5039 -0.6750 0.1205 0.0411 0.0225 0.7078 -0.6966 0.0190 -0.0788 0.0833 -0.0150 0.0308 0.0592 0.0656 0.1169 0.1527 -0.9769 0.1231 0.1363 0.3542 0.6222 0.6398 0.2104 0.3077 0.1902 0.4100 0.4161 -0.7264 -0.0150 0.3385 0.4500 0.4961 -0.6366 0.1761 0.0225 R1 = 32.4962 26.6801 21.4795 23.8182 26.0031 19.9292 12.4403 2.1340 4.3271 0 0 24.4514 11.8132 3.9931 16.1948 0 0 0 20.2382 10.3392 0 0 0 0 0 0 0 0 0

返回一个有效的QR分解,尽管可能与

A2 = [(1: j - 1,);x;(j:,:)];(Q2, R2) = qr (A2) Q2 = -0.5231 0.5039 0.6750 -0.1205 0.0411 0.0225 -0.7078 -0.6966 -0.0190 0.0788 0.0833 -0.0150 -0.0308 0.0592 -0.0656 -0.1169 0.1527 -0.9769 -0.1231 0.1363 -0.3542 -0.6222 0.6398 0.2104 -0.3077 0.1902 -0.4100 -0.4161 -0.7264 -0.0150 -0.3385 0.4500 -0.4961 0.6366 0.1761 0.0225 R2 = -32.4962 -26.6801 -21.4795 -23.8182 -26.0031 19.9292 12.4403 2.1340 4.3271 0 0 -10.3392 -20.2382 -24.4514 -11.8132 -3.9931 0 0 0 0 0 0 0 0 0 0 0 0 16.1948

算法

qrinsert函数插入的值xj的第列(行)R。然后使用一系列给定的旋转来零化的非零元素R在对角线上和下面j列(行)。[1]

参考文献

[1] Golub, Gene H.和Charles F. Van Loan。矩阵计算。第四版。巴尔的摩,医学博士:约翰霍普金斯大学出版社,2013,第6.5.2-6.5.3节,第335-338页。

另请参阅

||

之前介绍过的R2006a