ITK  4.4.0
Insight Segmentation and Registration Toolkit
Functions
itpack.h File Reference
#include "v3p_netlib.h"
#include "v3p_f2c_mangle.h"
#include "v3p_f2c_unmangle.h"
+ Include dependency graph for itpack.h:

Go to the source code of this file.

Functions

integer bisrch_ (integer *n, integer *k, integer *l)
 
doublereal cheby_ (doublereal *qa, doublereal *qt, doublereal *rrr, integer *ip, doublereal *cme, doublereal *sme)
 
int chgcon_ (doublereal *tri, doublereal *gamold, doublereal *rhoold, integer *ibmth)
 
int chgsi_ (doublereal *dtnrm, integer *ibmth)
 
logical chgsme_ (doublereal *oldnrm, integer *icnt)
 
int daxpy_ (integer *n, doublereal *da, doublereal *dx, integer *incx, doublereal *dy, integer *incy)
 
int dcopy_ (integer *n, doublereal *dx, integer *incx, doublereal *dy, integer *incy)
 
doublereal ddot_ (integer *n, doublereal *dx, integer *incx, doublereal *dy, integer *incy)
 
doublereal determ_ (integer *n, doublereal *tri, doublereal *xlmda)
 
int dfault_ (integer *iparm, doublereal *rparm)
 
int echall_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, integer *iparm, doublereal *rparm, integer *icall)
 
int echout_ (integer *iparm, doublereal *rparm, integer *imthd)
 
doublereal eigvns_ (integer *n, doublereal *tri, doublereal *d__, doublereal *e2, integer *ier)
 
doublereal eigvss_ (integer *n, doublereal *tri, doublereal *start, doublereal *zeta, integer *itmax, integer *ier)
 
int eqrt1s_ (doublereal *d__, doublereal *e2, integer *nn, integer *m, integer *isw, integer *ierr)
 
integer ipstr_ (doublereal *omega)
 
int iterm_ (integer *nn, doublereal *a, doublereal *u, doublereal *wk, integer *imthdd)
 
int itjcg_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *u1, doublereal *d__, doublereal *d1, doublereal *dtwd, doublereal *tri)
 
int itjsi_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *u1, doublereal *d__, integer *icnt)
 
int itrscg_ (integer *n, integer *nnb, integer *ia, integer *ja, doublereal *a, doublereal *ub, doublereal *ub1, doublereal *db, doublereal *db1, doublereal *wb, doublereal *tri)
 
int itrssi_ (integer *n, integer *nnb, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *ub, doublereal *ub1, doublereal *db)
 
int itsor_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *wk)
 
int itsrcg_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *u1, doublereal *c__, doublereal *c1, doublereal *d__, doublereal *dl, doublereal *wk, doublereal *tri)
 
int itsrsi_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *u1, doublereal *c__, doublereal *d__, doublereal *ctwd, doublereal *wk)
 
int ivfill_ (integer *n, integer *iv, integer *ival)
 
int jcg_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp, integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm, integer *ierr)
 
int jsi_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp, integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm, integer *ierr)
 
int omeg_ (doublereal *dnrm, integer *iflag)
 
logical omgchg_ (integer *ndummy)
 
logical omgstr_ (integer *ndummy)
 
int parcon_ (doublereal *dtnrm, doublereal *c1, doublereal *c2, doublereal *c3, doublereal *c4, doublereal *gamold, doublereal *rhotmp, integer *ibmth)
 
int parsi_ (doublereal *c1, doublereal *c2, doublereal *c3, integer *ibmth)
 
doublereal pbeta_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *v, doublereal *w1, doublereal *w2)
 
int pbsor_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *rhs)
 
int permat_ (integer *nn, integer *ia, integer *ja, doublereal *a, integer *p, integer *newia, integer *isym, integer *level, integer *nout, integer *ierr)
 
int perror_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *w, doublereal *digtt1, doublereal *digtt2, integer *idgtts)
 
int pervec_ (integer *n, doublereal *v, integer *p)
 
