5 SUBROUTINE dnsd(X,Y,YPRIME,NEQ,RES,PDUM,WT,RPAR,IPAR,
6 * dumsvr,delta,e,wm,iwm,cj,dums,dumr,dume,epcon,
7 * s,confac,tolnew,muldel,maxit,ires,idum,iernew)
86 IMPLICIT DOUBLE PRECISION(a-h,o-z)
87 dimension y(*),yprime(*),wt(*),delta(*),e(*)
91 parameter(lnre=12, lnni=19)
102 iwm(lnni) = iwm(lnni) + 1
106 IF (muldel .EQ. 1)
THEN
108 320 delta(i) = delta(i) * confac
114 CALL
dslvd(neq,delta,wm,iwm)
121 340 yprime(i)=yprime(i)-cj*delta(i)
125 delnrm=
ddwnrm(neq,delta,wt,rpar,ipar)
126 IF (delnrm .LE. tolnew) go to 370
130 rate = (delnrm/oldnrm)**(1.0d0/m)
131 IF (rate .GT. 0.9d0) go to 380
132 s = rate/(1.0d0 - rate)
134 IF (s*delnrm .LE. epcon) go to 370
142 IF(m.GE.maxit) go to 380
147 iwm(lnre)=iwm(lnre)+1
148 CALL res(x,y,yprime,cj,delta,ires,rpar,ipar)
149 IF (ires .LT. 0) go to 380
159 IF (ires .LE. -2 )
THEN
std::string dimension(void) const
subroutine dnsd(X, Y, YPRIME, NEQ, RES, PDUM, WT, RPAR, IPAR, DUMSVR, DELTA, E, WM, IWM, CJ, DUMS, DUMR, DUME, EPCON, S, CONFAC, TOLNEW, MULDEL, MAXIT, IRES, IDUM, IERNEW)
subroutine dslvd(NEQ, DELTA, WM, IWM)
double precision function ddwnrm(NEQ, V, RWT, RPAR, IPAR)