diff libcruft/dassl/ddaslv.f @ 4329:d53c33d93440

[project @ 2003-02-18 20:00:48 by jwe]
author jwe
date Tue, 18 Feb 2003 20:08:20 +0000
parents 30c606bec7a8
children db5e0814277a
line wrap: on
line diff
--- a/libcruft/dassl/ddaslv.f	Sun Feb 16 04:29:00 2003 +0000
+++ b/libcruft/dassl/ddaslv.f	Tue Feb 18 20:08:20 2003 +0000
@@ -13,26 +13,27 @@
 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     FOR A DENSE MATRIX, THE LAPACK ROUTINE
+C     DGETRS IS CALLED.
+C     FOR A BANDED MATRIX,THE LAPACK ROUTINE
+C     DGBTRS IS CALLED.
 C-----------------------------------------------------------------------
-C***ROUTINES CALLED  DGBSL, DGESL
+C***ROUTINES CALLED  DGBTRS, DGETRF
 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   020204  Convert to use LAPACK
 C***END PROLOGUE  DDASLV
 C
       INTEGER  NEQ, IWM(*)
       DOUBLE PRECISION  DELTA(*), WM(*)
 C
-      EXTERNAL  DGBSL, DGESL
+      EXTERNAL  DGBTRS, DGETRS
 C
-      INTEGER  LIPVT, LML, LMU, LMTYPE, MEBAND, MTYPE, NPD
+      INTEGER  LIPVT, LML, LMU, LMTYPE, MEBAND, MTYPE, NPD, INLAPACK
       PARAMETER (NPD=1)
       PARAMETER (LML=1)
       PARAMETER (LMU=2)
@@ -44,7 +45,8 @@
       GO TO(100,100,300,400,400),MTYPE
 C
 C     DENSE MATRIX
-100   CALL DGESL(WM(NPD),NEQ,NEQ,IWM(LIPVT),DELTA,0)
+100   CALL DGETRS('N', NEQ, 1, WM(NPD), NEQ, IWM(LIPVT), DELTA, NEQ, 
+     *     INLPCK)
       RETURN
 C
 C     DUMMY SECTION FOR MTYPE=3
@@ -53,8 +55,8 @@
 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)
+      CALL DGBTRS ('N', NEQ, IWM(LML), IWM(LMU), 1, WM(NPD), MEBAND, 
+     *     IWM(LIPVT), DELTA, NEQ, INLPCK);
       RETURN
 C------END OF SUBROUTINE DDASLV------
       END