int pfsor1_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *rhs)
 
int pfsor_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *rhs)
 
int pjac_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *rhs)
 
int pmult_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *w)
 
int prbndx_ (integer *nn, integer *nblack, integer *ia, integer *ja, integer *p, integer *ip, integer *level, integer *nout, integer *ier)
 
int prsblk_ (integer *nnb, integer *nnr, integer *ia, integer *ja, doublereal *a, doublereal *ur, doublereal *vb)
 
int prsred_ (integer *nnb, integer *nnr, integer *ia, integer *ja, doublereal *a, doublereal *ub, doublereal *vr)
 
int pssor1_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *rhs, doublereal *fr, doublereal *br)
 
int pstop_ (integer *n, doublereal *u, doublereal *dnrm, doublereal *ccon, integer *iflag, logical *q1)
 
doublereal pvtbv_ (integer *n, integer *ia, integer *ja, doublereal *a, doublereal *v)
 
int qsort_ (integer *nn, integer *key, doublereal *data, integer *error)
 
int rscg_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp, integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm, integer *ierr)
 
int rssi_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp, integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm, integer *ierr)
 
int sbagn_ (integer *n, integer *nz, integer *ia, integer *ja, doublereal *a, integer *iwork, integer *levell, integer *noutt, integer *ierr)
 
int sbelm_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, integer *iw, doublereal *rw, doublereal *tol, integer *isym, integer *level, integer *nout, integer *ier)
 
int sbend_ (integer *nn, integer *nz, integer *ia, integer *ja, doublereal *a, integer *iwork)
 
int sbini_ (integer *nn, integer *nz, integer *ia, integer *ja, doublereal *a, integer *iwork)
 
int sbsij_ (integer *nn, integer *nz, integer *ia, integer *ja, doublereal *a, integer *iwork, integer *ii, integer *jj, doublereal *vall, integer *mode, integer *levell, integer *noutt, integer *ierr)
 
int scal_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *d__, integer *level, integer *nout, integer *ier)
 
int sor_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp, integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm, integer *ierr)
 
int ssorcg_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp, integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm, integer *ierr)
 
int ssorsi_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, integer *iwksp, integer *nw, doublereal *wksp, integer *iparm, doublereal *rparm, integer *ierr)
 
int sum3_ (integer *n, doublereal *c1, doublereal *x1, doublereal *c2, doublereal *x2, doublereal *c3, doublereal *x3)
 
doublereal tau_ (integer *ii)
 
E_f timer_ (v3p_netlib_real *timdmy)
 
logical tstchg_ (integer *ibmth)
 
int unscal_ (integer *n, integer *ia, integer *ja, doublereal *a, doublereal *rhs, doublereal *u, doublereal *d__)
 
int vevmw_ (integer *n, doublereal *v, doublereal *w)
 
int vevpw_ (integer *n, doublereal *v, doublereal *w)
 
int vfill_ (integer *n, doublereal *v, doublereal *val)
 
int vout_ (integer *n, doublereal *v, integer *iswt, integer *noutt)
 
int wevmw_ (integer *n, doublereal *v, doublereal *w)
 
int zbrent_ (integer *n, doublereal *tri, doublereal *eps, integer *nsig, doublereal *aa, doublereal *bb, integer *maxfnn, integer *ier)
 

Detailed Description

Declarations of functions from itpack.

The following are the common parameters that are used when calling functions. Note: Variables names are consistent with itpack to prevent confusion.

nn Order of linear system a Row pointers used in compressed row storage format m ja Column indices used in compressed row storage format

Parameters
aNonzero entries in compressed row storage format
rhsRight hand side of linear system
uInitial guess of solution. holds solution on output
iwkspVector of length 3*nn. on output: holds permutation vector, its inverse, and integer workspace
nwOn input: length of wksp, on output: actual amount used
wkspVector used for real working space. must be at least nw in length
iparmVector of length 12 used to initialize various parameters on input
rparmVector of length 12 used to initialize various parameters on input
ierrError flag, on output: zero=no error, non-zero=error condition
nzNumber of non-zero entries in matrix
iworkVector of length nz. matrix creation workspace
iMatrix index
jMatrix index
valueMatrix entry
modeType of matrix building
levelError reporting flag
noutError reporting location
ierError flag for matrix building

