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
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.
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) |
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]
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
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
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
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
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
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
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
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
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
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
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 |
int echout_ | ( | integer * | iparm, | |
doublereal * | rparm, | |||
integer * | imthd | |||
) |
This routine initiazes the itpack common blocks from IPARM and RPARM
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
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
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
d__ | input vector of length n, contains diagonal elements of matrix the computed eigenvalues replace the first m components | |
e2 | input vector of length 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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_ | ( | 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
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 | |||
) |