gpt4 book ai didi

r - R中的QR分解和Cholesky分解

转载 作者:行者123 更新时间:2023-12-04 10:12:56 26 4
gpt4 key购买 nike

我最近了解到如何使用 Choleski 分解计算 QR 分解的 R 矩阵。关系是:

R = Choleski-decomposition(A^TA)

例子:

> A=matrix(c(1,2,3,2,3,5,1,3,2), nrow=3)
> A
[,1] [,2] [,3]
[1,] 1 2 1
[2,] 2 3 3
[3,] 3 5 2

> AtA = t(A)%*%A
> AtA
[,1] [,2] [,3]
[1,] 14 23 13
[2,] 23 38 21
[3,] 13 21 14

现在计算 QR 和 Choleski 分解:

> chol(AtA)
[,1] [,2] [,3]
[1,] 3.741657 6.147009 3.4743961
[2,] 0.000000 0.462910 -0.7715167
[3,] 0.000000 0.000000 1.1547005

> qr_A = qr(A)
> qr.R(qr_A)
[,1] [,2] [,3]
[1,] -3.741657 -6.147009 -3.4743961
[2,] 0.000000 0.462910 -0.7715167
[3,] 0.000000 0.000000 -1.1547005

据观察,从 Choleski 和 QR 分解计算出的 R 矩阵的值并不相同。 chol(AtA) 的第一行和第三行对 qr.R(qr_A) 取反。这是为什么?我假设的关系不正确吗?

最佳答案

矩阵的 QR 分解不是唯一的!有 R=chol(AtA) 的 QR 分解,但也有其他的,qr 不一定给出那个。在你的例子中

qr.Q(qr_A)%*%qr.R(qr_A) 

(qr.Q(qr_A)%*%diag(c(-1,1,-1)))%*%chol(AtA)

都是 A 的有效 QR 分解。

关于r - R中的QR分解和Cholesky分解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19536933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com