Definition in file itpack.h.

Function Documentation

integer bisrch_ ( integer n,
integer k,
integer l 
)

Function which uses a bisection search to find the entry j in the array k such that the value l is greater than or equal to k[j] and strictly less than k[j+1]

Parameters
nsince of array
kinteger array to search
lsearching criterion
doublereal cheby_ ( doublereal qa,
doublereal qt,
doublereal rrr,
integer ip,
doublereal cme,
doublereal sme 
)

Computes the solution to the chebyshev equation

Parameters
qaratio of pseudo-residuals
qtvirtual spectral radius
rrradaptive parameter
ipnumber of iterations since last change of parameters
cmeestimate for largest eigen-value of iteration matrix
smeestimate for smallest eigen-value of iteration matrix
int chgcon_ ( doublereal tri,
doublereal gamold,
doublereal rhoold,
integer ibmth 
)

Computes estimate for largest eigenvalue for conjugate gradient acceleration

Parameters
tritridiagonal matrix associated with the eigenvalues of the conjugate gradient polynomial
gamoldprevious value of acceleration parameters
rhooldprevious value of acceleration parameters
ibmthflag indicating method being accelerated by conjugate gradient 1 - jacobian 2 - reduced system 3 - ssor
int chgsi_ ( doublereal dtnrm,
integer ibmth 
)

Computes new chebyshev acceleration parameters adaptively

Parameters
dtnrmnumerator or rayleigh quotient
ibmthindicator of basic method being accelerated by si 1 = jacobi 2 = reduced system 3 = symmetric sor
logical chgsme_ ( doublereal oldnrm,
integer icnt 
)

Tests for jacobi si whether sme should be changed when caseII = false if the test is positive, the new value of sme is computed

Parameters
oldnrmsquare of the norm of the pseudo-residual at the last iteration
icntnumber of iterations since last change of parameters
int daxpy_ ( integer n,
doublereal da,
doublereal dx,
integer incx,
doublereal dy,
integer incy 
)

Overwrite double precision dy with double precision da*dx + dy

Parameters
nlength of da
daarray of da values
dxarray of dx values
incxincrement size for dx array
dyarray of dy values
incyincrement size for dy array
int dcopy_ ( integer n,
doublereal dx,
integer incx,
doublereal dy,
integer incy 
)

Copy dx to dy

Parameters
nlength of dx
dxarray of values
incxincrement size for dx array
dyarray of values
incyincrement size for dy array
doublereal ddot_ ( integer n,
doublereal dx,
integer incx,
doublereal dy,
integer incy 
)

Returns dot product of dx and dy

Parameters
nlength of dx
dxarray of values
incxincrement size for dx array
dyarray of values
incyincrement size for dy array
doublereal determ_ ( integer n,
doublereal tri,
doublereal xlmda 
)

Subroutine that computes the determinant of a symmetric tridiagonal matrix given by tri. det(tri - xlmda*i) = 0

Parameters
norder of tridiagonal system
trisymmetric tridiagonal matrix of order n
xlmdaargument for characteristic equation
int dfault_ ( integer iparm,
doublereal rparm 
)

Obtain default parameters

Parameters
iparmarray of 12 integer parameters
rparmarray of 12 double parameters
int echall_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
integer iparm,
doublereal rparm,
integer icall 
)

This routine initializes the itpack common blocks from the information contained in IPARM and RPARM. echall_ also prints the values of all the parameters in IPARM and RPARM

Parameters
nnOrder of linear system
iaarray of row offsets
jaarray of column indices
aarray of matrix values
rhsarray of right hand side of system
iparminteger array of parameters
rparmdoublereal array of parameters
icallindicator of which parameters are being printed
Note
in this implementation...all printing is disabled
int echout_ ( integer iparm,
doublereal rparm,
integer imthd 
)

