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

 采纳的回答

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 个评论

thank you~!! Then is there any way to use L and U separately?
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?

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Sparse Matrices 的更多信息

产品

版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by