Code Monkey home page Code Monkey logo

Comments (12)

lucasmaystre avatar lucasmaystre commented on June 17, 2024

Hi Sarah, can you share the files & the exact command invocation that you are using?

from svdlibc.

sarahcohen520 avatar sarahcohen520 commented on June 17, 2024

Sure,
the file I use is :
cat THE_MATRIX_sparse1
3 3 3
1
0 1.0
1
1 1.0
1
2 1.0

and the cmd line :

./svd -o result -v 200 ./THE_MATRIX_sparse1

from svdlibc.

sarahcohen520 avatar sarahcohen520 commented on June 17, 2024

and the results output:
Verbosity = 200
Loading the matrix...
Computing the SVD...
SOLVING THE [A^TA] EIGENPROBLEM
NO. OF ROWS = 3
NO. OF COLUMNS = 3
NO. OF NON-ZERO VALUES = 3
MATRIX DENSITY = 33.33%
MAX. NO. OF LANCZOS STEPS = 3
MAX. NO. OF EIGENPAIRS = 3
LEFT END OF THE INTERVAL = -1.00E-30
RIGHT END OF THE INTERVAL = 1.00E-30
KAPPA = 1.00E-06

NUMBER OF LANCZOS STEPS = 3
RITZ VALUES STABILIZED = 3

COMPUTED RITZ VALUES (ERROR BNDS)
1 9.99999985841008E-01 ( 0.00E+00)
2 1.00000000000000E+00 ( 0.00E+00)
3 1.00000000000000E+00 ( 0.00E+00)

SINGULAR VALUES: 3
1
1
1

LEFT SINGULAR VECTORS (transpose of U): 3 3
0.000271442 0.868467 -0.495747
-0.000308055 -0.868467 0.495747
3.43207e-05 0.495747 0.868467

RIGHT SINGULAR VECTORS (transpose of V): 3 3
0.000271442 0.868467 -0.495747
-0.000308055 -0.868467 0.495747
3.43207e-05 0.495747 0.868467
SINGULAR VALUES FOUND = 3; nsig=3

ELAPSED CPU TIME = 0 sec.
MULTIPLICATIONS BY A = 11

from svdlibc.

lucasmaystre avatar lucasmaystre commented on June 17, 2024

Hi Sarah,
thanks. I could indeed reproduce the bug (both with sparse and dense text input). The result of U^T dot V gives something close to

 1 -1 0
-1  1 0
 0  0 1

I don't know where the problem is coming from. Let me know if you make any progress on this issue.

from svdlibc.

sarahcohen520 avatar sarahcohen520 commented on June 17, 2024

Hi Lucas,
First, thanks for your responses.
Second, I am compiling with gcc 6.3 in 64 bit.
while I am compiling with gcc 4.2 in 32 bit, I have different results, but still, not the good ones:

./bin/svd -r st -v 4 THE_MATRIX_sparse1
Verbosity = 4
Loading the matrix...
Computing the SVD...
SOLVING THE [A^TA] EIGENPROBLEM
NO. OF ROWS = 3
NO. OF COLUMNS = 3
NO. OF NON-ZERO VALUES = 3
MATRIX DENSITY = 33.33%
MAX. NO. OF LANCZOS STEPS = 3
MAX. NO. OF EIGENPAIRS = 3
LEFT END OF THE INTERVAL = -1.00E-30
RIGHT END OF THE INTERVAL = 1.00E-30
KAPPA = 1.00E-06

NUMBER OF LANCZOS STEPS = 1
RITZ VALUES STABILIZED = -1208451084

COMPUTED RITZ VALUES (ERROR BNDS)
1 0.00000000000000E+00 ( 1.38E+306)

SINGULAR VALUES: 0

LEFT SINGULAR VECTORS (transpose of U): 3 3
0 0 0
0 0 0
0 0 0

RIGHT SINGULAR VECTORS (transpose of V): 3 3
1 0 0
0 0 0
0 0 0
SINGULAR VALUES FOUND = 0; nsig=0

ELAPSED CPU TIME = 0 sec.
MULTIPLICATIONS BY A = 2
MULTIPLICATIONS BY A^T = 2

Can you please send me which gcc are you using and on which platform (32/64 bit)?
Thanks,
Sarah

from svdlibc.

lucasmaystre avatar lucasmaystre commented on June 17, 2024

Hi Sarah,
I am on a 64 bit platform. My GCC is in fact symlinked to clang (Apple LLVM version 10.0.1 (clang-1001.0.46.3)).

I get the exact same results you posted 3 days ago, on April 8.

If I use a matrix whose singular values are not all the same, e.g. the following dense text matrix:

3 3
1.0 0.0 0.0
0.0 2.0 0.0
0.0 0.0 3.0

then the results seem to be correct. Therefore, I wonder if SVDLIBC is not struggling with singular values of multiplicity > 1?

from svdlibc.

sarahcohen520 avatar sarahcohen520 commented on June 17, 2024

this one is working for you:
3 3
1 0 0
0 1 0
0 0 1

from svdlibc.

sarahcohen520 avatar sarahcohen520 commented on June 17, 2024

it is the dense matrix of the sparse that I sent you 3 days ago.

from svdlibc.

sarahcohen520 avatar sarahcohen520 commented on June 17, 2024

this one is working for me also:
3 3
1.0 0.0 0.0
0.0 2.0 0.0
0.0 0.0 3.0,

from svdlibc.

lucasmaystre avatar lucasmaystre commented on June 17, 2024

The dense identity matrix does not work for me - it produces the same result as the one you sent 3 days ago (whether the format is dense or sparse).

from svdlibc.

sarahcohen520 avatar sarahcohen520 commented on June 17, 2024

ok, also all the matrices that have values very closed to the identity matrix are not working.

Do you have an idea why?

from svdlibc.

lucasmaystre avatar lucasmaystre commented on June 17, 2024

No, unfortunately I don't have an idea where this might be coming from...

from svdlibc.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.