___________________________________________________________________
| |
| CCONTR |
|_________________________________________________________________|
MEANING: CCONTR subroutine
CONTEXT: User-supplied subroutine; replaces a NONMEM dummy routine
This feature is not fully documented. The interested user may be able L
to obtain more information by studying the appropriate sections of L
NONMEM code and previous examples that may be available from advanced L
users. L
USAGE: L
SUBROUTINE CCONTR (ICALL,CNT,P1,P2,IER1,IER2) L
PARAMETER (LVR=30) L
INTEGER ICALL,IER1,IER2 L
DIMENSION P1(*),P2(LVR,*) L
(If double precision is to be used): L
DOUBLE PRECISION CNT,P1,P2 L
(If single precision is to be used): L
REAL CNT,P1,P2 L
The value of LVR must be the same as that found in file SIZES. L
(See sizes). L
DISCUSSION: L
CCONTR is a user-supplied routine for computing the contribution made L
to the objective function from an L2 record. It is used to override L
the NONMEM default objective function. L
CCONTR is required when there are no epsilons or etas and in other L
situations, e.g., with categorical population data. L
NONMEM sometimes produces this error message: L
USER CCONTR ROUTINE NOT USED, BUT THERE ARE NO EPSILONS, L
AND ETAS ARE TO BE ESTIMATED L
This can happen when POSTHOC etas are requested, but the data are L
single-subject data. The user may have included the POSTHOC option in L
error. L
The CONTR routine must contain the following code: L
CALL NCONTR (CNT,IER1,IER2,L2R) L
DOUBLE PRECISION CNT L
If the data is correlated across L2 records (e.g., auto-regressive L
data), CCONTR computes the contribution to the objective function for L
data from an entire individual record. L
Input argument: L
ICALL L
Similar to ICALL for PRED subroutine L
Possible values: 0, 1, 2 L
Output argument: L
CNT L
The conditional contribution to the objective function for this L
L2 record. L
P1 L
P1(i) is the partial derivative of CNT with respect to eta(i). L
P2 L
P2(i,j) is the second partial derivative of CNT with respect to L
eta(i) and eta(j) (for i <= j). L
At ICALL=1, CCONTR sets P2(1,1)=-1 if second derivative values L
are to be used. Otherwise, if cross-gradient values are to be L
used. L
IER1 L
0 - Normal return. L
non-zero - error return. L
IER2 L
0 if error-recovery is to be implemented when IER1 is nonzero. L
1 if NONMEM is to stop when IER1 is nonzero. L
Other inputs L
Other inputs are available to CONTR in NONMEM read-only commons. L
In particular: ROCM0, ROCM4, ROCM5 L
CCONTR is called by NONMEM's NCONTR routine with one level 2 ("L2") L
record after another. If no CCONTR routine is supplied by the user, L
NCONTR calls NONMEM utility CELS ("Conditional ELS"; ELS contribution L
conditional on knowing eta). If no L2 data item is present, each L
level 2 record is a single observation event record. Otherwise, it is L
a group of observation records grouped together by a common value of L
L2. L
REFERENCES: Guide IV Section III.B.4
Go to main index.
Created by nmhelp2html v. 1.0 written by Niclas Jonsson (Modified by AJB 5/2006,11/2007)