What are the differences between MA57 and HSL_MA57 solvers? I'm in an optimization class that will make use of symmetric indefinite factorizations, and I'm trying to learn about the distinction between these two. I know that MATLAB uses the MA57 solver but am unsure of the differences beyond this. Thanks!
Nice summary of HSL_MA77 vs MA57 taken from here (p.45) but note that it's different from the original Q:
HSL MA77 [Reid and Scott 2008; 2009b] is also a multifrontal solver that is designed to solve positive definite and indefinite sparse symmetric systems. A different inner kernel is used in each case to achieve the best performance. The fundamental difference between MA57 and HSL MA77 is that the latter is an out-of-core solver capable of holding all the data out of core, enabling the solution of much larger problems. Further, care has been taken to allow the addressing of fronts with 64-bit integers. This is essential as some problems require the factorization of dense matrices containing this many elements.
It exploits the virtual memory system of Reid and Scott [2009a] to minimize overheads due to the out-of-core approach while remaining robust. The ability to work in core is also available, though some overhead from the out-of-core design remains. Despite this, on problems that MA57 is able to solve, the performance of HSL MA77 is favourable in the factorization phase, though the solve phase can be comparatively slow.
While full control over the factorization is still available, the large range of support routines that come with MA57 are not present. The user is expected to supply their own ordering and scaling. This reflects the limited availability of subroutines capable of performing these routines in an out-of-core fashion for large problems.