Registered Member
|
Hi,
I am working with the SVD of dense matrixes and I was comparing the performance of this operation using the eigen module itself and linked with the MKL. Usually, my matrix contains quite unitary numbers expect for some entries that are quite large (up to 1e9). The evaluation of the singular values using the eigen module itself determines any zero values, using the MKL module some of them are zero leading to some big troubles in my subsequent code. I was wondering if I can modify the threshold value, but reading the documentation it seems that it does not affect the results of the decomposition. Is it right? Did anyone experience something like that? Any suggestion to overcome the problem? Thanks in advanced Ranius |
Moderator
|
Your question is not very clear. Which version is working? Do you have a self-contained example, or at least a matrix example?
|
Registered Member
|
Hi,
It is very hard for me to provide a self-contained examples. I'm working with Eigen 3.2.2 and MKL 2013 update 4 In brief, the previous code evaluate the matrix below which has to be decomposed using SVD to get the singular values.
Using the native Eigen JacobiSVD method the whole set of singular values are non-zero, using the MKL method included in the Eigen one of them is zero. JacobiSVD:
MKL
|
Moderator
|
And what is the problem?? In both cases '0' or '1.41e-19' have to ignored because the later is much much smaller than the largest singular value. Your matrix is clearly not full rank.
|
Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]