Is it possible to solve Ax=b with mapreduce ?
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Peta
am 10 Aug. 2015
Kommentiert: Brendan Hamm
am 10 Aug. 2015
I’m trying to solve some really large linear regression problems with the mldivide command. When I try to do the calculation with large variables the system RAM quickly goes up to 100% and Matlab starts to use the page file and it’s quite slow.
So I was wondering if it is possible to partition a calculation of the type x=A\b with mapreduce to tackle it in chunks instead. Does anyone know?
0 Kommentare
Akzeptierte Antwort
Brendan Hamm
am 10 Aug. 2015
You can do this if certain conditions hold fairly simply. In the case of a diagonally dominant matrix A you could write the Gauss-Seidel, Jacobi or Conjugate Gradient (symmetric positive definite only) methods. I imagine they would be very slow with so much read write from disk with iterative algorithms, but likely better than using paging. Then there is the obvious, buy more RAM for your machine if it is feasible.
2 Kommentare
Brendan Hamm
am 10 Aug. 2015
If RAM is an issue, then I am presuming that you cannot hold your matrix A and vector b in memory and SHOULD use mapreduce. If you can fit A and b in memory, then these iterative methods have very little "extra" data that needs to be stored in memory and you can proceed without mapreduce.
There are plenty more papers on this out there. I would recommend the Conjugate Gradient Method (if the stricter conditions are met).
Weitere Antworten (0)
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!