To solve a sparse complex symmetric or Hermitian system of linear equations. Given a sparse complex symmetric or Hermitian matrix and an -vector or a matrix , this subroutine solves the system or the system . The matrix can be either complex symmetric or Hermitian. There is an option for iterative reﬁnement.
The multifrontal method is used. HSL_ME57 is a complex version of the code HSL_MA57. It is a direct method based on a sparse variant of Gaussian elimination and is discussed further by Duﬀ and Reid, ACM Trans. Math. Software 9 (1983), 302-325. A detailed discussion on the MA57 strategy and performance is given by Duﬀ, ACM Trans. Math. Software 30 (2004), 118-144. Relevant work on pivoting and scaling strategies is given by Duﬀ and Pralet, SIAM Journal Matrix Analysis and Applications 27 (2005), 313-340. More recent work on static pivoting is given by Duﬀ and Pralet, SIAM Journal Matrix Analysis and Applications 29 (2007), 1007-1024.
The HSL_ME57 package has a range of options including several sparsity orderings, multiple right-hand sides, partial solutions, error analysis, scaling, a matrix modiﬁcation facility, the eﬃcient factorization of highly rank deﬁcient systems, and a stop and restart facility. Although the default settings should work well in general, there are several parameters available to enable the user to tune the code for his or her problem class or computer architecture.
The package has facilities for automatic restarts when storage limits are exceeded, the return of information on pivots, permutations, scaling, modiﬁcations, and the possibility to alter the pivots a posteriori.