| Class | Description |
---|
| DACOPY | |
| DAXPY |
***PURPOSE Compute a constant times a vector plus a vector.
***CATEGORY D1A7
***TYPE DOUBLE PRECISION (SAXPY-S, DAXPY-D, CAXPY-C)
***KEYWORDS BLAS, LINEAR ALGEBRA, TRIAD, VECTOR
***AUTHOR Lawson, C. L., (JPL)
Hanson, R. J., (SNLA)
Kincaid, D. R., (U. of Texas)
Krogh, F. T., (JPL)
***DESCRIPTION
B L A S Subprogram
Description of Parameters
--Input--
N number of elements in input vector(s)
DA double precision scalar multiplier
DX double precision vector with N elements
INCX storage spacing between elements of DX
DY double precision vector with N elements
INCY storage spacing between elements of DY
--Output--
DY double precision result (unchanged if N .LE. 0)
Overwrite double precision DY with double precision DA*DX + DY.
For I = 0 to N-1, replace DY(LY+I*INCY) with DA*DX(LX+I*INCX) +
DY(LY+I*INCY),
where LX = 1 if INCX .GE. 0, else LX = 1+(1-N)*INCX, and LY is
defined in a similar way using INCY.
***REFERENCES C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T.
Krogh, Basic linear algebra subprograms for Fortran
usage, Algorithm No. 539, Transactions on Mathematical
Software 5, 3 (September 1979), pp. 308-323.
***ROUTINES CALLED (NONE)
***REVISION HISTORY (YYMMDD)
791001 DATE WRITTEN
890831 Modified array declarations. (WRB)
890831 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
920310 Corrected definition of LX in DESCRIPTION. (WRB)
920501 Reformatted the REFERENCES section. (WRB)
***END PROLOGUE DAXPY
***FIRST EXECUTABLE STATEMENT DAXPY
|
| DCOPY |
***PURPOSE Copy a vector.
***CATEGORY D1A5
***TYPE DOUBLE PRECISION (SCOPY-S, DCOPY-D, CCOPY-C, ICOPY-I)
***KEYWORDS BLAS, COPY, LINEAR ALGEBRA, VECTOR
***AUTHOR Lawson, C. L., (JPL)
Hanson, R. J., (SNLA)
Kincaid, D. R., (U. of Texas)
Krogh, F. T., (JPL)
***DESCRIPTION
B L A S Subprogram
Description of Parameters
--Input--
N number of elements in input vector(s)
DX double precision vector with N elements
INCX storage spacing between elements of DX
DY double precision vector with N elements
INCY storage spacing between elements of DY
--Output--
DY copy of vector DX (unchanged if N .LE. 0)
Copy double precision DX to double precision DY.
For I = 0 to N-1, copy DX(LX+I*INCX) to DY(LY+I*INCY),
where LX = 1 if INCX .GE. 0, else LX = 1+(1-N)*INCX, and LY is
defined in a similar way using INCY.
***REFERENCES C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T.
Krogh, Basic linear algebra subprograms for Fortran
usage, Algorithm No. 539, Transactions on Mathematical
Software 5, 3 (September 1979), pp. 308-323.
***ROUTINES CALLED (NONE)
***REVISION HISTORY (YYMMDD)
791001 DATE WRITTEN
890831 Modified array declarations. (WRB)
890831 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
920310 Corrected definition of LX in DESCRIPTION. (WRB)
920501 Reformatted the REFERENCES section. (WRB)
***END PROLOGUE DCOPY
***FIRST EXECUTABLE STATEMENT DCOPY
|
| DDOT |
***PURPOSE Compute the inner product of two vectors.
***CATEGORY D1A4
***TYPE DOUBLE PRECISION (SDOT-S, DDOT-D, CDOTU-C)
***KEYWORDS BLAS, INNER PRODUCT, LINEAR ALGEBRA, VECTOR
***AUTHOR Lawson, C. L., (JPL)
Hanson, R. J., (SNLA)
Kincaid, D. R., (U. of Texas)
Krogh, F. T., (JPL)
***DESCRIPTION
B L A S Subprogram
Description of Parameters
--Input--
N number of elements in input vector(s)
DX double precision vector with N elements
INCX storage spacing between elements of DX
DY double precision vector with N elements
INCY storage spacing between elements of DY
--Output--
DDOT double precision dot product (zero if N .LE. 0)
Returns the dot product of double precision DX and DY.
DDOT = sum for I = 0 to N-1 of DX(LX+I*INCX) * DY(LY+I*INCY),
where LX = 1 if INCX .GE. 0, else LX = 1+(1-N)*INCX, and LY is
defined in a similar way using INCY.
***REFERENCES C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T.
Krogh, Basic linear algebra subprograms for Fortran
usage, Algorithm No. 539, Transactions on Mathematical
Software 5, 3 (September 1979), pp. 308-323.
***ROUTINES CALLED (NONE)
***REVISION HISTORY (YYMMDD)
791001 DATE WRITTEN
890831 Modified array declarations. (WRB)
890831 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
920310 Corrected definition of LX in DESCRIPTION. (WRB)
920501 Reformatted the REFERENCES section. (WRB)
***END PROLOGUE DDOT
***FIRST EXECUTABLE STATEMENT DDOT
|
| DEWSET |
***PURPOSE Set error weight vector.
***TYPE DOUBLE PRECISION (SEWSET-S, DEWSET-D)
***AUTHOR Hindmarsh, Alan C., (LLNL)
***DESCRIPTION
This subroutine sets the error weight vector EWT according to
EWT(i) = RTOL(i)*ABS(YCUR(i)) + ATOL(i), i = 1,...,N,
with the subscript on RTOL and/or ATOL possibly replaced by 1 above,
depending on the value of ITOL.
***SEE ALSO DLSODE
***ROUTINES CALLED (NONE)
***REVISION HISTORY (YYMMDD)
791129 DATE WRITTEN
890501 Modified prologue to SLATEC/LDOC format. (FNF)
890503 Minor cosmetic changes. (FNF)
930809 Renamed to allow single/double precision versions. (ACH)
***END PROLOGUE DEWSET
**End
***FIRST EXECUTABLE STATEMENT DEWSET
|
| DGBFA |
***PURPOSE Factor a band matrix using Gaussian elimination.
***CATEGORY D2A2
***TYPE DOUBLE PRECISION (SGBFA-S, DGBFA-D, CGBFA-C)
***KEYWORDS BANDED, LINEAR ALGEBRA, LINPACK, MATRIX FACTORIZATION
***AUTHOR Moler, C. B., (U. of New Mexico)
***DESCRIPTION
DGBFA factors a double precision band matrix by elimination.
DGBFA is usually called by DGBCO, but it can be called
directly with a saving in time if RCOND is not needed.
On Entry
ABD DOUBLE PRECISION(LDA, N)
contains the matrix in band storage. The columns
of the matrix are stored in the columns of ABD and
the diagonals of the matrix are stored in rows
ML+1 through 2*ML+MU+1 of ABD .
See the comments below for details.
LDA INTEGER
the leading dimension of the array ABD .
LDA must be .GE. 2*ML + MU + 1 .
N INTEGER
the order of the original matrix.
ML INTEGER
number of diagonals below the main diagonal.
0 .LE. ML .LT. N .
MU INTEGER
number of diagonals above the main diagonal.
0 .LE. MU .LT. N .
More efficient if ML .LE. MU .
On Return
ABD an upper triangular matrix in band storage and
the multipliers which were used to obtain it.
The factorization can be written A = L*U where
L is a product of permutation and unit lower
triangular matrices and U is upper triangular.
IPVT INTEGER(N)
an integer vector of pivot indices.
INFO INTEGER
= 0 normal value.
= K if U(K,K) .EQ. 0.0 . This is not an error
condition for this subroutine, but it does
indicate that DGBSL will divide by zero if
called. Use RCOND in DGBCO for a reliable
indication of singularity.
Band Storage
If A is a band matrix, the following program segment
will set up the input.
ML = (band width below the diagonal)
MU = (band width above the diagonal)
M = ML + MU + 1
DO 20 J = 1, N
I1 = MAX(1, J-MU)
I2 = MIN(N, J+ML)
DO 10 I = I1, I2
K = I - J + M
ABD(K,J) = A(I,J)
10 CONTINUE
20 CONTINUE
This uses rows ML+1 through 2*ML+MU+1 of ABD .
In addition, the first ML rows in ABD are used for
elements generated during the triangularization.
The total number of rows needed in ABD is 2*ML+MU+1 .
The ML+MU by ML+MU upper left triangle and the
ML by ML lower right triangle are not referenced.
***REFERENCES J. J. Dongarra, J. R. Bunch, C. B. Moler, and G. W.
Stewart, LINPACK Users' Guide, SIAM, 1979.
***ROUTINES CALLED DAXPY, DSCAL, IDAMAX
***REVISION HISTORY (YYMMDD)
780814 DATE WRITTEN
890531 Changed all specific intrinsics to generic. (WRB)
890831 Modified array declarations. (WRB)
890831 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
900326 Removed duplicate information from DESCRIPTION section.
(WRB)
920501 Reformatted the REFERENCES section. (WRB)
***END PROLOGUE DGBFA
|
| DGBSL |
***PURPOSE Solve the real band system A*X=B or TRANS(A)*X=B using
the factors computed by DGBCO or DGBFA.
***CATEGORY D2A2
***TYPE DOUBLE PRECISION (SGBSL-S, DGBSL-D, CGBSL-C)
***KEYWORDS BANDED, LINEAR ALGEBRA, LINPACK, MATRIX, SOLVE
***AUTHOR Moler, C. B., (U. of New Mexico)
***DESCRIPTION
DGBSL solves the double precision band system
A * X = B or TRANS(A) * X = B
using the factors computed by DGBCO or DGBFA.
On Entry
ABD DOUBLE PRECISION(LDA, N)
the output from DGBCO or DGBFA.
LDA INTEGER
the leading dimension of the array ABD .
N INTEGER
the order of the original matrix.
ML INTEGER
number of diagonals below the main diagonal.
MU INTEGER
number of diagonals above the main diagonal.
IPVT INTEGER(N)
the pivot vector from DGBCO or DGBFA.
B DOUBLE PRECISION(N)
the right hand side vector.
JOB INTEGER
= 0 to solve A*X = B ,
= nonzero to solve TRANS(A)*X = B , where
TRANS(A) is the transpose.
On Return
B the solution vector X .
Error Condition
A division by zero will occur if the input factor contains a
zero on the diagonal. Technically this indicates singularity
but it is often caused by improper arguments or improper
setting of LDA . It will not occur if the subroutines are
called correctly and if DGBCO has set RCOND .GT. 0.0
or DGBFA has set INFO .EQ. 0 .
To compute INVERSE(A) * C where C is a matrix
with P columns
CALL DGBCO(ABD,LDA,N,ML,MU,IPVT,RCOND,Z)
IF (RCOND is too small) GO TO ...
DO 10 J = 1, P
CALL DGBSL(ABD,LDA,N,ML,MU,IPVT,C(1,J),0)
10 CONTINUE
***REFERENCES J. J. Dongarra, J. R. Bunch, C. B. Moler, and G. W.
Stewart, LINPACK Users' Guide, SIAM, 1979.
***ROUTINES CALLED DAXPY, DDOT
***REVISION HISTORY (YYMMDD)
780814 DATE WRITTEN
890531 Changed all specific intrinsics to generic. (WRB)
890831 Modified array declarations. (WRB)
890831 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
900326 Removed duplicate information from DESCRIPTION section.
(WRB)
920501 Reformatted the REFERENCES section. (WRB)
***END PROLOGUE DGBSL
***FIRST EXECUTABLE STATEMENT DGBSL
|
| DGEFA |
***PURPOSE Factor a matrix using Gaussian elimination.
***CATEGORY D2A1
***TYPE DOUBLE PRECISION (SGEFA-S, DGEFA-D, CGEFA-C)
***KEYWORDS GENERAL MATRIX, LINEAR ALGEBRA, LINPACK,
MATRIX FACTORIZATION
***AUTHOR Moler, C. B., (U. of New Mexico)
***DESCRIPTION
DGEFA factors a double precision matrix by Gaussian elimination.
DGEFA is usually called by DGECO, but it can be called
directly with a saving in time if RCOND is not needed.
(Time for DGECO) = (1 + 9/N)*(Time for DGEFA) .
On Entry
A DOUBLE PRECISION(LDA, N)
the matrix to be factored.
LDA INTEGER
the leading dimension of the array A .
N INTEGER
the order of the matrix A .
On Return
A an upper triangular matrix and the multipliers
which were used to obtain it.
The factorization can be written A = L*U where
L is a product of permutation and unit lower
triangular matrices and U is upper triangular.
IPVT INTEGER(N)
an integer vector of pivot indices.
INFO INTEGER
= 0 normal value.
= K if U(K,K) .EQ. 0.0 . This is not an error
condition for this subroutine, but it does
indicate that DGESL or DGEDI will divide by zero
if called. Use RCOND in DGECO for a reliable
indication of singularity.
***REFERENCES J. J. Dongarra, J. R. Bunch, C. B. Moler, and G. W.
Stewart, LINPACK Users' Guide, SIAM, 1979.
***ROUTINES CALLED DAXPY, DSCAL, IDAMAX
***REVISION HISTORY (YYMMDD)
780814 DATE WRITTEN
890831 Modified array declarations. (WRB)
890831 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
900326 Removed duplicate information from DESCRIPTION section.
(WRB)
920501 Reformatted the REFERENCES section. (WRB)
***END PROLOGUE DGEFA
|
| DGESL |
***PURPOSE Solve the real system A*X=B or TRANS(A)*X=B using the
factors computed by DGECO or DGEFA.
***CATEGORY D2A1
***TYPE DOUBLE PRECISION (SGESL-S, DGESL-D, CGESL-C)
***KEYWORDS LINEAR ALGEBRA, LINPACK, MATRIX, SOLVE
***AUTHOR Moler, C. B., (U. of New Mexico)
***DESCRIPTION
DGESL solves the double precision system
A * X = B or TRANS(A) * X = B
using the factors computed by DGECO or DGEFA.
On Entry
A DOUBLE PRECISION(LDA, N)
the output from DGECO or DGEFA.
LDA INTEGER
the leading dimension of the array A .
N INTEGER
the order of the matrix A .
IPVT INTEGER(N)
the pivot vector from DGECO or DGEFA.
B DOUBLE PRECISION(N)
the right hand side vector.
JOB INTEGER
= 0 to solve A*X = B ,
= nonzero to solve TRANS(A)*X = B where
TRANS(A) is the transpose.
On Return
B the solution vector X .
Error Condition
A division by zero will occur if the input factor contains a
zero on the diagonal. Technically this indicates singularity
but it is often caused by improper arguments or improper
setting of LDA . It will not occur if the subroutines are
called correctly and if DGECO has set RCOND .GT. 0.0
or DGEFA has set INFO .EQ. 0 .
To compute INVERSE(A) * C where C is a matrix
with P columns
CALL DGECO(A,LDA,N,IPVT,RCOND,Z)
IF (RCOND is too small) GO TO ...
DO 10 J = 1, P
CALL DGESL(A,LDA,N,IPVT,C(1,J),0)
10 CONTINUE
***REFERENCES J. J. Dongarra, J. R. Bunch, C. B. Moler, and G. W.
Stewart, LINPACK Users' Guide, SIAM, 1979.
***ROUTINES CALLED DAXPY, DDOT
***REVISION HISTORY (YYMMDD)
780814 DATE WRITTEN
890831 Modified array declarations. (WRB)
890831 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
900326 Removed duplicate information from DESCRIPTION section.
(WRB)
920501 Reformatted the REFERENCES section. (WRB)
***END PROLOGUE DGESL
***FIRST EXECUTABLE STATEMENT DGESL
|
| DNRM2 |
***PURPOSE Compute the Euclidean length (L2 norm) of a vector.
***CATEGORY D1A3B
***TYPE DOUBLE PRECISION (SNRM2-S, DNRM2-D, SCNRM2-C)
***KEYWORDS BLAS, EUCLIDEAN LENGTH, EUCLIDEAN NORM, L2,
LINEAR ALGEBRA, UNITARY, VECTOR
***AUTHOR Lawson, C. L., (JPL)
Hanson, R. J., (SNLA)
Kincaid, D. R., (U. of Texas)
Krogh, F. T., (JPL)
***DESCRIPTION
B L A S Subprogram
Description of parameters
--Input--
N number of elements in input vector(s)
DX double precision vector with N elements
INCX storage spacing between elements of DX
--Output--
DNRM2 double precision result (zero if N .LE. 0)
Euclidean norm of the N-vector stored in DX with storage
increment INCX.
If N .LE. 0, return with result = 0.
If N .GE. 1, then INCX must be .GE. 1
Four phase method using two built-in constants that are
hopefully applicable to all machines.
CUTLO = maximum of SQRT(U/EPS) over all known machines.
CUTHI = minimum of SQRT(V) over all known machines.
where
EPS = smallest no. such that EPS + 1. .GT. 1.
U = smallest positive no. (underflow limit)
V = largest no. (overflow limit)
Brief outline of algorithm.
Phase 1 scans zero components.
move to phase 2 when a component is nonzero and .LE. CUTLO
move to phase 3 when a component is .GT. CUTLO
move to phase 4 when a component is .GE. CUTHI/M
where M = N for X() real and M = 2*N for complex.
Values for CUTLO and CUTHI.
From the environmental parameters listed in the IMSL converter
document the limiting values are as follows:
CUTLO, S.P. U/EPS = 2**(-102) for Honeywell. Close seconds are
Univac and DEC at 2**(-103)
Thus CUTLO = 2**(-51) = 4.44089E-16
CUTHI, S.P. V = 2**127 for Univac, Honeywell, and DEC.
Thus CUTHI = 2**(63.5) = 1.30438E19
CUTLO, D.P. U/EPS = 2**(-67) for Honeywell and DEC.
Thus CUTLO = 2**(-33.5) = 8.23181D-11
CUTHI, D.P. same as S.P. CUTHI = 1.30438D19
DATA CUTLO, CUTHI /8.232D-11, 1.304D19/
DATA CUTLO, CUTHI /4.441E-16, 1.304E19/
***REFERENCES C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T.
Krogh, Basic linear algebra subprograms for Fortran
usage, Algorithm No. 539, Transactions on Mathematical
Software 5, 3 (September 1979), pp. 308-323.
***ROUTINES CALLED (NONE)
***REVISION HISTORY (YYMMDD)
791001 DATE WRITTEN
890531 Changed all specific intrinsics to generic. (WRB)
890831 Modified array declarations. (WRB)
890831 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
920501 Reformatted the REFERENCES section. (WRB)
***END PROLOGUE DNRM2
***FIRST EXECUTABLE STATEMENT DNRM2
|
| DSCAL |
***PURPOSE Multiply a vector by a constant.
***CATEGORY D1A6
***TYPE DOUBLE PRECISION (SSCAL-S, DSCAL-D, CSCAL-C)
***KEYWORDS BLAS, LINEAR ALGEBRA, SCALE, VECTOR
***AUTHOR Lawson, C. L., (JPL)
Hanson, R. J., (SNLA)
Kincaid, D. R., (U. of Texas)
Krogh, F. T., (JPL)
***DESCRIPTION
B L A S Subprogram
Description of Parameters
--Input--
N number of elements in input vector(s)
DA double precision scale factor
DX double precision vector with N elements
INCX storage spacing between elements of DX
--Output--
DX double precision result (unchanged if N.LE.0)
Replace double precision DX by double precision DA*DX.
For I = 0 to N-1, replace DX(IX+I*INCX) with DA * DX(IX+I*INCX),
where IX = 1 if INCX .GE. 0, else IX = 1+(1-N)*INCX.
***REFERENCES C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T.
Krogh, Basic linear algebra subprograms for Fortran
usage, Algorithm No. 539, Transactions on Mathematical
Software 5, 3 (September 1979), pp. 308-323.
***ROUTINES CALLED (NONE)
***REVISION HISTORY (YYMMDD)
791001 DATE WRITTEN
890831 Modified array declarations. (WRB)
890831 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
900821 Modified to correct problem with a negative increment.
(WRB)
920501 Reformatted the REFERENCES section. (WRB)
***END PROLOGUE DSCAL
***FIRST EXECUTABLE STATEMENT DSCAL
|
| DUMACH |
***PURPOSE Compute the unit roundoff of the machine.
***CATEGORY R1
***TYPE DOUBLE PRECISION (RUMACH-S, DUMACH-D)
***KEYWORDS MACHINE CONSTANTS
***AUTHOR Hindmarsh, Alan C., (LLNL)
***DESCRIPTION
*Usage:
DOUBLE PRECISION A, DUMACH
A = DUMACH()
*Function Return Values:
A : the unit roundoff of the machine.
*Description:
The unit roundoff is defined as the smallest positive machine
number u such that 1.0 + u .ne. 1.0. This is computed by DUMACH
in a machine-independent manner.
***REFERENCES (NONE)
***ROUTINES CALLED DUMSUM
***REVISION HISTORY (YYYYMMDD)
19930216 DATE WRITTEN
19930818 Added SLATEC-format prologue. (FNF)
20030707 Added DUMSUM to force normal storage of COMP. (ACH)
***END PROLOGUE DUMACH
***FIRST EXECUTABLE STATEMENT DUMACH
|
| DUMSUM | |
| DVHIN | |
| DVINDY | |
| DVJAC | |
| DVJUST | |
| DVNLSD | |
| DVNORM |
***PURPOSE Weighted root-mean-square vector norm.
***TYPE DOUBLE PRECISION (SVNORM-S, DVNORM-D)
***AUTHOR Hindmarsh, Alan C., (LLNL)
***DESCRIPTION
This function routine computes the weighted root-mean-square norm
of the vector of length N contained in the array V, with weights
contained in the array W of length N:
DVNORM = SQRT( (1/N) * SUM( V(i)*W(i) )**2 )
***SEE ALSO DLSODE
***ROUTINES CALLED (NONE)
***REVISION HISTORY (YYMMDD)
791129 DATE WRITTEN
890501 Modified prologue to SLATEC/LDOC format. (FNF)
890503 Minor cosmetic changes. (FNF)
930809 Renamed to allow single/double precision versions. (ACH)
***END PROLOGUE DVNORM
**End
***FIRST EXECUTABLE STATEMENT DVNORM
|
| DVODE | |
| DVSET | |
| DVSOL | |
| DVSRCO | |
| DVSTEP | |
| IDAMAX |
***PURPOSE Find the smallest index of that component of a vector
having the maximum magnitude.
***CATEGORY D1A2
***TYPE DOUBLE PRECISION (ISAMAX-S, IDAMAX-D, ICAMAX-C)
***KEYWORDS BLAS, LINEAR ALGEBRA, MAXIMUM COMPONENT, VECTOR
***AUTHOR Lawson, C. L., (JPL)
Hanson, R. J., (SNLA)
Kincaid, D. R., (U. of Texas)
Krogh, F. T., (JPL)
***DESCRIPTION
B L A S Subprogram
Description of Parameters
--Input--
N number of elements in input vector(s)
DX double precision vector with N elements
INCX storage spacing between elements of DX
--Output--
IDAMAX smallest index (zero if N .LE. 0)
Find smallest index of maximum magnitude of double precision DX.
IDAMAX = first I, I = 1 to N, to maximize ABS(DX(IX+(I-1)*INCX)),
where IX = 1 if INCX .GE. 0, else IX = 1+(1-N)*INCX.
***REFERENCES C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T.
Krogh, Basic linear algebra subprograms for Fortran
usage, Algorithm No. 539, Transactions on Mathematical
Software 5, 3 (September 1979), pp. 308-323.
***ROUTINES CALLED (NONE)
***REVISION HISTORY (YYMMDD)
791001 DATE WRITTEN
890531 Changed all specific intrinsics to generic. (WRB)
890531 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
900821 Modified to correct problem with a negative increment.
(WRB)
920501 Reformatted the REFERENCES section. (WRB)
***END PROLOGUE IDAMAX
***FIRST EXECUTABLE STATEMENT IDAMAX
|
| IUMACH |
***PURPOSE Provide standard output unit number.
***CATEGORY R1
***TYPE INTEGER (IUMACH-I)
***KEYWORDS MACHINE CONSTANTS
***AUTHOR Hindmarsh, Alan C., (LLNL)
***DESCRIPTION
*Usage:
INTEGER LOUT, IUMACH
LOUT = IUMACH()
*Function Return Values:
LOUT : the standard logical unit for Fortran output.
***REFERENCES (NONE)
***ROUTINES CALLED (NONE)
***REVISION HISTORY (YYMMDD)
930915 DATE WRITTEN
930922 Made user-callable, and other cosmetic changes. (FNF)
***END PROLOGUE IUMACH
*Internal Notes:
The built-in value of 6 is standard on a wide range of Fortran
systems. This may be machine-dependent.
**End
***FIRST EXECUTABLE STATEMENT IUMACH
|
| IXSAV |
***PURPOSE Save and recall error message control parameters.
***CATEGORY R3C
***TYPE ALL (IXSAV-A)
***AUTHOR Hindmarsh, Alan C., (LLNL)
***DESCRIPTION
IXSAV saves and recalls one of two error message parameters:
LUNIT, the logical unit number to which messages are printed, and
MESFLG, the message print flag.
This is a modification of the SLATEC library routine J4SAVE.
Saved local variables..
LUNIT = Logical unit number for messages. The default is obtained
by a call to IUMACH (may be machine-dependent).
MESFLG = Print control flag..
1 means print all messages (the default).
0 means no printing.
On input..
IPAR = Parameter indicator (1 for LUNIT, 2 for MESFLG).
IVALUE = The value to be set for the parameter, if ISET = .TRUE.
ISET = Logical flag to indicate whether to read or write.
If ISET = .TRUE., the parameter will be given
the value IVALUE. If ISET = .FALSE., the parameter
will be unchanged, and IVALUE is a dummy argument.
On return..
IXSAV = The (old) value of the parameter.
***SEE ALSO XERRWD, XERRWV
***ROUTINES CALLED IUMACH
***REVISION HISTORY (YYMMDD)
921118 DATE WRITTEN
930329 Modified prologue to SLATEC format. (FNF)
930915 Added IUMACH call to get default output unit. (ACH)
930922 Minor cosmetic changes. (FNF)
010425 Type declaration for IUMACH added. (ACH)
***END PROLOGUE IXSAV
Subroutines called by IXSAV.. None
Function routine called by IXSAV.. IUMACH
-----------------------------------------------------------------------
**End
-----------------------------------------------------------------------
-----------------------------------------------------------------------
The following Fortran-77 declaration is to cause the values of the
listed (local) variables to be saved between calls to this routine.
-----------------------------------------------------------------------
***FIRST EXECUTABLE STATEMENT IXSAV
|
| xBaseOdeGearsAndAdamsMoulton |
Represents a base class for the Adams-Moulton and Gear’s BDF classes.
|
| XERRWD |
***PURPOSE Write error message with values.
***CATEGORY R3C
***TYPE DOUBLE PRECISION (XERRWV-S, XERRWD-D)
***AUTHOR Hindmarsh, Alan C., (LLNL)
***DESCRIPTION
Subroutines XERRWD, XSETF, XSETUN, and the function routine IXSAV,
as given here, constitute a simplified version of the SLATEC error
handling package.
All arguments are input arguments.
MSG = The message (character array).
NMES = The length of MSG (number of characters).
NERR = The error number (not used).
LEVEL = The error level..
0 or 1 means recoverable (control returns to caller).
2 means fatal (run is aborted--see note below).
NI = Number of integers (0, 1, or 2) to be printed with message.
I1,I2 = Integers to be printed, depending on NI.
NR = Number of reals (0, 1, or 2) to be printed with message.
R1,R2 = Reals to be printed, depending on NR.
Note.. this routine is machine-dependent and specialized for use
in limited context, in the following ways..
1. The argument MSG is assumed to be of type CHARACTER, and
the message is printed with a format of (1X,A).
2. The message is assumed to take only one line.
Multi-line messages are generated by repeated calls.
3. If LEVEL = 2, control passes to the statement STOP
to abort the run. This statement may be machine-dependent.
4. R1 and R2 are assumed to be in double precision and are printed
in D21.13 format.
***ROUTINES CALLED IXSAV
***REVISION HISTORY (YYMMDD)
920831 DATE WRITTEN
921118 Replaced MFLGSV/LUNSAV by IXSAV. (ACH)
930329 Modified prologue to SLATEC format. (FNF)
930407 Changed MSG from CHARACTER*1 array to variable. (FNF)
930922 Minor cosmetic change. (FNF)
***END PROLOGUE XERRWD
*Internal Notes:
For a different default logical unit number, IXSAV (or a subsidiary
routine that it calls) will need to be modified.
For a different run-abort command, change the statement following
statement 100 at the end.
-----------------------------------------------------------------------
Subroutines called by XERRWD.. None
Function routine called by XERRWD.. IXSAV
-----------------------------------------------------------------------
**End
Declare arguments.
|
| XSETF |
***PURPOSE Reset the error print control flag.
***CATEGORY R3A
***TYPE ALL (XSETF-A)
***KEYWORDS ERROR CONTROL
***AUTHOR Hindmarsh, Alan C., (LLNL)
***DESCRIPTION
XSETF sets the error print control flag to MFLAG:
MFLAG=1 means print all messages (the default).
MFLAG=0 means no printing.
***SEE ALSO XERRWD, XERRWV
***REFERENCES (NONE)
***ROUTINES CALLED IXSAV
***REVISION HISTORY (YYMMDD)
921118 DATE WRITTEN
930329 Added SLATEC format prologue. (FNF)
930407 Corrected SEE ALSO section. (FNF)
930922 Made user-callable, and other cosmetic changes. (FNF)
***END PROLOGUE XSETF
Subroutines called by XSETF.. None
Function routine called by XSETF.. IXSAV
-----------------------------------------------------------------------
**End
***FIRST EXECUTABLE STATEMENT XSETF
|
| XSETUN |
***PURPOSE Reset the logical unit number for error messages.
***CATEGORY R3B
***TYPE ALL (XSETUN-A)
***KEYWORDS ERROR CONTROL
***DESCRIPTION
XSETUN sets the logical unit number for error messages to LUN.
***AUTHOR Hindmarsh, Alan C., (LLNL)
***SEE ALSO XERRWD, XERRWV
***REFERENCES (NONE)
***ROUTINES CALLED IXSAV
***REVISION HISTORY (YYMMDD)
921118 DATE WRITTEN
930329 Added SLATEC format prologue. (FNF)
930407 Corrected SEE ALSO section. (FNF)
930922 Made user-callable, and other cosmetic changes. (FNF)
***END PROLOGUE XSETUN
Subroutines called by XSETUN.. None
Function routine called by XSETUN.. IXSAV
-----------------------------------------------------------------------
**End
***FIRST EXECUTABLE STATEMENT XSETUN
|