

Typical numerical derivatives are (f(t+dt) - f(t))/dt while analytical derivatives are f'(t) so unless f'(t) involves at least twice as much computation as f(t) plus the notoriously computationally expensive division by dt it seems that an analytical derivative would usually be faster than a numerical derivative. Given the pedantic nature of the NONMEM Project Group documentation it seems quite reasonable to extrapolate that the SLOW (undocumented) and the NUMERICAL (documented) options do not have identical meanings.īut I am not clear why you think a numerical derivative might be quicker than an analytical derivative. Thank you for your hardly remembered viewpoint :-) Your historical perspective of the evolution of NONMEM IV to NONMEM V is certainly of interest. How is the SLOW option diffferent from the NUMERICAL option? In PRED first and second analytical derivatives with respect to the etas need to be computed, and second analytical derivatives only when the NUMERICAL option is not used. The magnitude of the largest values depend on the number of significant digits and I have successful convergence and covariance step with eg SIG=3, and that's why I got the feeling that it has something to do with the precision of numerical derivatives of the prediction with respect to the thetas. Suddenly some components of the gradient vector get very large and one or two iterations later the same might happen to other components and even sometimes the problem disappears after a few iterations. I came across the same phenomenon a while ago: CENTERing, mixture model and when the NUMERICAL option is used. The new method could, however, not handle certain cases, i.e. In one of the beta versions of NONMEM V there was an improvement to the FOCE algorithm that made it about three times faster (my own, hardly remebered, benchmarks). The NUMERICAL option requests that the second derivatives for the LAPLACE method are computed numerically, which, I presume, is quicker and sometimes more tractable than analytical second derivatives.Īs I recall it, the SLOW option gives you the version of FOCE that was implemented in NONMEM IV. I don't know if the SLOW method uses numerical derivatives or not but it is perhaps important to point out that the SLOW option on the $ESTIMATION is not the same as the NUMERICAL option. I presume for situations where the model can only be described as ODEs then there might be little choice - but otherwise I can't see the advantage. I would have thought that analytical derivatives would be more accurate and perhaps more stable than numerical - and therefore I am not sure why a potentially slower and perhaps less reliable method is of interest to us? Could you explain where the numerical method might be valuable? With FOCE NONMEM stops due to rounding errors, and before this it does a few iterations with very high gradient (>10^5) and no changes in parameters at all.īased on the discussions I am a little unsure what the value of the slow gradient method is. I have currently one example where FOCE fails to converge whereas FO method converges perfectly. Meanwhile I performed some exploration and found that using SLOW with METHOD=COND did not improve the convergence behaviour in complicated cases. Now I understand that SLOW can hardly have any advantages over the default algorithm.

As you might imagine, the first is often slower than the second. One involves only numerical derivatives, the other involves a combination of analytical and numerical derivatives. There are essentially two ways NONMEM obtains gradients needed for performing the pseudo-Newton minimization. You are correct that this idea is not documented. Nick Holford, Divn Pharmacology & Clinical Pharmacology Just check out what this does in the following files and you will learn exactly what the SLOW GRADIENT method does. If the variable OPNOGR.NE.0 then the SLOW GRADIENT method is used. What do you mean 'nondocumented'? Can't you read FORTRAN? :-)Ĥ6 FORMAT ('0CENTERED METHODS MUST USE SLOW GRADIENT METHOD', One more nondocumented NONMEM option? Can anybody tell something about it? You can use the slow method by giving the SLOW option of the $ESTIMATION record.ĭivision of Pharmacokinetics and Drug TherapyĮ-mail: "Piotrovskij, Vladimir "
Nonmem laplacian slow how to#
Can someone tell me how to use this method and what it means/does?

I get a statement at the end of the report file that says "CENTERED METHODS MUST USE SLOW GRADIENT METHOD WITH MIXTURE MODEL". I am trying to use the CENTERING option of the ESTIMATION statement for a mixture model.
