Version 2.1.0
13th March 2023 User documentation
 Recent Changes

Code Download
 Single
 Double
HSL_MI20: Unsymmetric system: algebraic multigrid preconditioner
Given an \(n\times n\) sparse matrix \(\bf A\) HSL_MI20
has two functions.
Given an \(n\)vector \(\bf z\),
HSL_MI20
computes the vector \({\bf x = Mz}\), where \(\bf M\) is an algebraic multigrid (AMG) vcycle preconditioner for A.Alternatively, given a righthandside \(n\)vector \(\bf b\),
HSL_MI20
solves the linear system of equations \(\bf A x = b\) by an AMG method with or without a Krylov accelerator.
A classical AMG method is used, as described in [1] (see also Section 5 below for a brief description of the algorithm). The matrix \(\bf A\) must have positive diagonal entries and (most of) the offdiagonal entries must be negative (the diagonal should be large compared to the sum of the offdiagonals). During the multigrid coarsening process, positive offdiagonal entries are ignored and, when calculating the interpolation weights, positive offdiagonal entries are added to the diagonal.
Precision: At least 8byte arithmetic is recommended.