5 SUBROUTINE dnsk(X,Y,YPRIME,NEQ,RES,PSOL,WT,RPAR,IPAR,
6 * SAVR,DELTA,E,WM,IWM,CJ,SQRTN,RSQRTN,EPLIN,EPCON,
7 * S,CONFAC,TOLNEW,MULDEL,MAXIT,IRES,IERSL,IERNEW)
93 IMPLICIT DOUBLE PRECISION(a-h,o-z)
94 dimension y(*),yprime(*),wt(*),delta(*),e(*),savr(*)
98 parameter(lnni=19, lnre=12)
109 iwm(lnni) = iwm(lnni) + 1
113 IF (muldel .EQ. 1)
THEN 115 320 delta(i) = delta(i) * confac
121 340 savr(i) = delta(i)
125 CALL dslvk (neq, y, x, yprime, savr, delta, wt, wm, iwm,
126 * res, ires, psol, iersl, cj, eplin, sqrtn, rsqrtn, rhok,
128 IF (ires .NE. 0 .OR. iersl .NE. 0)
GO TO 380
133 y(i) = y(i) - delta(i)
134 e(i) = e(i) - delta(i)
135 360 yprime(i) = yprime(i) - cj*delta(i)
139 delnrm = ddwnrm(neq,delta,wt,rpar,ipar)
140 IF (delnrm .LE. tolnew)
GO TO 370
144 rate = (delnrm/oldnrm)**(1.0d0/m)
145 IF (rate .GT. 0.9d0)
GO TO 380
146 s = rate/(1.0d0 - rate)
148 IF (s*delnrm .LE. epcon)
GO TO 370
154 IF (m .GE. maxit)
GO TO 380
158 iwm(lnre) = iwm(lnre) + 1
159 CALL res(x,y,yprime,cj,delta,ires,rpar,ipar)
160 IF (ires .LT. 0)
GO TO 380
170 IF (ires .LE. -2 .OR. iersl .LT. 0)
THEN OCTAVE_EXPORT octave_value_list etc The functions then dimension(columns)