5 SUBROUTINE dnsik(X,Y,YPRIME,NEQ,ICOPT,ID,RES,PSOL,WT,RPAR,IPAR,
6 * SAVR,DELTA,R,YIC,YPIC,PWK,WM,IWM,CJ,SQRTN,RSQRTN,EPLIN,EPCON,
7 * RATEMX,MAXIT,STPTOL,ICNFLG,ICNSTR,IERNEW)
85 IMPLICIT DOUBLE PRECISION(a-h,o-z)
86 dimension y(*),yprime(*),wt(*),id(*),delta(*),r(*),savr(*)
87 dimension yic(*),ypic(*),pwk(*),wm(*),iwm(*), rpar(*),ipar(*)
91 parameter(lnni=19, lnps=21, llocwp=29, llciwp=30)
92 parameter(llsoff=35, lstol=14)
106 CALL dcopy (neq, delta, 1, savr, 1)
110 CALL dfnrmk (neq, y, x, yprime, savr, r, cj, wt, sqrtn, rsqrtn,
111 * res, ires, psol, 1, ier, fnrm, eplin, wm(lwp), iwm(liwp),
113 iwm(lnps) = iwm(lnps) + 1
121 IF (fnrm .LE. epcon)
RETURN 126 iwm(lnni) = iwm(lnni) + 1
130 CALL dslvk (neq, y, x, yprime, savr, delta, wt, wm, iwm,
131 * res, ires, psol, iersl, cj, eplin, sqrtn, rsqrtn, rhok,
133 IF (ires .NE. 0 .OR. iersl .NE. 0)
GO TO 390
137 delnrm = ddwnrm(neq,delta,wt,rpar,ipar)
138 IF (delnrm .EQ. 0.0d0)
RETURN 144 CALL dlinsk (neq, y, x, yprime, savr, cj, delta, delnrm, wt,
145 * sqrtn, rsqrtn, lsoff, stptol, iret, res, ires, psol, wm, iwm,
146 * rhok, fnrm, icopt, id, wm(lwp), iwm(liwp), r, eplin, yic, ypic,
147 * pwk, icnflg, icnstr, rlx, rpar, ipar)
152 IF (iret .NE. 0)
GO TO 390
156 IF (fnrm .LE. epcon)
RETURN 162 IF(m .GE. maxit)
GO TO 380
166 CALL dcopy (neq, savr, 1, delta, 1)
171 380
IF (rate .LE. ratemx)
THEN 178 390
IF (ires .LE. -2 .OR. iersl .LT. 0)
THEN 182 IF (ires .EQ. 0 .AND. iersl .EQ. 1 .AND. m .GE. 2
183 1 .AND. rate .LT. 1.0d0) iernew = 1
OCTAVE_EXPORT octave_value_list etc The functions then dimension(columns)