This routine initiazes the itpack common blocks from IPARM and RPARM

Parameters
iparminteger array of parameters
rparmdoublereal array of parameters
imthdindicator of method 1 = jcg 2 = jsi 3 = sor 4 = ssorcg 5 = ssorsi 6 = rscg 7 = rssi
doublereal eigvns_ ( integer n,
doublereal tri,
doublereal d__,
doublereal e2,
integer ier 
)

Computes the largest eigenvalue of symmetric tridiagnoncal matrix for conjugate gradient acceleration

Parameters
norder of tridiagonal system
trisymmetric tridiagonal matrix of order n
d__array of eqrt1s (negative diagonal elements)
e2array of eqrt1s (super diagonal elements)
iererror flag (0 = success)
doublereal eigvss_ ( integer n,
doublereal tri,
doublereal start,
doublereal zeta,
integer itmax,
integer ier 
)

Computes the largest eigenvalue of a symmetric tridiagonal matrix for conjugate gradient acceleration modified imsl routine zbrent is used

Parameters
norder of tridiagonal system
trisymmetric tridiagonal matrix of order n
startinitial lower bound of interval containing root
zetastopping criteria
itmaxmaximum number of iterations
iererror flag (0 = success)
int eqrt1s_ ( doublereal d__,
doublereal e2,
integer nn,
integer m,
integer isw,
integer ierr 
)

Smallest or largest m eigenvalue of a symmetric tridiagonal matrix

Parameters
d__input vector of length n, contains diagonal elements of matrix the computed eigenvalues replace the first m components
e2input vector of length n containing the squares of the off-diagonal elements of the matrix
nnorder of the matrix
mnumber of smallest eigenvalues desired
iswpositive definite flag (0 = not pd, 1 = pd)
ierrerror flag (601 = interates not monotone increasing, 602 = not really pd)
integer ipstr_ ( doublereal omega)

Finds the smallest integer, ipstr, greater than 5 such that ipstr * (omega-1)**(ipstr-1) <= 0.5

Parameters
omegarelaxation factor for sor method
int iterm_ ( integer nn,
doublereal a,
doublereal u,
doublereal wk,
integer imthdd 
)

This routine produces the iteration summary line at the end of each iteration if level = 5, the latest approx to the solution is printed

Parameters
nnorder of system
aiteration matrix
usolution estimate
wkwork array of length nn
imthddindicator of method 1 = jcg 2 = jsi 3 = sor 4 = ssorcg 5 = ssorsi 6 = rscg 7 = rssi
int itjcg_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal u,
doublereal u1,
doublereal d__,
doublereal d1,
doublereal dtwd,
doublereal tri 
)

Performs one iteration of the jacobian conjugate gradiant method

Parameters
nnOrder of linear system
iaarray of row offsets
jaarray of column indices
aarray of matrix values
uinput version of solution vector
u1value of solution vector at the end of the in-1 iteration, gets filled with newest estimate
d__solution vector, gets filled with pseudo-residual vector after in iterations
d1pseudo-residual vector after in-1 iterations, gets filled with newest pseudo-residual vector
dtwdused in computation of acceleration parameeter gamma and the pseudo-residual
tristores the tridiagonal matrix associated with the eigenvalues of the conjugate gradient ploynomial
int itjsi_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
doublereal u1,
doublereal d__,
integer icnt 
)

Performs one iteration of the jacobian semi-iteration method

Parameters
nnOrder of linear system
iaarray of row offsets
jaarray of column indices
aarray of matrix values
rhsarray of right hand side of linear system
usolution estimate at in iterations
u1value of solution vector at the end of the in-1 iteration, gets filled with newest estimate
d__solution vector, gets filled with pseudo-residual vector after in iterations
icntnumber of iterations since last change in solution estimate
int itrscg_ ( integer n,
integer nnb,
integer ia,
integer ja,
doublereal a,
doublereal ub,
doublereal ub1,
doublereal db,
doublereal db1,
doublereal wb,
doublereal tri 
)

