*DECK SDAJAC SUBROUTINE SDAJAC (NEQ, X, Y, YPRIME, DELTA, CJ, H, IER, WT, E, * WM, IWM, RES, IRES, UROUND, JAC, RPAR, IPAR, NTEMP) C***BEGIN PROLOGUE SDAJAC C***SUBSIDIARY C***PURPOSE Compute the iteration matrix for SDASSL and form the C LU-decomposition. C***LIBRARY SLATEC (DASSL) C***TYPE SINGLE 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 SGBFA, SGEFA 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 SDAJAC