1 SUBROUTINE ddajac (NEQ, X, Y, YPRIME, DELTA, CJ, H,
2 + ier, wt, e, wm, iwm, res, ires, uround, jac, rpar,
59 INTEGER neq, ier, iwm(*), ires, ipar(*), ntemp
61 *
x, y(*), yprime(*), delta(*), cj, h, wt(*), e(*), wm(*),
65 EXTERNAL dgbtrf, dgetrf
67 INTEGER i, i1, i2, ii, ipsave, isave, j, k, l, lenpd, lipvt,
68 * lml, lmtype, lmu, mba, mband, meb1, meband, msave, mtype, n,
70 DOUBLE PRECISION del, delinv, squr, ypsave, ysave
82 go to(100,200,300,400,500),mtype
89 CALL jac(
x,y,yprime,wm(npd),cj,rpar,ipar)
104 yprime(i)=yprime(i)+cj*
del
105 CALL res(
x,y,yprime,e,ires,rpar,ipar)
106 IF (ires .LT. 0)
RETURN
109 220 wm(nrow+l)=(e(l)-delta(l))*delinv
117 230 CALL dgetrf( neq, neq, wm(npd), neq, iwm(lipvt), ier)
126 400 lenpd=(2*iwm(lml)+iwm(lmu)+1)*neq
128 410 wm(npdm1+i)=0.0d0
129 CALL jac(
x,y,yprime,wm(npd),cj,rpar,ipar)
130 meband=2*iwm(lml)+iwm(lmu)+1
135 500 mband=iwm(lml)+iwm(lmu)+1
137 meband=mband+iwm(lml)
148 wm(ipsave+k)=yprime(n)
153 510 yprime(n)=yprime(n)+cj*
del
154 CALL res(
x,y,yprime,e,ires,rpar,ipar)
155 IF (ires .LT. 0)
RETURN
159 yprime(n)=wm(ipsave+k)
164 i1=
max(1,(n-iwm(lmu)))
165 i2=
min(neq,(n+iwm(lml)))
166 ii=n*meb1-iwm(lml)+npdm1
168 520 wm(ii+i)=(e(i)-delta(i))*delinv
174 550 CALL dgbtrf(neq, neq, iwm(lml), iwm(lmu), wm(npd), meband,