Performs one iteration of the reduced system conjugate gradient method

Parameters
nOrder of linear system
nnbNumber of black points
iaarray of row offsets
jaarray of column indices
aarray of matrix values
ubestimate for the solution of black points after in iterations
ub1estimate for the solution of black points after in-1 iterations, filled with in+1 values
dbpseudo-residual of black points after in iterations
db1pseudo-residual of black points after in-1 iterations, filled with in+1 values
wbused in computation involving black vector
tristores the tridiagonal matrix associated with the eigenvalues of the conjugate gradient ploynomial
int itrssi_ ( integer n,
integer nnb,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal ub,
doublereal ub1,
doublereal db 
)

Performs one iteration of the reduced system semi-iteration method

Parameters
nOrder of linear system
nnbNumber of black points
iaarray of row offsets
jaarray of column indices
aarray of matrix values
rhsarray of right hand side of linear system
ubestimate for the solution of black points after in iterations
ub1pseudo-residual of black points after in-1 iterations, filled with in+1 values
dbcurrent residual
int itsor_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
doublereal wk 
)

Performs one iteration of the successive overrelaxation method

Parameters
nnOrder of linear system
iaarray of row offsets
jaarray of column indices
aarray of matrix values
rhsarray of right hand side of linear system
usolution estimate array
wkwork array of length nn
int itsrcg_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
doublereal u1,
doublereal c__,
doublereal c1,
doublereal d__,
doublereal dl,
doublereal wk,
doublereal tri 
)

Performs one iteration of the symmetric successive overrelaxation conjugate gradient method

Parameters
nnOrder of linear system
iaarray of row offsets
jaarray of column indices
aarray of matrix values
rhsarray of right hand side of linear system
usolution estimate at in iterations,
u1value of solution vector at the end of the in-1 iteration, gets filled with newest estimate
c__forward residual after in iterations
c1forward residual after in-1 iterations, filled with in+1 values
d__used to compute backward pseudo-residual for current iteration
dlused in computation of acceleration parameters
wkwork array of length nn
tristores the tridiagonal matrix associated with the eigenvalues of the conjugate gradient ploynomial
int itsrsi_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
doublereal u1,
doublereal c__,
doublereal d__,
doublereal ctwd,
doublereal wk 
)

Performs one iteration of the symmetric successive overrelaxation semi-iteration method

Parameters
nnOrder of linear system
iaarray of row offsets
jaarray of column indices
aarray of matrix values
rhsarray of right hand side of linear system
usolution estimate at in-1 iterations
u1value of solution vector at the end of the in-1 iteration, gets filled with newest estimate
c__used to compute forward pseudo-residual vector
d__used to compute backward pseudo-residual vector
ctwdused in computation of acceleration parameters
wkwork array of length nn
int ivfill_ ( integer n,
integer iv,
integer ival 
)

Fill integer array with a value

Parameters
nnumber of elements in array
ivpointer to integer array
ivalvalue to fill array with
int jcg_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
integer iwksp,
integer nw,
doublereal wksp,
integer iparm,
doublereal rparm,
integer ierr 
)

Jacobian conjugate gradient

Parameters
nnOrder of linear system
iaarray of row offsets
jaarray of column indices
aarray of matrix values
rhsarray of right hand side of system
usolution array
iwkspint array used by itpack for calculations
nwsize of iwskp and wksp
wkspdouble array used by itpack for calculations
iparmarray of 12 integer parameters
rparmarray of 12 double parameters
ierrholds error flag on return
int jsi_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
integer iwksp,
integer nw,
doublereal wksp,
integer iparm,
doublereal rparm,
integer ierr 
)

Jacobian semi-iteration

