*DECK SDASLV SUBROUTINE SDASLV (NEQ, DELTA, WM, IWM) C***BEGIN PROLOGUE SDASLV C***SUBSIDIARY C***PURPOSE Linear system solver for SDASSL. C***LIBRARY SLATEC (DASSL) C***TYPE SINGLE PRECISION (SDASLV-S, DDASLV-D) C***AUTHOR Petzold, Linda R., (LLNL) C***DESCRIPTION C----------------------------------------------------------------------- C THIS ROUTINE MANAGES THE SOLUTION OF THE LINEAR C SYSTEM ARISING IN THE NEWTON ITERATION. C MATRICES AND REAL TEMPORARY STORAGE AND C REAL INFORMATION ARE STORED IN THE ARRAY WM. C INTEGER MATRIX INFORMATION IS STORED IN C THE ARRAY IWM. C FOR A DENSE MATRIX, THE LINPACK ROUTINE C SGESL IS CALLED. C FOR A BANDED MATRIX,THE LINPACK ROUTINE C SGBSL IS CALLED. C----------------------------------------------------------------------- C***ROUTINES CALLED SGBSL, SGESL C***REVISION HISTORY (YYMMDD) C 830315 DATE WRITTEN C 901009 Finished conversion to SLATEC 4.0 format (F.N.Fritsch) 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***END PROLOGUE SDASLV C INTEGER NEQ, IWM(*) REAL DELTA(*), WM(*) C EXTERNAL SGBSL, SGESL C INTEGER LIPVT, LML, LMU, LMTYPE, MEBAND, MTYPE, NPD PARAMETER (NPD=1) PARAMETER (LML=1) PARAMETER (LMU=2) PARAMETER (LMTYPE=4) PARAMETER (LIPVT=21) C C***FIRST EXECUTABLE STATEMENT SDASLV MTYPE=IWM(LMTYPE) GO TO(100,100,300,400,400),MTYPE C C DENSE MATRIX 100 CALL SGESL(WM(NPD),NEQ,NEQ,IWM(LIPVT),DELTA,0) RETURN C C DUMMY SECTION FOR MTYPE=3 300 CONTINUE RETURN C C BANDED MATRIX 400 MEBAND=2*IWM(LML)+IWM(LMU)+1 CALL SGBSL(WM(NPD),MEBAND,NEQ,IWM(LML), * IWM(LMU),IWM(LIPVT),DELTA,0) RETURN C------END OF SUBROUTINE SDASLV------ END