How can I solve linear equation system in parallel?
Show older comments
I am solving a linear equation system,
, where A is a sparse square matrix and B is a sparse column vector. Before solving the system I use the command
dA = decomposition(A);
to return a decomposition of matrix A that I can use to solve the linear system more efficiently. In my case, it is Cholesky decomposition. Then I solve the system
x = dA\B;
and it works perfectly. My question is: how can I do it in parallel computing? or What is the best way to solve it in a cluster?
Accepted Answer
More Answers (1)
Christine Tobler
on 14 Jan 2020
1 vote
As John says, if you are using decomposition on one computer with several cores, the solver used already will use those cores if appropriate.
If you are working on a distributed system, and the matrix A is a distributed matrix, as of R2019b decomposition is also supported for this (see here).
1 Comment
Heiko Weichelt
on 14 Jan 2020
Notice that decomposition of distributed arrays has a slightly limited subset for the underlying algorithms. Right now, sparse Cholesky, e.g., is not yet supported. Compare
>> help parallel.distributed.Decomposition.Type
and
>> help parallel.distributed.Decomposition
for the limitations.
Categories
Find more on Linear Algebra in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!