Large sparse matrix LU decomposition

23 vues (au cours des 30 derniers jours)
chan yeoung woo
chan yeoung woo le 29 Juin 2021
Commenté : Christine Tobler le 30 Juin 2021
KK matrix is 305461 x 305461 sparse matrix
1)An out of memory error appears when running LU
is there a solution?
[L,U] = lu(KK)
2)What should I do to see the LU when using dk?
dK= decomposition(KK,'lu')
[L,U]= lu(dK) <== error : Error occurred while using:lu Invalid data type. The first argument must be double or single

Réponse acceptée

Christine Tobler
Christine Tobler le 29 Juin 2021
If the call to lu runs out of memory, but the call to decomposition(__, 'lu') doesn't, likely the reason is that decomposition uses the five-output syntax of LU, which is much more efficient. You could try calling that syntax directly.
Decomposition doesn't support extracting the factors directly, just solving a linear system based on those factors which are internally stored in a quite different format.
  2 commentaires
chan yeoung woo
chan yeoung woo le 30 Juin 2021
thank you~!! Then is there any way to use L and U separately?
Christine Tobler
Christine Tobler le 30 Juin 2021
It depends what you want to do with L and U. The five-output syntax returns L, U, and additional permutation and scaling matrices, perhaps you can adapt your usage of L and U to this case?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Linear Algebra dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by