Parameters
nnOrder of linear system
iaarray of row offsets
jaarray of column indices
aarray of matrix values
rhsarray of right hand side of system
usolution array
iwkspint array used by itpack for calculations
nwsize of iwskp and wksp
wkspdouble array used by itpack for calculations
iparmarray of 12 integer parameters
rparmarray of 12 double parameters
ierrholds error flag on return
int omeg_ ( doublereal dnrm,
integer iflag 
)
logical omgchg_ ( integer ndummy)
logical omgstr_ ( integer ndummy)
int parcon_ ( doublereal dtnrm,
doublereal c1,
doublereal c2,
doublereal c3,
doublereal c4,
doublereal gamold,
doublereal rhotmp,
integer ibmth 
)
int parsi_ ( doublereal c1,
doublereal c2,
doublereal c3,
integer ibmth 
)
doublereal pbeta_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal v,
doublereal w1,
doublereal w2 
)
int pbsor_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal u,
doublereal rhs 
)
int permat_ ( integer nn,
integer ia,
integer ja,
doublereal a,
integer p,
integer newia,
integer isym,
integer level,
integer nout,
integer ierr 
)
int perror_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
doublereal w,
doublereal digtt1,
doublereal digtt2,
integer idgtts 
)
int pervec_ ( integer n,
doublereal v,
integer p 
)
int pfsor1_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal u,
doublereal rhs 
)
int pfsor_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal u,
doublereal rhs 
)
int pjac_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal u,
doublereal rhs 
)
int pmult_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal u,
doublereal w 
)
int prbndx_ ( integer nn,
integer nblack,
integer ia,
integer ja,
integer p,
integer ip,
integer level,
integer nout,
integer ier 
)
int prsblk_ ( integer nnb,
integer nnr,
integer ia,
integer ja,
doublereal a,
doublereal ur,
doublereal vb 
)
int prsred_ ( integer nnb,
integer nnr,
integer ia,
integer ja,
doublereal a,
doublereal ub,
doublereal vr 
)
int pssor1_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal u,
doublereal rhs,
doublereal fr,
doublereal br 
)
int pstop_ ( integer n,
doublereal u,
doublereal dnrm,
doublereal ccon,
integer iflag,
logical *  q1 
)
doublereal pvtbv_ ( integer n,
integer ia,
integer ja,
doublereal a,
doublereal v 
)
int qsort_ ( integer nn,
integer key,
doublereal data,
integer error 
)
int rscg_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
integer iwksp,
integer nw,
doublereal wksp,
integer iparm,
doublereal rparm,
integer ierr 
)

Reduced system conjugate gradient

Parameters
nnOrder of linear system
iaarray of row offsets
jaarray of column indices
aarray of matrix values
rhsarray of right hand side of system
usolution array
iwkspint array used by itpack for calculations
nwsize of iwskp and wksp
wkspdouble array used by itpack for calculations
iparmarray of 12 integer parameters
rparmarray of 12 double parameters
ierrholds error flag on return
int rssi_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
integer iwksp,
integer nw,
doublereal wksp,
integer iparm,
doublereal rparm,
integer ierr 
)

Reduced system semi-iteration

Parameters
nnOrder of linear system
iaarray of row offsets
jaarray of column indices
aarray of matrix values
rhsarray of right hand side of system
usolution array
iwkspint array used by itpack for calculations
nwsize of iwskp and wksp
wkspdouble array used by itpack for calculations
iparmarray of 12 integer parameters
rparmarray of 12 double parameters
ierrholds error flag on return
int sbagn_ ( integer n,
integer nz,
integer ia,
integer ja,
doublereal a,
integer iwork,
integer levell,
integer noutt,
integer ierr 
)

Convert compressed row matrix back to linked-list representation used for adding entires

int sbelm_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
integer iw,
doublereal rw,
doublereal tol,
integer isym,
integer level,
integer nout,
integer ier 
)
int sbend_ ( integer nn,
integer nz,
integer ia,
integer ja,
doublereal a,
integer iwork 
)

Finalize matrix storage format

