QR

描述

X= QR(一个返回上三角[RQR分解的因素甲= Q * R。如果一个已满,则R = triu(X)。如果一个是稀疏的,则R = X

[Q[R] = QR(一个执行上的QR分解-通过-ñ矩阵一个这样甲= Q * R。因素[R是一个-通过-ñ上三角矩阵,并且因子Q是一个-通过-正交矩阵。

[Q[RP] = QR(一个另外返回的置换矩阵P这样A * P = Q * R

[___] = QR(一个,0)产生使用任何先前的输出参数的组合的一个经济尺寸分解。输出的大小取决于的大小-通过-ñ矩阵一个

  • 如果M> N, 然后QR只计算第一个ñQ和第一ñ[R

  • 如果米<= N,那么经济规模分解相同的常规分解。

  • 如果指定与经济规模分解第三输出,则返回一个置换载体,使得A(:,P)= Q * R

[Q[RP] = QR(一个outputForm指定是否返回置换信息P作为基质或载体中。例如,如果outputForm'向量', 然后A(:,P)= Q * R。默认值outputForm'矩阵'这样A * P = Q * R

[C[R] = QR(小号单位计算C = Q'* B和上三角因子[R。您可以使用C[R以计算最小平方解到稀疏线性系统S * X = BX = R \ C

[C[RP] = QR(小号另外返回的置换矩阵P。您可以使用C[RP以计算最小平方解到稀疏线性系统S * X = BX = P *(R \ C)

[___] = QR(小号,0)产生使用任何先前的输出参数的组合的一个经济尺寸分解。输出的大小取决于的大小-通过-ñ稀疏矩阵小号

  • 如果M> N, 然后QR只计算第一个ñC[R

  • 如果米<= N,那么经济规模分解相同的常规分解。

  • 如果指定与经济规模分解第三输出,则返回一个置换载体,使得最小二乘解决方案S * X = BX(P,:) = R \ C

[C[RP] = QR(小号outputForm指定是否返回置换信息P作为一个矩阵或矢量。例如,如果outputForm'向量',则最小二乘解来S * X = BX(P,:) = R \ C。默认值outputForm'矩阵'使得最小二乘解来S * X = BX = P *(R \ C)

例子

全部收缩

找到5×5帕斯卡矩阵的QR分解。指定一个输出参数只返回上三角因素。

A =帕斯卡(5);X = QR(A)
X =5×5-2.2361 -6.7082 -15.6525 -31.3050 -56.3489 0.3090 3.1623 11.0680 26.5631 53.1263 0.3090 -0.1744 1.8708 7.4833 19.2428 0.3090 -0.4565 0.3548 0.6325 2.8460 0.3090 -0.7387 -0.0281 -0.7490 -0.1195

提取上三角因子[RX

R = triu(X)
R =5×5-2.2361 -6.7082 -15.6525 -31.3050 -56.3489 3.1623 0 11.0680 26.5631 53.1263 0 0 1.8708 7.4833 19.2428 0 0 0 0.6325 2.8460 0 0 0 0 -0.1195

比较[R在Q-少QR分解到[R因素在一个完整的QR分解。

[Q1,R1] = QR(A)
Q1 =5×5-0.4472 -0.6325 0.5345 -0.3162 -0.1195 -0.4472 -0.3162 -0.2673 0.6325 0.4781 -0.4472 0.0000 -0.5345 -0.0000 -0.7171 -0.4472 0.3162 -0.2673 -0.6325 0.4781 -0.4472 0.6325 0.5345 0.3162 -0.1195
R1 =5×5-2.2361 -6.7082 -15.6525 -31.3050 -56.3489 3.1623 0 11.0680 26.5631 53.1263 0 0 1.8708 7.4833 19.2428 0 0 0 0.6325 2.8460 0 0 0 0 -0.1195

通过指定两个输出参数计算幻方测试矩阵的全部QR分解。

A =魔法(5);[Q,R] = QR(A)
Q =5×5-0.5234 0.5058 0.6735 -0.1215 -0.0441 -0.7081 -0.6966 -0.0177 0.0815 -0.0800 -0.1231 0.1367 -0.3558 -0.6307 -0.6646 -0.3079 0.1911 -0.4122 -0.4247 0.7200 -0.3387 0.4514 -0.4996 0.6328 -0.1774
R =5×5-32.4808 -26.6311 -21.3973 -23.7063 -25.8615 0 19.8943 12.3234 1.9439 4.0856 0 0 -24.3985 -11.6316 -3.7415 0 0 0 -20.0982 -9.9739 0 0 0 0 -16.0005

验证 一个 = QR ,机器精度内。

范数(A-Q * R)
ANS = 9.5562e-15

指定三个输出参数,以返回置换矩阵或向量,在减少了填充[RQR分解的因素。

计算的QR分解west0479稀疏矩阵。指定三个输出返回置换矩阵满足 美联社 = QR

加载west0479A = west0479;[Q,R,P] = QR(A);

验证A * P = Q * R对于置换矩阵P,机器精度内。

范数(A * P-Q * R,“回回”
ANS = 3.5451e-10

现在指定'向量'选择返回p作为置换矢量。

[Q,R,P] = QR(A,'向量');

验证A(:,P)= Q * R对于排列矢量p,机器精度内。

范数(A(:,P) -  Q * R,“回回”
ANS = 3.5451e-10

验证在在分解结果使用的置换矩阵或置换矢量的[R因子与相比于nonpermuted分解稀疏输入更少的非零元素。

[Q1,R1] = QR(A);间谍(R1)

间谍(R)

结果表明,在经置换的分解产生的[R因子具有基本上较少的非零元素。

使用系数矩阵的经济尺寸QR分解来求解线性系统 斧头 = b

通过使用的前五列创建一个10×5系数矩阵魔术(10)。对于线性方程的右手侧 斧头 = b ,使用矩阵的行总和。有了这个设置,该方程的解 X 应该是那些向量。

A =魔法(10);A = A(:,1:5)
A =10×592 99 1 8 15 98 80 7 14 16 4 81 88 20 22 85 87 19 21 3 86 93 25 2 9 17 24 76 83 90 23 5 82 89 91 79 6 13 95 97 10 12 94 96 78 11 18 100 77 84
B =总和(A,2)
b =10×1215 215 215 215 215 290 290 290 290 290

计算的经济规模QR分解一个。然后求解线性系统 QRX = b X(P,:) = R \(Q \ b)中。因为Q是正交的,该方程是一样X(P,:) = R \(Q'* B)

[Q,R,P] = QR(A,0)
Q =10×5-0.0050 -0.4775 -0.0504 0.5193 0.0399 -0.0349 -0.5001 -0.0990 -0.1954 -0.2006 -0.4384 0.1059 -0.4660 0.4464 0.0628 -0.0947 -0.4151 -0.2923 -0.2542 0.5274 -0.1246 -0.4117 -0.2812 -0.1326 -0.4130 -0.3787 0.0209 0.2702 0.4697 0.0390-0.4085 -0.0017 0.2217 -0.2450 -0.2015 -0.0648 -0.3925 0.6939 0.0669 0.1225 -0.4683 0.0833 0.0283 -0.3038 0.5265 -0.4982 0.0867 0.0394 -0.1822 -0.4138
R =5×5-200.7112 -55.5026 -167.6040 -84.7237 -168.7997 0 -192.1053 -40.3557 -152.4040 -39.2814 0 0 101.3180 -89.4254 96.0172 0 0 0 41.0248 -14.9083 0 0 0 0 24.6386
p =1×53 1 5 2 4
X(P,:) = R \(Q \ b)中
X =5×11.0000 1.0000 1.0000 1.0000 1.0000

使对角的半对数图[R以确认该置换分解产生与R因子ABS(DIAG(R))降低。情节奇异值一个在比较了同样的情节。在实践中,对角线值[R以类似的方式来表现的奇异值一个。因此,你可以使用的对角线值[R至于如何接近奇异的矩阵措施一个是。

semilogy(ABS(DIAG(R)),'-o')保持semilogy(SVD(A),'R-O')图例(“R的对角”“A的奇异值”

解决稀疏线性系统,并使用结果,看看有多少矢量b在谎言的列空间小号

创建随机500×20稀疏矩阵具有10%密度和1的矢量。用QR因式分解矩阵入因素[RC = Q'* B

S = sprand(500,20,0.1);B =酮(500,1);[C,R] = QR(S,B,0);

使用结果来解决 SX = b X = R \ C

X = R \ C;

考虑身份 b 2 = SX - b 2 + C 2

通过规范通过划分b,你会得到一个新的身份昭示着多少b在谎言的列空间小号

SX - b 2 b 2 + C 2 b 2 = 1

第一项告诉多少b才不是位于的列空间小号,而第二项告诉多少b位于的列空间小号

T1 =规范(S * X-B)^ 2 /规范(B)^ 2
T1 = 0.4000
T2 =范数(C)^ 2 /规范(B)^ 2
T2 = 0.6000

QR解决矩阵方程 SX = 具有矩形稀疏系数矩阵 小号

加载west0479稀疏矩阵,并使用所述第一列200作为矩形系数矩阵中的线性系统。对于等式的右边,使用的行总和 小号 。有了这个设置,解决 SX = 是那些的向量。

加载west0479S = west0479(:,1:200);B =总和(S,2);

解决 SX = 运用QR具有两个输入和三个输出。到线性系统的解决方案是X = P *(R \ C)

[C,R,P] = QR(S,B);X = P *(R \ C);

验证 SX - = 0 ,机器精度内。

范数(S * X-B)
ANS = 9.1703e-11

注意:为了计算上三角因子[R和置换矩阵P,但要避免计算的正交矩阵Q(这通常是一个呼叫的计算上最昂贵的部分QR),你可以指定作为空矩阵:

emptyB =零(大小(S,1),0);[〜,R,P] = QR(S,emptyB);

输入参数

全部收缩

输入矩阵,指定为一个完整的或稀疏矩阵。

数据类型:|
复数支持:万博1manbetx

输入系数矩阵,指定为稀疏矩阵。具有两个输入矩阵QR计算出的最小平方解对于线性系统S * X = B

数据类型:
复数支持:万博1manbetx

右手侧矩阵,指定为一个完整的或稀疏矩阵。具有两个输入矩阵QR单位计算C = Q'* B,你可以用它来求解线性系统S * X = B

数据类型:|
复数支持:万博1manbetx

形状排列输出的,指定为'矩阵'要么'向量'。此标志控制的排列输出P返回为一个置换矩阵或置换矢量。您必须指定三个输出参数QR使用这个选项。

  • 如果outputForm'向量', 然后P是置换载体,其满足A(:,P)= Q * R

  • 默认值outputForm'矩阵'这样A * P = Q * R

例:[Q,R,P] = QR(A, '载体')

输出参数

全部收缩

输出矩阵。内容X取决于是否一个已满或疏:

  • 如果一个是满的,那么QR分解的上三角因子是R = triu(X)。(该三角形下部元件是用于计算数据的一部分Q。)

  • 如果一个是稀疏的,则因子R = X

正交因子,返回一个矩阵,满足甲= Q * R-通过-ñ矩阵一个

  • 对于完全分解,QR(A)回报Q作为-通过-满足正交矩阵 Q H Q = Q Q H = 一世

  • 对于矩形一个M> N,经济规模的分解QR(A,0)只计算第一个ñQ和第一ñ[R。的列Q形成用于的列空间的标准正交基一个

不同的机器和MATLAB的版本®可以产生不同的列中Q仍在数值准确。相应的行和列Q[R可翻转自己的招牌,因为这不影响表达式的值甲= Q * R

上三角因子,返回作为基质,其满足甲= Q * R

置换信息,返回作为基质或载体。的形状P取决于价值outputForm。也,QR选择P为了满足不同的条件取决于所述第一输入矩阵是否充满或稀疏:

  • 全 -QR选择P以便ABS(DIAG(R))为减少。

  • 稀疏 -QR选择P减少填充在[R

线性系统因子,返回作为基质,其满足C = Q'* B。最小二乘解来S * X = BX = R \ C。如果置换输出P是指定的,则该解决方案是要么X = P *(R \ C)要么X(P,:) = R \ C取决于的值outputForm

  • 如果outputForm'向量',则最小二乘解来S * X = BX(P,:) = R \ C

  • 默认值outputForm'矩阵'使得最小二乘解来S * X = BX = P *(R \ C)

提示

  • 为了解决涉及相同系数矩阵,使用多个线性系统分解对象。

  • 对于语法[C,R] = QR(S,B), 的价值X = R \ C是一个最小二乘解来S * X = B只有当小号没有低等级。

扩展功能

R2006a前推出