我有一个关于R中qr函数的问题。我的输入矩阵是正定的,所以R应该给r函数带有对角线的三角矩阵都是正的。但是,我发现对角线有一些负值。我该如何解决这个问题?QR分解R - 强制正对角线
假设我们有一个矩阵y
看起来是这样的:
[1,] 0.07018171 -0.07249188 -0.01952050
[2,] -0.09617788 0.52664014 -0.02930578
[3,] -0.01962719 -0.09521439 0.81718699
这是正定的:
> eigen(y)$values
[1] 0.82631283 0.53350907 0.05418694
我在r使用QR(),它给了我 Q =
[,1] [,2] [,3]
[1,] -0.5816076 -0.6157887 0.5315420
[2,] 0.7970423 -0.5620336 0.2210021
[3,] 0.1626538 0.5521980 0.8176926
和R =
[1,] -0.1206685 0.4464293 0.1209139
[2,] 0.0000000 -0.3039269 0.4797403
[3,] 0.0000000 0.0000000 0.6513551
其中对角线不正。
非常感谢。
这里是矩阵:
structure(c(0.07018171, -0.09617788, -0.01962719, -0.07249188,
0.52664014, -0.09521439, -0.0195205, -0.02930578, 0.81718699), .Dim = c(3L,
3L))
假设我们有一个矩阵如下所示: [1] [2] [3] [1] 0.07018171 - 0.07249188 -0.01952050 [2,] -0.09617788 0.52664014 -0.02930578 [3,] -0.01962719 -0.09521439 0.81718699 这是pd并因此是可逆的。我在R中应用qr(),它给我 Q = [,1] [,2] [,3] [1,] -0.5816076 -0.6157887 0.5315420 [2,] 0.7970423 -0.5620336 0.2210021 [3,] 0.1626538 0.5521980 0.8176926 和R = [1,] -0.1206685 0.4464293 0.1209139 [2,1] 0.0000000 -0.3039269 0.4797403 [3,] 0.0000000 0.0000000 0.6513551 ,其对角为负。 –
谢谢,我已经想通了。我可以简单地用对角线矩阵乘以符号(R)来强制对角线条目为正,然后调整Q的对应值。然后,Q仍然是对角矩阵。无论如何,我可以编辑这些问题。 –