Version 2.0.0

15th May 2015

Recent Changes

Code Download

  • Single
  • Double

HSL_MI20 Unsymmetric system: algebraic multigrid preconditioner

Given an n × n sparse matrix A HSL_MI20 has two functions.

  1. Given an nvector z, HSL_MI20 computes the vector x = Mz, where M is an algebraic multigrid (AMG) v-cycle preconditioner for A.
  2. Alternatively, given a right-hand-side nvector b, HSL_MI20 solves the linear system of equations Ax = 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 A must have positive diagonal entries and (most of) the off-diagonal entries must be negative (the diagonal should be large compared to the sum of the off-diagonals). During the multigrid coarsening process, positive off-diagonal entries are ignored and, when calculating the interpolation weights, positive off-diagonal entries are added to the diagonal.

Precision: At least 8-byte arithmetic is recommended.