Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itpack.h File Reference

Declarations of functions from itpack. More...

Go to the source code of this file.

Functions

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 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 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 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 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 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)
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 ivfill_ (integer *n, integer *iv, integer *ival)
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 pfsor_ (integer *nn, integer *ia, integer *ja, doublereal *a, doublereal *u, doublereal *rhs)
int pfsor1_ (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 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 sum3_ (integer *n, doublereal *c1, doublereal *x1, doublereal *c2, doublereal *x2, doublereal *c3, doublereal *x3)
doublereal tau_ (integer *ii)
E_f timer_ (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:
a Nonzero entries in compressed row storage format
rhs Right hand side of linear system
u Initial guess of solution. holds solution on output
iwksp Vector of length 3*nn. on output: holds permutation vector, its inverse, and integer workspace
nw On input: length of wksp, on output: actual amount used
wksp Vector used for real working space. must be at least nw in length
iparm Vector of length 12 used to initialize various parameters on input
rparm Vector of length 12 used to initialize various parameters on input
ierr Error flag, on output: zero=no error, non-zero=error condition
nz Number of non-zero entries in matrix
iwork Vector of length nz. matrix creation workspace
i Matrix index
j Matrix index
value Matrix entry
mode Type of matrix building
level Error reporting flag
nout Error reporting location
ier Error 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:
n since of array
k integer array to search
l searching criterion

doublereal cheby_ doublereal *  qa,
doublereal *  qt,
doublereal *  rrr,
integer *  ip,
doublereal *  cme,
doublereal *  sme
 

Computes the solution to the chebyshev equation

Parameters:
qa ratio of pseudo-residuals
qt virtual spectral radius
rrr adaptive parameter
ip number of iterations since last change of parameters
cme estimate for largest eigen-value of iteration matrix
sme estimate 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:
tri tridiagonal matrix associated with the eigenvalues of the conjugate gradient polynomial
gamold previous value of acceleration parameters
rhoold previous value of acceleration parameters
ibmth flag 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:
dtnrm numerator or rayleigh quotient
ibmth indicator 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:
oldnrm square of the norm of the pseudo-residual at the last iteration
icnt number 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:
n length of da
da array of da values
dx array of dx values
incx increment size for dx array
dy array of dy values
incy increment size for dy array

int dcopy_ integer *  n,
doublereal *  dx,
integer *  incx,
doublereal *  dy,
integer *  incy
 

Copy dx to dy

Parameters:
n length of dx
dx array of values
incx increment size for dx array
dy array of values
incy increment size for dy array

doublereal ddot_ integer *  n,
doublereal *  dx,
integer *  incx,
doublereal *  dy,
integer *  incy
 

Returns dot product of dx and dy

Parameters:
n length of dx
dx array of values
incx increment size for dx array
dy array of values
incy increment 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:
n order of tridiagonal system
tri symmetric tridiagonal matrix of order n
xlmda argument for characteristic equation

int dfault_ integer *  iparm,
doublereal *  rparm
 

Obtain default parameters

Parameters:
iparm array of 12 integer parameters
rparm array 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:
nn Order of linear system
ia array of row offsets
ja array of column indices
a array of matrix values
rhs array of right hand side of system
iparm integer array of parameters
rparm doublereal array of parameters
icall indicator 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:
iparm integer array of parameters
rparm doublereal array of parameters
imthd indicator 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:
n order of tridiagonal system
tri symmetric tridiagonal matrix of order n
d__ array of eqrt1s (negative diagonal elements)
e2 array of eqrt1s (super diagonal elements)
ier error 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:
n order of tridiagonal system
tri symmetric tridiagonal matrix of order n
start initial lower bound of interval containing root
zeta stopping criteria
itmax maximum number of iterations
ier error 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 lenght n, contains diagonal elements of matrix the computed eigenvalues replace the first m components
e2 input vector of lenght n containing the squares of the off-diagonal elements of the matrix
nn order of the matrix
m number of smallest eigenvalues desired
isw positive definite flag (0 = not pd, 1 = pd)
ierr error 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:
omega relaxation factor for sor method

int iterm_ integer *  nn,
doublereal *  a,
doublereal *  u,
doublereal *  wk,
integer *  imthdd
 

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

Parameters:
nn order of system
a iteration matrix
u solution estimate
wk work array of length nn
imthdd indicator 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:
nn Order of linear system
ia array of row offsets
ja array of column indices
a array of matrix values
u input version of solution vector
u1 value 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
d1 pseudo-residual vector after in-1 iterations, gets filled with newest pseudo-residual vector
dtwd used in computation of acceleration parameeter gamma and the pseudo-residual
tri stores 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:
nn Order of linear system
ia array of row offsets
ja array of column indices
a array of matrix values
rhs array of right hand side of linear system
u solution estimate at in iterations
u1 value 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
icnt number 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:
n Order of linear system
nnb Number of black points
ia array of row offsets
ja array of column indices
a array of matrix values
ub estimate for the solution of black points after in iterations
ub1 estimate for the solution of black points after in-1 iterations, filled with in+1 values
db pseudo-residual of black points after in iterations
db1 pseudo-residual of black points after in-1 iterations, filled with in+1 values
wb used in computation involving black vector
tri stores 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:
n Order of linear system
nnb Number of black points
ia array of row offsets
ja array of column indices
a array of matrix values
rhs array of right hand side of linear system
ub estimate for the solution of black points after in iterations
ub1 pseudo-residual of black points after in-1 iterations, filled with in+1 values
db current 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:
nn Order of linear system
ia array of row offsets
ja array of column indices
a array of matrix values
rhs array of right hand side of linear system
u solution estimate array
wk work 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:
nn Order of linear system
ia array of row offsets
ja array of column indices
a array of matrix values
rhs array of right hand side of linear system
u solution estimate at in iterations,
u1 value of solution vector at the end of the in-1 iteration, gets filled with newest estimate
c__ forward residual after in iterations
c1 forward residual after in-1 iterations, filled with in+1 values
d__ used to compute backward pseudo-residual for current iteration
dl used in computation of acceleration parameters
wk work array of length nn
tri stores 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:
nn Order of linear system
ia array of row offsets
ja array of column indices
a array of matrix values
rhs array of right hand side of linear system
u solution estimate at in-1 iterations
u1 value 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
ctwd used in computation of acceleration parameters
wk work array of length nn

int ivfill_ integer *  n,
integer *  iv,
integer *  ival
 

Fill integer array with a value

Parameters:
n number of elements in array
iv pointer to integer array
ival value 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:
nn Order of linear system
ia array of row offsets
ja array of column indices
a array of matrix values
rhs array of right hand side of system
u solution array
iwksp int array used by itpack for calculations
nw size of iwskp and wksp
wksp double array used by itpack for calculations
iparm array of 12 integer parameters
rparm array of 12 double parameters
ierr holds 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:
nn Order of linear system
ia array of row offsets
ja array of column indices
a array of matrix values
rhs array of right hand side of system
u solution array
iwksp int array used by itpack for calculations
nw size of iwskp and wksp
wksp double array used by itpack for calculations
iparm array of 12 integer parameters
rparm array of 12 double parameters
ierr holds 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:
nn Order of linear system
ia array of row offsets
ja array of column indices
a array of matrix values
rhs array of right hand side of system
u solution array
iwksp int array used by itpack for calculations
nw size of iwskp and wksp
wksp double array used by itpack for calculations
iparm array of 12 integer parameters
rparm array of 12 double parameters
ierr holds 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:
nn Order of linear system
ia array of row offsets
ja array of column indices
a array of matrix values
rhs array of right hand side of system
u solution array
iwksp int array used by itpack for calculations
nw size of iwskp and wksp
wksp double array used by itpack for calculations
iparm array of 12 integer parameters
rparm array of 12 double parameters
ierr holds 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:
nn order of matrix
nz maximum number of non-zero values
ia array of row offsets
ja array of column indices
a array of matrix values
iwork workspace array used by itpack

int sbini_ integer *  nn,
integer *  nz,
integer *  ia,
integer *  ja,
doublereal *  a,
integer *  iwork
 

Initialize sparse matrix storage

Parameters:
nn order of matrix
nz maximum number of non-zero values
ia array of row offsets
ja array of column indices
a array of matrix values
iwork workspace 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:
nn order of matrix
nz maximum number of non-zero values
ia array of row offsets
ja array of column indices
a array of matrix values
iwork workspace array used by itpack
ii row index of value to add
jj column index of value to add
vall value to add
mode flag for type of adding to be done
levell specifier for level of output
noutt specifier for output
ierr holds 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:
nn Order of linear system
ia array of row offsets
ja array of column indices
a array of matrix values
rhs array of right hand side of system
u solution array
iwksp int array used by itpack for calculations
nw size of iwskp and wksp
wksp double array used by itpack for calculations
iparm array of 12 integer parameters
rparm array of 12 double parameters
ierr holds 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:
nn Order of linear system
ia array of row offsets
ja array of column indices
a array of matrix values
rhs array of right hand side of system
u solution array
iwksp int array used by itpack for calculations
nw size of iwskp and wksp
wksp double array used by itpack for calculations
iparm array of 12 integer parameters
rparm array of 12 double parameters
ierr holds 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:
nn Order of linear system
ia array of row offsets
ja array of column indices
a array of matrix values
rhs array of right hand side of system
u solution array
iwksp int array used by itpack for calculations
nw size of iwskp and wksp
wksp double array used by itpack for calculations
iparm array of 12 integer parameters
rparm array of 12 double parameters
ierr holds 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_ 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:
n size of array
v array
val value 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
 


Generated at Sun Apr 1 02:48:20 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000