5 SUBROUTINE dslvk (NEQ, Y, TN, YPRIME, SAVR, X, EWT, WM, IWM,
6 * RES, IRES, PSOL, IERSL, CJ, EPLIN, SQRTN, RSQRTN, RHOK,
43 INTEGER NEQ, IWM, IRES, IERSL, IPAR
44 DOUBLE PRECISION Y, TN, YPRIME, SAVR, X, EWT, WM, CJ, EPLIN,
45 1 sqrtn, rsqrtn, rhok, rpar
46 dimension y(*), yprime(*), savr(*), x(*), ewt(*),
47 1 wm(*), iwm(*), rpar(*), ipar(*)
49 INTEGER IFLAG, IRST, NRSTS, NRMAX, LR, LDL, LHES, LGMR, LQ, LV,
50 1 LWK, LZ, MAXLP1, NPSL
51 INTEGER NLI, NPS, NCFL, NRE, MAXL, KMP, MITER
54 parameter(lnre=12, lncfl=16, lnli=20, lnps=21)
55 parameter(llocwp=29, llciwp=30)
56 parameter(lmiter=23, lmaxl=24, lkmp=25, lnrmax=26)
85 lq = lhes + maxl*maxlp1
87 ldl = lwk + min0(1,maxl-kmp)*neq
89 CALL dscal (neq, rsqrtn, ewt, 1)
90 CALL dcopy (neq, x, 1, wm(lr), 1)
107 IF (nrsts .GT. 0)
CALL dcopy (neq, wm(ldl), 1, wm(lr),1)
108 CALL dspigm (neq, tn, y, yprime, savr, wm(lr), ewt, maxl, maxlp1,
109 1 kmp, eplin, cj, res, ires, nres, psol, npsl, wm(lz), wm(lv),
110 2 wm(lhes), wm(lq), lgmr, wm(lwp), iwm(liwp), wm(lwk),
111 3 wm(ldl), rhok, iflag, irst, nrsts, rpar, ipar)
116 120 x(i) = x(i) + wm(lz+i-1)
117 IF ((iflag .EQ. 1) .AND. (nrsts .LT. nrmax) .AND. (ires .EQ. 0))
123 IF (ires .LT. 0)
THEN
125 ELSE IF (iflag .NE. 0)
THEN
127 IF (iflag .GT. 0) iersl = 1
128 IF (iflag .LT. 0) iersl = -1
137 CALL dscal (neq, sqrtn, ewt, 1)
subroutine dslvk(NEQ, Y, TN, YPRIME, SAVR, X, EWT, WM, IWM, RES, IRES, PSOL, IERSL, CJ, EPLIN, SQRTN, RSQRTN, RHOK, RPAR, IPAR)
subroutine dspigm(NEQ, TN, Y, YPRIME, SAVR, R, WGHT, MAXL, MAXLP1, KMP, EPLIN, CJ, RES, IRES, NRE, PSOL, NPSL, Z, V, HES, Q, LGMR, WP, IWP, WK, DL, RHOK, IFLAG, IRST, NRSTS, RPAR, IPAR)