2
SUBROUTINE DSMMTI (N, B, X, NELT, IA, JA, A, ISYM, RWORK, IWORK)
3
C***BEGIN PROLOGUE DSMMTI
4
C***PURPOSE SLAP MSOLVE for LDU Factorization of Normal Equations.
5
C This routine acts as an interface between the SLAP generic
6
C MMTSLV calling convention and the routine that actually
8
C computes [(LDU)*(LDU)'] B = X.
9
C***LIBRARY SLATEC (SLAP)
11
C***TYPE DOUBLE PRECISION (SSMMTI-S, DSMMTI-D)
12
C***KEYWORDS ITERATIVE PRECONDITION, LINEAR SYSTEM SOLVE, SLAP, SPARSE
13
C***AUTHOR Greenbaum, Anne, (Courant Institute)
14
C Seager, Mark K., (LLNL)
15
C Lawrence Livermore National Laboratory
17
C Livermore, CA 94550 (510) 423-3141
20
C It is assumed that RWORK and IWORK have initialized with
21
C the information required for DSMMI2:
22
C IWORK(1) = Starting location of IL in IWORK.
23
C IWORK(2) = Starting location of JL in IWORK.
24
C IWORK(3) = Starting location of IU in IWORK.
25
C IWORK(4) = Starting location of JU in IWORK.
26
C IWORK(5) = Starting location of L in RWORK.
27
C IWORK(6) = Starting location of DINV in RWORK.
28
C IWORK(7) = Starting location of U in RWORK.
29
C See the DESCRIPTION of DSMMI2 for details.
31
C***ROUTINES CALLED DSMMI2
32
C***REVISION HISTORY (YYMMDD)
34
C 881213 Previous REVISION DATE
35
C 890915 Made changes requested at July 1989 CML Meeting. (MKS)
36
C 890922 Numerous changes to prologue to make closer to SLATEC
38
C 890929 Numerous changes to reduce SP/DP differences. (FNF)
39
C 910411 Prologue converted to Version 4.0 format. (BAB)
40
C 920511 Added complete declaration section. (WRB)
41
C 921113 Corrected C***CATEGORY line. (FNF)
42
C 930701 Updated CATEGORY section. (FNF, WRB)
43
C***END PROLOGUE DSMMTI
44
C .. Scalar Arguments ..
46
C .. Array Arguments ..
47
DOUBLE PRECISION A(NELT), B(N), RWORK(*), X(N)
48
INTEGER IA(NELT), IWORK(10), JA(NELT)
50
INTEGER LOCDIN, LOCIL, LOCIU, LOCJL, LOCJU, LOCL, LOCU
51
C .. External Subroutines ..
53
C***FIRST EXECUTABLE STATEMENT DSMMTI
55
C Pull out the locations of the arrays holding the ILU
66
CALL DSMMI2(N, B, X, IWORK(LOCIL), IWORK(LOCJL),
67
$ RWORK(LOCL), RWORK(LOCDIN), IWORK(LOCIU),
68
$ IWORK(LOCJU), RWORK(LOCU))
71
C------------- LAST LINE OF DSMMTI FOLLOWS ----------------------------