<p>The problem you're referring to is called the matrix completion problem. For a library you can see <a href="https://github.com/tonyduan/matrix-completion" rel="nofollow noreferrer">here.</a> The method is called <a href="https://arxiv.org/abs/0810.3286" rel="nofollow noreferrer">singular value thresholding</a> or alternating least squares. An alternative implementation is <a href="http://www.quuxlabs.com/blog/2010/09/matrix-factorization-a-simple-tutorial-and-implementation-in-python/" rel="nofollow noreferrer">here.</a> The code is available <a href="http://www.quuxlabs.com/wp-content/uploads/2010/09/mf.py_.txt" rel="nofollow noreferrer">here</a></p>
Recommandations with SVD
<p>I'm actually in an intern ship at LIRIS (Computer Science Research Laboratory) and I work on recommender systems. My intern ship supervisor asks me to make a presentation about recommending movies thanks to SVD for tomorrow. So I learned about that.</p>

<p>I think that I understood the mathematical part with the A = US(V^T) but some things are not really clear for me for the next step (recommend movies). I've found an amount of knowledge and it's not clear in my head :D</p>

<p>I don't understand if the SVD calculates the numbers which are missing in the matrix A (predict ratings for users who haven't rate a film) or if we need a dense matrix A that we factorize in 3 matrices to recommend movies ?</p>

<p>For the first case, how it works ? Because I've found nothing about that...
For the second, how can 3 matrices can help us to recommend movies ? I don't understand the link between a decomposed matrix and recommend movies.</p>

<p>I will be very thankful if someone can help me :)</p>

<p>PS : sorry for the English, I'm a French student :D</p>