Devo invertire una matrice sparsa di grandi dimensioni. Non riesco a sfuggire all'inversione della matrice, l'unica scorciatoia potrebbe essere solo avere un'idea degli elementi diagonali principali, e ignorare gli elementi fuori diagonale (preferirei di no, ma come soluzione sarebbe accettabile).Inversione di matrici sparse di grandi dimensioni con scipy
Le matrici che ho bisogno di invertire sono generalmente grandi (40000 * 40000) e hanno solo una manciata di diagonali non diverse da zero. Il mio approccio attuale è quello di costruire tutto radi, e poi
posterior_covar = np.linalg.inv (hessian.todense())
questo richiede chiaramente molto tempo e un sacco di memoria.
Qualche suggerimento o è solo questione di pazienza o di rendere il problema più piccolo?
il dottore 'scipy' dice che non è necessario per densificare la matrice, quindi sono un po 'confuso. http://docs.scipy.org/doc/scipy-0.8.x/reference/sparse.html – BenDundee
La versione 0.12 di scipy (attualmente in fase di beta test) ha la funzione scipy.sparse.linalg.inv. –