Contents


NAME

     zgssfs - General sparse solver one call interface.

SYNOPSIS

      SUBROUTINE ZGSSFS ( MTXTYP, PIVOT , NEQNS, COLSTR, ROWIND,
                          VALUES, NRHS  , RHS   , LDRHS , ORDMTHD,
                          OUTUNT, MSGLVL, HANDLE, IER )

      CHARACTER*2       MTXTYP
      CHARACTER*1       PIVOT
      INTEGER           NEQNS, COLSTR(*), ROWIND(*), NRHS, LDRHS,
                        OUTUNT, MSGLVL, IER
      CHARACTER*3       ORDMTHD
      DOUBLE COMPLEX    VALUES(*), RHS(*)
      DOUBLE PRECISION  HANDLE(150)

PURPOSE

     ZGSSFS - General sparse solver one call interface.

PARAMETERS

     MTXTYP    - CHARACTER*2
             On entry, MTXTYP specifies the coefficient matrix
             type.  Specifically, the valid options are:

              'sp' or 'SP' - symmetric structure, Hermitian positive definite values
              'ss' or 'SS' - symmetric structure, symmetric values
              'su' or 'SU' - symmetric structure, unsymmetric values
              'uu' or 'UU' - unsymmetric structure, unsymmetric values

             Unchanged on exit.

     PIVOT     - CHARACTER*1
             On entry, pivot specifies whether or not pivoting is
             used in the course of the numeric factorization.
             The valid options are:

              'n' or 'N' - no pivoting is used
              (Pivoting is not supported for this release).

             Unchanged on exit.

     NEQNS     - INTEGER
             On entry, NEQNS specifies the number of equations in
             the coefficient matrix.  NEQNS must be at least one.
             Unchanged on exit.

     COLSTR(*) - INTEGER array
             On entry, COLSTR(*) is an array of size (NEQNS+1),
             containing the pointers of the matrix structure.
             Unchanged on exit.
     ROWIND(*) - INTEGER array
             On entry, ROWIND(*) is an array of size
             COLSTR(NEQNS+1)-1, containing the indices of the
             matrix structure.  Unchanged on exit.

     VALUES(*) - DOUBLE COMPLEX array
             On entry, VALUES(*) is an array of size
             COLSTR(NEQNS+1)-1, containing the non-zero numeric
             values of the sparse matrix to be factored.
             Unchanged on exit.

     NRHS      - INTEGER
             On entry, NRHS specifies the number of right hand
             sides to solve for.  Unchanged on exit.

     RHS(*)    - DOUBLE COMPLEX array
             On entry, RHS(LDRHS,NRHS) contains the NRHS right
             hand sides.  On exit, it contains the solutions.

     LDRHS     - INTEGER
             On entry, LDRHS specifies the leading dimension of
             the RHS array. Unchanged on exit.

     ORDMTHD   - CHARACTER*3
             On entry, ORDMTHD specifies the fill-reducing
             ordering to be used by the sparse solver.
             Specifically, the valid options are:

              'nat' or 'NAT' - natural ordering (no ordering)
              'mmd' or 'MMD' - multiple minimum degree
              'gnd' or 'GND' - general nested dissection
              'uso' or 'USO' - user specified ordering (see ZGSSUO)

             Unchanged on exit.

     OUTUNT    - INTEGER
             Output unit.  Unchanged on exit.

     MSGLVL    - INTEGER
             Message level.

              0 - no output from solver.
              (No messages supported for this release.)

             Unchanged on exit.

     HANDLE(150)  - DOUBLE PRECISION array
             On entry, HANDLE(*) is an array of containing
             information needed by the solver, and must be passed
             unchanged to each sparse solver subroutine.
             Modified on exit.
     IER       - INTEGER
             Error number.  If no error encountered, unchanged on
             exit.  If error encountered, it is set to a non-zero
             integer.  Error numbers set by this subroutine:

              -101 : Failure to dynamically allocate memory.
              -102 : Invalid matrix type.
              -103 : Invalid pivot option.
              -104 : Number of nonzeros is less than NEQNS.
              -105 : NEQNS < 1
              -106 : Invalid matrix structure.
              -201 : Failure to dynamically allocate memory.
              -301 : Failure to dynamically allocate memory.
              -401 : Failure to dynamically allocate memory.
              -402 : NRHS < 1
              -403 : NEQNS > LDRHS
              -666 : Internal error.