CXML

ditsol_driver 


FORMAT

  DITSOL_DRIVER (dmatvec_driver, dpcondl_driver, dpcondr_driver, mstop, a,
  ia, x, b, n,
              ql, iql , qr, iqr, iparam, rparam, iwork, rwork, ierror)

Arguments

  DITSOL_DRIVER has the standard parameter list for an iterative solver, with
  the exception of the first three arguments which must be DMATVEC_DRIVER,
  DPCONDL_DRIVER and DPCONDR_DRIVER. These must be declared external in your
  calling (sub)program.

Description

  DITSOL_DRIVER solves the system of linear equations
                                 A * x = b
  using one of the six iterative methods provided in CXML. By a suitable
  choice of  the variables isolve, istore and iprec in the array IPARAM, an
  appropriate solver, storage scheme and preconditioner are selected. The
  preconditioner must be created in the appropriate storage scheme, prior to
  the call to the driver routine.

  The following table shows the preconditioning options and the
  perconditioners that are permitted.

       Preconditioner   Left      Right       Split       SPD Split

       Diagonal            X          X                       X

       Polynomial          X          X                       X

       ILU                 X          X           X           X

  The preconditioning options applicable to the various iterative solvers are
  summarized in Table 12.8.

  The following table shows the real workspace requirements nrwk for each
  method and the corresponding preconditioning option.

       Method           None    Left      Right       Split

       DITSOL_PCG        3n                            4n (SPD split)

       DITSOL_PLSCG     4n      5n        5n          6n

       DITSOL_PBCG      5n      7n        6n          7n

       DITSOL_PCGS      6n      7n        6n          7n

       DITSOL_PGMRES    nrwk1   nrwk1+n   nrwk1+n     nrwk1+n

       DITSOL_PTFQMR    7n      8n        8n          9n

  In DITSOL_PGMRES, nrwk1=n*(kprev+1)+kprev*(kprev+5)+1 where kprev is the
  number of previous vectors stored.  If ILU preconditioning is used, then an
  additional real workspace of length n is required.

  If you use the option of defining your own MSTOP routine, see the reference
  description of each solver for the definition of the vector z.

  This routine is available in both serial and parallel versions. The routine
  names and parameter list are identical for both versions. For information
  about linking to the serial or to the parallel library, refer to the CXML
  Reference Manual.

CXML Home Page

Index of CXML Routines