ssluti.f 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. *DECK SSLUTI
  2. SUBROUTINE SSLUTI (N, B, X, NELT, IA, JA, A, ISYM, RWORK, IWORK)
  3. C***BEGIN PROLOGUE SSLUTI
  4. C***PURPOSE SLAP MTSOLV for LDU Factorization.
  5. C This routine acts as an interface between the SLAP generic
  6. C MTSOLV calling convention and the routine that actually
  7. C -T
  8. C computes (LDU) B = X.
  9. C***LIBRARY SLATEC (SLAP)
  10. C***CATEGORY D2E
  11. C***TYPE SINGLE PRECISION (SSLUTI-S, DSLUTI-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
  16. C PO BOX 808, L-60
  17. C Livermore, CA 94550 (510) 423-3141
  18. C seager@llnl.gov
  19. C***DESCRIPTION
  20. C It is assumed that RWORK and IWORK have initialized with
  21. C the information required for SSLUI4:
  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 SSLUI4 for details.
  30. C***REFERENCES (NONE)
  31. C***ROUTINES CALLED SSLUI4
  32. C***REVISION HISTORY (YYMMDD)
  33. C 871119 DATE WRITTEN
  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
  37. C standard. (FNF)
  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 SSLUTI
  44. C .. Scalar Arguments ..
  45. INTEGER ISYM, N, NELT
  46. C .. Array Arguments ..
  47. REAL A(N), B(N), RWORK(*), X(N)
  48. INTEGER IA(NELT), IWORK(10), JA(NELT)
  49. C .. Local Scalars ..
  50. INTEGER LOCDIN, LOCIL, LOCIU, LOCJL, LOCJU, LOCL, LOCU
  51. C .. External Subroutines ..
  52. EXTERNAL SSLUI4
  53. C***FIRST EXECUTABLE STATEMENT SSLUTI
  54. C
  55. C Pull out the pointers to the L, D and U matrices and call
  56. C the workhorse routine.
  57. C
  58. LOCIL = IWORK(1)
  59. LOCJL = IWORK(2)
  60. LOCIU = IWORK(3)
  61. LOCJU = IWORK(4)
  62. LOCL = IWORK(5)
  63. LOCDIN = IWORK(6)
  64. LOCU = IWORK(7)
  65. C
  66. CALL SSLUI4(N, B, X, IWORK(LOCIL), IWORK(LOCJL), RWORK(LOCL),
  67. $ RWORK(LOCDIN), IWORK(LOCIU), IWORK(LOCJU), RWORK(LOCU))
  68. C
  69. RETURN
  70. C------------- LAST LINE OF SSLUTI FOLLOWS ----------------------------
  71. END