2010-07-21 9 views
8

Je voudrais calculer le Moore–Penrose pseudoinverse d'une énorme matrice. Idéalement, je voudrais le faire sur une matrice qui a 23 millions de lignes et 1000 colonnes, mais si nécessaire, je peux réduire le nombre de lignes à 4 millions en exécutant seulement une partie de mon expérience.pseudo-inverse à grande échelle

De toute évidence, le chargement de la matrice en mémoire et l'exécution de SVD dessus ne fonctionneront pas. Wikipedia pointe vers Krylov subspace méthodes et mentionner la Arnoldi, Lanczos, Conjugate gradient, GMRES (minimum résiduel généralisé), BiCGSTAB (gradient de biconjugué stabilisé), QMR (quasi minimale résiduelle), TFQMR (transposition sans QMR), et MINRES méthodes (résiduelle minimale) comme étant parmi les meilleures méthodes de sous-espace de Krylov. Mais je ne sais pas où aller à partir d'ici. Le calcul du pseudo-inverse d'une telle matrice est-il même faisable? Si oui, en utilisant quels algorithmes ou bibliothèques de logiciels? J'ai un grand cluster informatique disponible, donc les approches parallèles sont les bienvenues.

This answer pointe vers le paquet R biglm. Cela fonctionnerait-il? Est-ce que quelqu'un l'a utilisé? Je travaille normalement en Python, mais cela ne me dérange pas d'utiliser d'autres langages et outils pour cette tâche particulière.

+0

La matrice a-t-elle une structure de bloc spéciale? – Joel

+0

@Joel: Non, presque tous les éléments sont différents de zéro. –

+0

Est-ce que le pseudo-inverse est le produit final ou est-ce que vous calculez quelque chose avec? – user382751

Répondre

2

Il est peut-être préférable d'utiliser un algorithme itératif de bloc qui converge directement vers la solution des moindres carrés plutôt que de calculer la solution des moindres carrés via le pseudo-inverse. Voir "Applied Iterative Methods" par Charlie Byrne. Ces algorithmes sont étroitement liés aux méthodes du sous-espace de Krylov, mais sont ajustés pour un calcul facile. Vous pouvez obtenir une introduction en regardant le chapitre 3 de ce preprint of another de ses livres.

Questions connexes