GNU Octave  9.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
dslvd.f
Go to the documentation of this file.
1 C Work performed under the auspices of the U.S. Department of Energy
2 C by Lawrence Livermore National Laboratory under contract number
3 C W-7405-Eng-48.
4 C
5  SUBROUTINE dslvd(NEQ,DELTA,WM,IWM)
6 C
7 C***BEGIN PROLOGUE DSLVD
8 C***REFER TO DDASPK
9 C***DATE WRITTEN 890101 (YYMMDD)
10 C***REVISION DATE 900926 (YYMMDD)
11 C***REVISION DATE 940701 (YYMMDD) (new LIPVT)
12 C
13 C-----------------------------------------------------------------------
14 C***DESCRIPTION
15 C
16 C This routine manages the solution of the linear
17 C system arising in the Newton iteration.
18 C Real matrix information and real temporary storage
19 C is stored in the array WM.
20 C Integer matrix information is stored in the array IWM.
21 C For a dense matrix, the LAPACK routine DGETRS is called.
22 C For a banded matrix, the LAPACK routine DGBTRS is called.
23 C-----------------------------------------------------------------------
24 C***ROUTINES CALLED
25 C DGETRS, DGBTRS
26 C
27 C***END PROLOGUE DSLVD
28 C
29 C
30  IMPLICIT DOUBLE PRECISION(a-h,o-z)
31  dimension delta(*),wm(*),iwm(*)
32 C
33  parameter(lml=1, lmu=2, lmtype=4, llciwp=30)
34 C
35  lipvt = iwm(llciwp)
36  mtype=iwm(lmtype)
37  GO TO(100,100,300,400,400),mtype
38 C
39 C Dense matrix.
40 C
41 100 CALL dgetrs('N', neq, 1, wm, neq, iwm(lipvt), delta, neq, inlpck)
42  RETURN
43 C
44 C Dummy section for MTYPE=3.
45 C
46 300 CONTINUE
47  RETURN
48 C
49 C Banded matrix.
50 C
51 400 meband=2*iwm(lml)+iwm(lmu)+1
52  CALL dgbtrs('N', neq, iwm(lml), iwm(lmu), 1, wm, meband,
53  * iwm(lipvt), delta, neq, inlpck)
54  RETURN
55 C
56 C------END OF SUBROUTINE DSLVD------------------------------------------
57  END
subroutine dslvd(NEQ, DELTA, WM, IWM)
Definition: dslvd.f:6