我正在尝试遵循一些简单的 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 使用复数。