¿Cuál es la mejor manera de calcular la descomposición de valores singulares (SVD) de una matriz positiva muy grande (65M x 3.4M) donde los datos son extremadamente escasos?
Menos del 0.1% de la matriz no es cero. Necesito una forma que:
- cabe en la memoria (sé que existen métodos en línea)
- se computará en un tiempo razonable: 3,4 días
- será lo suficientemente preciso, sin embargo, la precisión no es mi principal preocupación y me gustaría poder controlar la cantidad de recursos que le dedico.
Sería genial tener una biblioteca Haskell, Python, C # etc. que lo implemente. No estoy usando mathlab o R pero si es necesario puedo ir con R.