1

私はいくつかの簡単な 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

最初の 2 つの固有値は一致しますが、3 番目の固有値ではかなり異なります。なんで?

hmatrix は複素数を使用することに注意してください。

4

0 に答える 0