¿Cuál es el registro de calcular un SVD de una matriz dispersa grande?

Obtiene la SVD de una matriz de forma incremental, calculando su vector propio superior (o par de vectores singular). Luego restas eso y continúas con lo que queda. Calcular el vector propio superior de una matriz dispersa es relativamente fácil y se escala muy bien, por ejemplo, utilizando el método de potencia.

Por lo tanto, el cálculo del rango de páginas de Google en toda la matriz de adyacencia web es probablemente el mayor ejemplo conocido actualmente (solo necesitan el primer vector).

La computación no es el límite para su problema aquí, es el almacenamiento: la SVD de una matriz escasa enorme es generalmente densa, y necesita mucha más memoria que su matriz de entrada. Por lo tanto, podría calcular aproximadamente la SVD completa de la matriz de Google si dedica una gran cantidad de tiempo y computadoras, pero nunca podrá almacenar el resultado. Espero que esto ayude.

http: //blog.revolutionanalytics… . No es exactamente un registro para el cálculo de SVD, pero la entrada ganadora de registro utiliza SVD.