home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Geek Gadgets 1
/
ADE-1.bin
/
ade-dist
/
octave-1.1.1p1-src.tgz
/
tar.out
/
fsf
/
octave
/
libcruft
/
dassl
/
ddaslv.f
< prev
next >
Wrap
Text File
|
1996-09-28
|
2KB
|
61 lines
SUBROUTINE DDASLV (NEQ, DELTA, WM, IWM)
C***BEGIN PROLOGUE DDASLV
C***SUBSIDIARY
C***PURPOSE Linear system solver for DDASSL.
C***LIBRARY SLATEC (DASSL)
C***TYPE DOUBLE 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 DGESL IS CALLED.
C FOR A BANDED MATRIX,THE LINPACK ROUTINE
C DGBSL IS CALLED.
C-----------------------------------------------------------------------
C***ROUTINES CALLED DGBSL, DGESL
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 DDASLV
C
INTEGER NEQ, IWM(*)
DOUBLE PRECISION DELTA(*), WM(*)
C
EXTERNAL DGBSL, DGESL
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 DDASLV
MTYPE=IWM(LMTYPE)
GO TO(100,100,300,400,400),MTYPE
C
C DENSE MATRIX
100 CALL DGESL(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 DGBSL(WM(NPD),MEBAND,NEQ,IWM(LML),
* IWM(LMU),IWM(LIPVT),DELTA,0)
RETURN
C------END OF SUBROUTINE DDASLV------
END