Get inverse of a huge matrix by inverting its submatrices

7 次查看(过去 30 天)
Hi,
I need to calculate the inverse of a matrix i.e. 85000x85000 (later bigger), which I need to break down to submatrices to be able to store them (memory problem). Therefore, I would need to work with inverses of the submatrices to calculate the inverse of the matrix.
1) Is there a more efficient way to think about this problem in Matlab?
2) Are parts of these submatrix inversion problems already solved in available codes?
Thanks for your advice
Best
  6 个评论
Walter Roberson
Walter Roberson 2016-7-24
I am not aware of any mathematical transformation that allows the calculation of an inverse of a matrix in terms of the inverses of submatrices -- only of calculations of the inverse in terms of the adjunct matrices.
nash
nash 2016-7-24
Juarez Ruiz, Cortes Maldonado, Perez Rodriguez "Relationship between the Inverses of a Matrix and a Submatrix" (2016) seems to do the job. However, my question was more like about alternatives to organize such a problem. Thanks so far Walter. I need to think about it and just try different setups.

请先登录,再进行评论。

回答(1 个)

Steven Lord
Steven Lord 2016-7-24
If you're inverting the matrix to try to solve a system of linear equations, consider using the iterative solvers like gmres and friends instead. If the problem is sparse and structured, you may not need to explicitly create the 85000-by-85000 matrix but instead write a function that computes the product of that matrix (and/or its transpose) with a vector.

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by