GNU Octave  3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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