Large sparse matrix LU decomposition

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

 Respuesta aceptada

Christine Tobler
Christine Tobler el 29 de Jun. de 2021

0 votos

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 comentarios

chan yeoung woo
chan yeoung woo el 30 de Jun. de 2021
thank you~!! Then is there any way to use L and U separately?
Christine Tobler
Christine Tobler el 30 de Jun. de 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?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Linear Algebra en Centro de ayuda y File Exchange.

Productos

Versión

R2020b

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by