Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4th Edition Algorithm: Singular Value Decomposition #43

Open
norvig opened this issue Mar 19, 2017 · 9 comments
Open

4th Edition Algorithm: Singular Value Decomposition #43

norvig opened this issue Mar 19, 2017 · 9 comments

Comments

@norvig
Copy link
Contributor

norvig commented Mar 19, 2017

We will implement SVD, see for example http://stats.stackexchange.com/questions/159325/what-fast-algorithms-exist-for-computing-truncated-svd

@kanishk1225
Copy link

Is this implemented in java?

@norvig
Copy link
Contributor Author

norvig commented Mar 19, 2017

we would want implementations in java and python, and perhaps a demo in javascript

@sofmonk
Copy link

sofmonk commented Mar 20, 2017

Sir, so we first start work on writing the pseudocode?

@Chipe1
Copy link
Contributor

Chipe1 commented Jul 18, 2017

@norvig Are we supposed to follow the method given by amoeba (top answer on the stackexchange question)? I tried doing A = [0 B;B' 0] but instead of converging I encounter a loop. I couldn't find a proof for equivalence of truncated SVD of B and eigen decomposition of [0 B;B' 0]. I was able to prove it for [B 0; 0 B'] instead.
Also, are we finding only the biggest eigen value? If not, do I generate a new X using Gram–Schmidt?
I'm not sure how/where we are going to use SVD. My guess is dimensionality reduction, so we could need more eigenvalues/vectors.
Is this a step in the right direction?

My bad. Just had to normalize the parts individually instead of the whole vector X.

@Shashi456
Copy link

Can i work on this issue ?

@Chipe1
Copy link
Contributor

Chipe1 commented Aug 7, 2017

@Shashi456 I've already implemented it in python. You can improve it, write a pseudocode, or implement it in another language.

@Shashi456
Copy link

Could i take a look at the code for writing the pseudocode then ?

@Chipe1
Copy link
Contributor

Chipe1 commented Aug 7, 2017

Link to code
The code is not very clear and does some things to prevent precision problems. The pseudocode won't require doing that.

@Shashi456
Copy link

Thanks @Chipe1 I'll take a look at it , have you applied just some algorithm generically or did you take a look at existing algo's and converted them into code?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants