<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\documentstyle{article}
\oddsidemargin 0.0in 
\evensidemargin 0.0in
\pagestyle{empty}
\topmargin -0.5in
\textheight 9.0in 
\textwidth 6.5in 
\def \la{\langle}
\def \ra{\rangle}
\def \lb{\left[}
\def \rb{\right]}
\def \ha{\frac{1}{2}}
\begin{document}

\centerline{\bf NSPCG Quick Reference}

\bigskip
\noindent
{\bf Calls to Top Level Routines}
\bigskip

\begin{tabular}{l}
{\tt   CALL DFAULT (IPARM,RPARM)} \\
{\tt   CALL VFILL (N,U,VAL)} \\
{\tt   CALL NSPCG ($\la$~{\em precon}~$\ra$,$\la$~{\em accel}~$\ra$,
      NDIM,MDIM,N,MAXNZ,COEF,JCOEF,P,IP,U,UBAR,RHS,} \\
{\tt \hspace*{2.5in} WKSP,IWKSP,NW,INW,IPARM,RPARM,IER) } 
\end{tabular}

\bigskip
\noindent
{\bf Calls to Accelerators in Matrix Format-Free Mode} 
\bigskip

\begin{tabular}{l}
{\tt CGW (SUBA,SUBQL,
  COEF,JCOEF,WFAC,JWFAC,N,U,UBAR,RHS,WKSP,NW,IPARM,RPARM,IER) } \\
{\tt SIW (SUBA,SUBQL,COEF,\ldots ) } \\
{\tt SORW (SUBA,SUBQ,COEF,\ldots ) } \\
{\tt SRCGW (SUBA,SUBQL,SUBADP,COEF,\ldots ) } \\
{\tt SRSIW (SUBA,SUBQL,SUBADP,COEF,\ldots ) } \\
{\tt BASICW (SUBA,SUBQL,SUBQR,COEF,\ldots ) } \\
{\tt MEW (SUBA,SUBQL,SUBQR,COEF,\ldots ) } \\
{\tt CGNRW (SUBA,SUBAT,SUBQL,SUBQLT,SUBQR,SUBQRT,COEF,\ldots ) } \\
{\tt LSQRW (SUBA,SUBAT,SUBQL,SUBQLT,SUBQR,SUBQRT,COEF,\ldots ) } \\
{\tt ODIRW (SUBA,SUBQL,SUBQR,COEF,\ldots ) } \\
{\tt OMINW (SUBA,SUBQL,SUBQR,COEF,\ldots ) } \\
{\tt ORESW (SUBA,SUBQL,SUBQR,COEF,\ldots ) } \\
{\tt IOMW (SUBA,SUBQL,SUBQR,COEF,\ldots ) } \\
{\tt GMRESW (SUBA,SUBQL,SUBQR,COEF,\ldots ) } \\
{\tt USLQW (SUBA,SUBAT,SUBQL,SUBQLT,SUBQR,SUBQRT,COEF,\ldots ) } \\
{\tt USQRW (SUBA,SUBAT,SUBQL,SUBQLT,SUBQR,SUBQRT,COEF,\ldots ) } \\
{\tt LDIRW (SUBA,SUBAT,SUBQL,SUBQLT,SUBQR,SUBQRT,COEF,\ldots ) } \\
{\tt LMINW (SUBA,SUBAT,SUBQL,SUBQLT,SUBQR,SUBQRT,COEF,\ldots ) } \\
{\tt LRESW (SUBA,SUBAT,SUBQL,SUBQLT,SUBQR,SUBQRT,COEF,\ldots ) } \\
{\tt BCGSW (SUBA,SUBQL,SUBQR,COEF,\ldots ) } 
\end{tabular}

\bigskip
\noindent
{\bf Calls to Matrix Format-Free Operations}
\bigskip

\begin{tabular}{l}
{\tt   CALL SUBA (COEF,JCOEF,WFAC,JWFAC,N,X,Y)} \\
{\tt   CALL SUBAT (COEF,JCOEF,WFAC,JWFAC,N,X,Y)} \\
{\tt   CALL SUBQL (COEF,JCOEF,WFAC,JWFAC,N,X,Y)} \\
{\tt   CALL SUBQR (COEF,JCOEF,WFAC,JWFAC,N,X,Y)} \\
{\tt   CALL SUBQLT (COEF,JCOEF,WFAC,JWFAC,N,X,Y)} \\
{\tt   CALL SUBQRT (COEF,JCOEF,WFAC,JWFAC,N,X,Y)} \\
{\tt   CALL SUBQ (COEF,JCOEF,WFAC,JWFAC,N,U,RHS,UNEW)} \\
{\tt   CALL COPY (COEF,JCOEF,WFAC,JWFAC,N,X,Y)} \\
{\tt   CALL SUBADP (COEF,JCOEF,WFAC,JWFAC,N,P,R,PDP,PLDUP)} \\
                         \\
{\tt   LOGICAL OMGADP} \\
{\tt   COMMON / ITCOM5 / OMGADP, OMEGA, ALPHAB, BETAB, FFF, SPECR} 
\end{tabular}

\bigskip
\noindent
{\bf Calls to Coloring Routines}
\bigskip

\begin{tabular}{l}
{\tt   CALL REDBLK (NDIM,N,MAXNZ,COEF,JCOEF,P,IP,NSTORE,IWKSP,IER)} \\
{\tt   CALL COLOR (NXP,NYP,NZP,NX,NY,NZ,PATT,P)} 
\end{tabular}

\newpage
\noindent
{\bf Parameter Definitions}
\bigskip

\begin{tabular}{ll}
$\la$~{\em precon}~$\ra$ &amp; preconditioning routine \\
$\la$~{\em accel}~$\ra$  &amp; acceleration routine \\
NDIM   &amp; row dimension of COEF array \\
MDIM   &amp; column dimension of COEF array \\
N      &amp; order of the linear system \\
MAXNZ  &amp; active column width of COEF array \\
COEF   &amp; matrix nonzero coefficients \\
JCOEF  &amp; auxiliary matrix nonzero information \\
P      &amp; optional permutation vector \\
IP     &amp; inverse permutation vector \\
U      &amp; solution vector \\
UBAR   &amp; optional true solution \\
RHS    &amp; right hand side \\
WKSP   &amp; real workspace \\
IWKSP  &amp; integer workspace \\
NW     &amp; length of WKSP \\
INW    &amp; length of IWKSP 
\end{tabular}
\begin{tabular}{ll}
IPARM  &amp; integer parameters \\
RPARM  &amp; real parameters \\
IER    &amp; error flag \\
       &amp;             \\
WFAC   &amp; real factorization workspace \\
JWFAC  &amp; integer factorization workspace \\
X      &amp; input vector \\
Y      &amp; output vector \\
       &amp;               \\
NXP,NYP,NZP &amp; dimensions of pattern \\
NX,NY,NZ    &amp; dimensions of grid \\
PATT        &amp; pattern \\
       &amp;              \\
P      &amp; CG direction vector \\
R      &amp; real workspace length N \\
PDP    &amp; $(p,Dp)$ where $A=D-C_L-C_U$ \\
PLDUP  &amp; $(p,C_LD^{-1}C_Up)$.
\end{tabular}

\bigskip
\noindent
{\bf Preconditioners}
\bigskip

\begin{tabular}{lll}
RICH$i$  &amp; Richardson's method
         &amp; $(i=1,2,3,4,5)$                            \\
JAC$i$   &amp; Jacobi method
         &amp; $(i=1,2,3,4,5)$                            \\
LJAC$i$  &amp; Line Jacobi method
         &amp; $(i=2,3)$                                  \\
LJACX$i$ &amp; Line Jacobi method (approx. inverse)
         &amp; $(i=2,3)$                                  \\
SOR$i$   &amp; Successive Overrelaxation
         &amp; $(i=1,2,3,6,7)$                            \\
SSOR$i$  &amp; Symmetric SOR
         &amp; $(i=1,2,3,6,7)$                            \\
IC$i$    &amp; Incomplete Cholesky
         &amp; $(i=1,2,3,6)$                              \\
         &amp; (Note:  IC7 = BIC7 or BICX7)
         &amp;                                            \\
MIC$i$   &amp; Modified Incomplete Cholesky
         &amp; $(i=1,2,3,6)$                              \\
         &amp; (Note:  MIC7 = MBIC7 or MBICX7)
         &amp;                                            \\
LSP$i$   &amp; Least Squares Polynomial
         &amp; $(i=1,2,3,4,5)$                            \\
NEU$i$   &amp; Neumann Polynomial
         &amp; $(i=1,2,3,4,5)$                            \\
LSOR$i$  &amp; Line SOR
         &amp; $(i=2,3)$                                  \\
LSSOR$i$ &amp; Line SSOR
         &amp; $(i=2,3)$                                  \\
LLSP$i$  &amp; Line Least Squares Polynomial
         &amp; $(i=2,3)$                                  \\
LNEU$i$  &amp; Line Neumann Polynomial
         &amp; $(i=2,3)$                                  \\
BIC$i$   &amp; Block Incomplete Cholesky (ver. 1)
         &amp; $(i=2,3,7)$                                \\
BICX$i$  &amp; Block Incomplete Cholesky (ver. 2)
         &amp; $(i=2,3,7)$                                \\
MBIC$i$  &amp; Modified Block Incomplete Cholesky (ver. 1)
         &amp; $(i=2,3,7)$                                \\
MBICX$i$ &amp; Modified Block Incomplete Cholesky (ver. 2)
         &amp; $(i=2,3,7)$                                \\
RS$i$    &amp; Reduced System Method
         &amp; $(i=6,7)$
\end{tabular}

\bigskip
\begin{tabular}{rl}
       $i = 1$ &amp; primary storage format  \\
       $  = 2$ &amp; symmetric diagonal storage        \\
       $  = 3$ &amp; nonsymmetric diagonal storage     \\
       $  = 4$ &amp; symmetric coordinate storage      \\
       $  = 5$ &amp; nonsymmetric coordinate storage   \\
       $  = 6$ &amp; permuted primary storage format   \\
       $  = 7$ &amp; permuted diagonal storage (symmetric
                   or nonsymmetric)
\end{tabular}

\newpage
\noindent
{\bf Stopping Tests Associated with NTEST}
\bigskip

\[ \begin{array}{ll}
  (1) &amp; {\displaystyle \frac{\mbox{EMAX}}{\mbox{EMIN}} \lb \frac
        {\la r^{(n)},\tilde z^{(n)}\ra }
        {\la b,Q^{-1}b \ra} \rb ^\ha &lt; \zeta }    \\ 
  (2) &amp; {\displaystyle \frac{1}{\mbox{EMIN}} \lb \frac
        {\la \tilde z^{(n)},\tilde z^{(n)}\ra }
        {\la u^{(n)},u^{(n)}\ra } \rb ^\ha &lt; \zeta }  \\
  (3) &amp; {\displaystyle \frac{\mbox{EMAX}}{\mbox{EMIN}} \lb \frac
        {\la \tilde z^{(n)},\tilde z^{(n)}\ra}
        {\la Q^{-1}b,Q^{-1}b\ra } \rb ^\ha &lt; \zeta } \\ 
  (4) &amp; {\displaystyle \lb \frac{\la \tilde z^{(n)},\tilde z^{(n)}\ra }
        {\la Q^{-1}b,Q^{-1}b\ra } \rb ^\ha &lt; \zeta } \\ 
  (5) &amp; {\displaystyle \lb \frac{\la r^{(n)},r^{(n)}\ra}
        {\la b,b \ra } \rb ^\ha &lt; \zeta }   
\end{array}
\begin{array}{ll}
  (6) &amp; {\displaystyle \lb \frac{\la u^{(n)}-\bar{u},u^{(n)}-\bar{u} \ra }  
        {\la \bar{u},\bar{u} \ra } \rb^\ha &lt; \zeta }  \\
  (7) &amp; {\displaystyle \frac{\mbox{EMAX}}{\mbox{EMIN}} \lb \frac
        {\la r^{(n)},z^{(n)}\ra }
        {\la b,Q_L^{-1}b \ra} \rb ^\ha &lt; \zeta } \\
  (8) &amp; {\displaystyle \frac{1}{\mbox{EMIN}} \lb \frac
        {\la z^{(n)},z^{(n)}\ra }
        {\la u^{(n)},u^{(n)}\ra } \rb ^\ha &lt; \zeta } \\
  (9) &amp; {\displaystyle \frac{\mbox{EMAX}}{\mbox{EMIN}} \lb \frac
        {\la z^{(n)},z^{(n)}\ra}
        {\la Q_L^{-1}b,Q_L^{-1}b\ra } \rb ^\ha &lt; \zeta } \\ 
 (10) &amp; {\displaystyle \lb \frac{\la z^{(n)},z^{(n)}\ra }
        {\la Q_L^{-1}b,Q_L^{-1}b\ra } \rb ^\ha &lt; \zeta }
\end{array}  \]

\bigskip
\noindent
{\bf IER Error Codes}
\bigskip

\begin{tabular}{|c|p{3.5in}|}  \hline
       IER   &amp;    Meaning    \\   \hline
       $0$   &amp;    No error detected \\   \hline
      $-1$   &amp;    Nonpositive matrix size N \\
      $-2$   &amp;    Insufficient real workspace \\
      $-3$   &amp;    Insufficient integer workspace \\
      $-4$   &amp;    Nonpositive diagonal element \\
      $-5$   &amp;    Nonexistent diagonal element \\
      $-6$   &amp;    $A$ is not positive definite \\
      $-7$   &amp;    $Q$ is not positive definite \\
      $-8$   &amp;    Cannot permute matrix as requested \\
      $-9$   &amp;    MDIM is not large enough to allow expansion
                    of matrix \\
     $-10$   &amp;    Inadmissible parameter encountered \\
     $-11$   &amp;    Incorrect storage mode for block method \\
     $-12$   &amp;    Zero pivot encountered in factorization \\
     $-13$   &amp;    Breakdown in direction vector calculation \\
     $-14$   &amp;    Breakdown in attempt to perform rotation \\
     $-15$   &amp;    Breakdown in iterate calculation \\
     $-16$   &amp;    Unimplemented combination of parameters \\
     $-18$   &amp;    Unable to perform eigenvalue estimation \\  \hline
       $1$   &amp;    Failure to converge in ITMAX iterations \\
       $2$   &amp;    ZETA too small -- reset to $500*$SRELPR \\
       $3$   &amp;    ZBRENT failed to converge in MAXFN iterations
                    (signifies difficulty in eigenvalue
                     estimation)                       \\
       $4$   &amp;    In ZBRENT, $f(a)$ and $f(b)$ have the same sign
                        (signifies difficulty in eigenvalue
                         estimation)                  \\
       $5$   &amp;    Negative pivot encountered in factorization  \\
                  \hline
\end{tabular}

\newpage
\begin{center}
{\bf Defaults for IPARM and RPARM Parameters}
\bigskip

