ddajac.f
SUBROUTINE DDAJAC (NEQ, X, Y, YPRIME, DELTA, CJ, H, IER, WT, E,
* WM, IWM, RES, IRES, UROUND, JAC, RPAR, IPAR, NTEMP)
C***BEGIN PROLOGUE DDAJAC
....
....
Warning: this routine is not intended to be user-callable.
....
....
C***SUBSIDIARY
C***PURPOSE Compute the iteration matrix for DDASSL and form the
C LU-decomposition.
C***LIBRARY SLATEC (DASSL)
C***TYPE DOUBLE PRECISION (SDAJAC-S, DDAJAC-D)
C***AUTHOR Petzold, Linda R., (LLNL)
C***DESCRIPTION
C-----------------------------------------------------------------------
C THIS ROUTINE COMPUTES THE ITERATION MATRIX
C PD=DG/DY+CJ*DG/DYPRIME (WHERE G(X,Y,YPRIME)=0).
C HERE PD IS COMPUTED BY THE USER-SUPPLIED
C ROUTINE JAC IF IWM(MTYPE) IS 1 OR 4, AND
C IT IS COMPUTED BY NUMERICAL FINITE DIFFERENCING
C IF IWM(MTYPE)IS 2 OR 5
C THE PARAMETERS HAVE THE FOLLOWING MEANINGS.
C Y = ARRAY CONTAINING PREDICTED VALUES
C YPRIME = ARRAY CONTAINING PREDICTED DERIVATIVES
C DELTA = RESIDUAL EVALUATED AT (X,Y,YPRIME)
C (USED ONLY IF IWM(MTYPE)=2 OR 5)
C CJ = SCALAR PARAMETER DEFINING ITERATION MATRIX
C H = CURRENT STEPSIZE IN INTEGRATION
C IER = VARIABLE WHICH IS .NE. 0
C IF ITERATION MATRIX IS SINGULAR,
C AND 0 OTHERWISE.
C WT = VECTOR OF WEIGHTS FOR COMPUTING NORMS
C E = WORK SPACE (TEMPORARY) OF LENGTH NEQ
C WM = REAL WORK SPACE FOR MATRICES. ON
C OUTPUT IT CONTAINS THE LU DECOMPOSITION
C OF THE ITERATION MATRIX.
C IWM = INTEGER WORK SPACE CONTAINING
C MATRIX INFORMATION
C RES = NAME OF THE EXTERNAL USER-SUPPLIED ROUTINE
C TO EVALUATE THE RESIDUAL FUNCTION G(X,Y,YPRIME)
C IRES = FLAG WHICH IS EQUAL TO ZERO IF NO ILLEGAL VALUES
C IN RES, AND LESS THAN ZERO OTHERWISE. (IF IRES
C IS LESS THAN ZERO, THE MATRIX WAS NOT COMPLETED)
C IN THIS CASE (IF IRES .LT. 0), THEN IER = 0.
C UROUND = THE UNIT ROUNDOFF ERROR OF THE MACHINE BEING USED.
C JAC = NAME OF THE EXTERNAL USER-SUPPLIED ROUTINE
C TO EVALUATE THE ITERATION MATRIX (THIS ROUTINE
C IS ONLY USED IF IWM(MTYPE) IS 1 OR 4)
C-----------------------------------------------------------------------
C***ROUTINES CALLED DGBFA, DGEFA
C***REVISION HISTORY (YYMMDD)
C 830315 DATE WRITTEN
C 901009 Finished conversion to SLATEC 4.0 format (F.N.Fritsch)
C 901010 Modified three MAX calls to be all on one line. (FNF)
C 901019 Merged changes made by C. Ulrich with SLATEC 4.0 format.
C 901026 Added explicit declarations for all variables and minor
C cosmetic changes to prologue. (FNF)
C 901101 Corrected PURPOSE. (FNF)
C***END PROLOGUE DDAJAC