Parameters
nnorder of matrix
nzmaximum number of non-zero values
iaarray of row offsets
jaarray of column indices
aarray of matrix values
iworkworkspace array used by itpack
int sbini_ ( integer nn,
integer nz,
integer ia,
integer ja,
doublereal a,
integer iwork 
)

Initialize sparse matrix storage

Parameters
nnorder of matrix
nzmaximum number of non-zero values
iaarray of row offsets
jaarray of column indices
aarray of matrix values
iworkworkspace array used by itpack
int sbsij_ ( integer nn,
integer nz,
integer ia,
integer ja,
doublereal a,
integer iwork,
integer ii,
integer jj,
doublereal vall,
integer mode,
integer levell,
integer noutt,
integer ierr 
)

Insert entry into sparse matrix

Parameters
nnorder of matrix
nzmaximum number of non-zero values
iaarray of row offsets
jaarray of column indices
aarray of matrix values
iworkworkspace array used by itpack
iirow index of value to add
jjcolumn index of value to add
vallvalue to add
modeflag for type of adding to be done
levellspecifier for level of output
nouttspecifier for output
ierrholds error flag on return
int scal_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
doublereal d__,
integer level,
integer nout,
integer ier 
)
int sor_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
integer iwksp,
integer nw,
doublereal wksp,
integer iparm,
doublereal rparm,
integer ierr 
)

Successive overrelaxation

Parameters
nnOrder of linear system
iaarray of row offsets
jaarray of column indices
aarray of matrix values
rhsarray of right hand side of system
usolution array
iwkspint array used by itpack for calculations
nwsize of iwskp and wksp
wkspdouble array used by itpack for calculations
iparmarray of 12 integer parameters
rparmarray of 12 double parameters
ierrholds error flag on return
int ssorcg_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
integer iwksp,
integer nw,
doublereal wksp,
integer iparm,
doublereal rparm,
integer ierr 
)

Symmetric successive overrelaxation conjugate gradient

Parameters
nnOrder of linear system
iaarray of row offsets
jaarray of column indices
aarray of matrix values
rhsarray of right hand side of system
usolution array
iwkspint array used by itpack for calculations
nwsize of iwskp and wksp
wkspdouble array used by itpack for calculations
iparmarray of 12 integer parameters
rparmarray of 12 double parameters
ierrholds error flag on return
int ssorsi_ ( integer nn,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
integer iwksp,
integer nw,
doublereal wksp,
integer iparm,
doublereal rparm,
integer ierr 
)

Symmetric successive overrelaxation semi-iteration

Parameters
nnOrder of linear system
iaarray of row offsets
jaarray of column indices
aarray of matrix values
rhsarray of right hand side of system
usolution array
iwkspint array used by itpack for calculations
nwsize of iwskp and wksp
wkspdouble array used by itpack for calculations
iparmarray of 12 integer parameters
rparmarray of 12 double parameters
ierrholds error flag on return
int sum3_ ( integer n,
doublereal c1,
doublereal x1,
doublereal c2,
doublereal x2,
doublereal c3,
doublereal x3 
)
doublereal tau_ ( integer ii)
E_f timer_ ( v3p_netlib_real *  timdmy)
logical tstchg_ ( integer ibmth)
int unscal_ ( integer n,
integer ia,
integer ja,
doublereal a,
doublereal rhs,
doublereal u,
doublereal d__ 
)
int vevmw_ ( integer n,
doublereal v,
doublereal w 
)
int vevpw_ ( integer n,
doublereal v,
doublereal w 
)
int vfill_ ( integer n,
doublereal v,
doublereal val 
)

Fill all entires of nn-sized array u with value

Parameters
nsize of array
varray
valvalue to fill array with
int vout_ ( integer n,
doublereal v,
integer iswt,
integer noutt 
)
int wevmw_ ( integer n,
doublereal v,
doublereal w 
)
int zbrent_ ( integer n,
doublereal tri,
doublereal eps,
integer nsig,
doublereal aa,
doublereal bb,
integer maxfnn,
integer ier 
)