Large sparse matrix LU decomposition

12 次查看(过去 30 天)
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

采纳的回答

Christine Tobler
Christine Tobler 2021-6-29
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 个评论
chan yeoung woo
chan yeoung woo 2021-6-30
thank you~!! Then is there any way to use L and U separately?
Christine Tobler
Christine Tobler 2021-6-30
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 个)

类别

Help CenterFile 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