FlashX
FlashX copied to clipboard
[FlashR]: fm.svd has very low precision for singular values close to 0.
> mat <- fm.runif.matrix(1000000, 10)
> mat <- cbind(mat, mat)
> res <- svd(mat)
> res$d
[1] 2.273649e+03 4.091728e+02 4.088768e+02 4.085853e+02 4.083932e+02
[6] 4.081581e+02 4.080538e+02 4.077418e+02 4.072318e+02 4.070689e+02
[11] 1.106819e-05 7.270199e-06 6.023668e-06 2.217967e-06 1.690857e-06
[16] 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00