ITK
4.2.0
Insight Segmentation and Registration Toolkit
|
Go to the source code of this file.
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
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 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 the 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 |
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 | ||
) |