Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ditsol_driver(3DXML) — Extended Math Library 3.4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

DITSOL_DRIVER(3DXML)  —  Subroutines

Digital

Name

ditsol_driver − Driver for sparse iterative solvers (Serial and Parallel Versions)

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 DXML. 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 DXML Reference Manual. 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026