\begin{tabular}{|l|l|c|}                    \hline
  Position   &amp;   Name   &amp;   Default \\     \hline
  IPARM(1)   &amp;   NTEST  &amp;     $2$   \\     \hline
  IPARM(2)   &amp;   ITMAX  &amp;    $100$  \\     \hline
  IPARM(3)   &amp;   LEVEL  &amp;     $0$   \\     \hline
  IPARM(4)   &amp;   NOUT   &amp;     $6$   \\     \hline
  IPARM(5)   &amp;   IDGTS  &amp;     $0$   \\     \hline
  IPARM(6)   &amp;   MAXADP &amp;     $1$   \\     \hline
  IPARM(7)   &amp;   MINADP &amp;     $1$   \\     \hline
  IPARM(8)   &amp;   IOMGAD &amp;     $1$   \\     \hline
  IPARM(9)   &amp;   NS1    &amp;     $5$   \\     \hline
  IPARM(10)  &amp;   NS2    &amp;  $100000$ \\     \hline
  IPARM(11)  &amp;   NS3    &amp;     $0$   \\     \hline
  IPARM(12)  &amp;   NSTORE &amp;     $2$   \\     \hline
  IPARM(13)  &amp;   ISCALE &amp;     $0$   \\     \hline
  IPARM(14)  &amp;   IPERM  &amp;     $0$   \\     \hline
  IPARM(15)  &amp;   IFACT  &amp;     $1$   \\     \hline
  IPARM(16)  &amp;   LVFILL &amp;     $0$   \\     \hline
  IPARM(17)  &amp;   LTRUNC &amp;     $0$   \\     \hline
  IPARM(18)  &amp;   IPROPA &amp;     $2$   \\     \hline
  IPARM(19)  &amp;   KBLSZ  &amp;    $-1$   \\     \hline
  IPARM(20)  &amp;   NBL2D  &amp;    $-1$   \\     \hline
  IPARM(21)  &amp;   IFCTV  &amp;     $1$   \\     \hline
  IPARM(22)  &amp;   IQLR   &amp;     $1$   \\     \hline
  IPARM(23)  &amp;   ISYMM  &amp;     $2$   \\     \hline
  IPARM(24)  &amp;   IELIM  &amp;     $0$   \\     \hline
  IPARM(25)  &amp;   NDEG   &amp;     $1$   \\     \hline
\end{tabular}  \hspace*{0.5in}
\begin{tabular}{|l|l|c|}                       \hline
  Position   &amp;   Name   &amp;   Default     \\    \hline
  RPARM(1)   &amp;   ZETA   &amp;   $10^{-6}$   \\    \hline
  RPARM(2)   &amp;   EMAX   &amp;    $2.0$      \\    \hline
  RPARM(3)   &amp;   EMIN   &amp;    $1.0$      \\    \hline
  RPARM(4)   &amp;   FF     &amp;    $0.75$     \\    \hline
  RPARM(5)   &amp;   FFF    &amp;    $0.75$     \\    \hline
  RPARM(6)   &amp;   TIMIT  &amp;    $0.0$      \\    \hline
  RPARM(7)   &amp;   DIGIT1 &amp;    $0.0$      \\    \hline
  RPARM(8)   &amp;   DIGIT2 &amp;    $0.0$      \\    \hline
  RPARM(9)   &amp;   OMEGA  &amp;    $1.0$      \\    \hline
  RPARM(10)  &amp;   ALPHAB &amp;    $0.0$      \\    \hline
  RPARM(11)  &amp;   BETAB  &amp;    $0.25$     \\    \hline
  RPARM(12)  &amp;   SPECR  &amp;    $0.0$      \\    \hline
  RPARM(13)  &amp;   TIMFAC &amp;    $0.0$      \\    \hline
  RPARM(14)  &amp;   TIMTOT &amp;    $0.0$      \\    \hline
  RPARM(15)  &amp;   TOL    &amp;  $500*\mbox{SRELPR}$  \\    \hline
  RPARM(16)  &amp;   AINF   &amp;    $0.0$      \\    \hline
\end{tabular}
\end{center}

\end{document}
</pre></body></html>