+--------------------------------------------------------------------+
| |
| SIMEPS |
| |
+--------------------------------------------------------------------+
MEANING: SIMEPS subroutine
CONTEXT: NONMEM utility routine
USAGE:
USE SIZES, ONLY: DPSIZE,LVR
REAL(KIND=DPSIZE):: EPS(LVR)
CALL SIMEPS (EPS)
DISCUSSION:
The NONMEM utility routine SIMEPS can be called by PRED during the
simulation step, to obtain simulated epsilon values. It may be called
only when ICALL=4.
Output argument:
EPS An array into which SIMEPS stores simulated epsilon values
EPS(1), EPS(2), .... The dimension of the array may be smaller
than the maximum, e.g., it may equal the number of epsilons in
the problem.
Simulated epsilon values arise from a multivariate normal pseudo-ran-
dom distribution with mean 0 and variance-covariance as specified for
SIGMA. With different calls to SIMEPS with different level-two
records, new and different simulated epsilon values are obtained.
(A level-two record has the same value of L2 and may also be called an |
L2 record.) (See L2).
(When the L2 data item is not defined, all data records are level-two
records, and so different data records are different level-two
records.) By default, with different calls to SIMEPS with the same
level-two record, the same simulated epsilon values are obtained -
those obtained at the first call with the record. (There is an
advanced feature whereby records are "repeated"
(See Repetition_Variables),
and when records of a level-two record are being repeated, with dif-
ferent calls to SIMEPS with the same level-two record, the values
obtained are the last values stored in these variables when the record
was previously passed to PRED.)
If, though, the NEW option is used with the first random source on the
$SIMULATION record, then each time SIMEPS is called (with the same or
different level-two record), new and different values are obtained.
With any particular call to SIMEPS, the effect of the NEW option can,
though, be overridden;
(See Simulation:_IETAOL_IEPSOL)
So that simple simulation can be easily implemented with abbreviated
code, values of epsilon are obtained by calls to SIMEPS occurring in
the generated subroutine. When the data are population data and the
Simulation Step is implemented, SIMEPS is called once with every call
to PRED (or once at every call to ERROR if PREDPP is used). These
calls are implemented so that even if, initially, the Simulation Step
is not implemented, the NONMEM executable resulting from using an
abbreviated code for PRED (or for ERROR if PREDPP is used) can be
reused with a run implementing the Simulation Step.
Additional calls to SIMEPS may appear in simulation blocks of $PRED
and $ERROR abbreviated code.
There is an analogous routine SIMETA. (See simeta).
REFERENCES: Guide IV Section III.B.13
REFERENCES: Guide V Section 12.4.8
REFERENCES: Guide VI Section IV.B.1, IV.B.2, Figure 10
Go to main index.
Created by nmhelp2html v. 1.0 written by Niclas Jonsson (Modified by AJB 5/2006,11/2007,10/2012)