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)
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
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)
may be zero for pure relative error test tem the relative tolerance must be greater than or equal to
OCTAVE_EXPORT octave_value_list etc The functions then dimension(columns)
double precision function ddwnrm(NEQ, V, RWT, RPAR, IPAR)