From:"Stephen Duffull" 
Subject:[NMusers] Changing signifocant digits
Date:Mon, 22 Jul 2002 12:13:33 +1000


I have a general question.  I recall hearing that changing the number of
significant digits somehow changes the minimisation route.  I do not
understand how this is so.  Oddly I have noticed that changing sig digits
from say 3 to 4 can result in a successful minimisation for 4 whereas for 3
digits it did not.

Any comments would be appreciated.


Stephen Duffull
School of Pharmacy
University of Queensland
Brisbane 4072
Tel +61 7 3365 8808
Fax +61 7 3365 1688

Subject:RE: [NMusers] Changing signifocant digits
Date:Mon, 22 Jul 2002 09:31:33 +0200

It is quite often I observe the same behaviour. The common practice is (or has to be) rerunning
the same problem with various SIGDIG (say, 3, 4 and 5) and select the best result. Note that
with diff eq ADVANs TOL needs to be changed accordingly. Should be not less than SIGDIG+2.

Best regards, 

From:Leonid Gibiansky 
Subject:Re: [NMusers] Changing significant digits
Date:Mon, 22 Jul 2002 08:39:34 -0400

Hi Steve,
My understanding is that there are some internal iteration loops that
NONMEM runs until some precision is obtained. This precision is controlled
(in addition to something else) by the number of significant digits
required for the computations. Therefor, these loops stop at different
points depending on the number of significant digits requested. Since the
problem is highly non-linear, even small changes at each step may produce
visible changes in the output. My impression is that there are several
different places where the number of significant digits is used: one for
internal convergences, and another one to estimate of the number of
significant digits in the resulting parameter estimates. Sometimes the
modeling process looks like hunting: when you request 3 significant digits,
the problems stops with the message that you got only 2.5 digits.
Requesting 4 results in 3.5. If you ask for 7, you get 6.3. I am not  sure
whether it is possible, but it would be helpful to have 2 parameters: one
for internal computations and one for the final parameter estimates. Then
you would be able to request all intermediate  computations done with 5
significant digits, but would accept final output with 4 or 3 digits. Then
this "hunting process" would result in convergence rather than
 I usually do the following: if changes in requested significant digits
(the hunt process described above) does not lead to any significant changes
in the objective function (no more than 2-3-4 units) or in the parameter
values (say, no more than 3-4%) then I view this as a technical issue that
can be resolved by changing the initial values or even accepting the run if
the number of digits in the result is more than 3. Alternatively, if
changes in significant digits result in large changes of the OF or
parameters, then the model is unstable and has to be corrected.