Собственные значения hmatrix отличаются от R?
Я пытаюсь следовать нескольким простым примерам Hmatrix:
import qualified Numeric.LinearAlgebra as La
w = 4 La.|> [2, 0, -3, 0 :: Double]
m = (3 La.>< 4) [1::Double ..]
x = La.singularValues m
x' = sqrt . La.eigenvalues $ m La.<> La.trans m
Загрузить в ghci:
> x'
fromList [25.436835633480243 :+ 0.0,1.7226122475210675 :+ 0.0,2.3006847884268434e-7 :+ 0.0]
Результаты в R:
> x = matrix(1:12, 3, 4, byrow=T)
> x
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
> sqrt(eigen(x %*% t(x))$values)
[1] 2.543684e+01 1.722612e+00 1.159372e-07
Первые два собственных значения совпадают, но в третьем они немного отличаются. Зачем?
Обратите внимание, что hmatrix использует комплексные числа.