From: Partha Nandy partha.nandy@bms.com
Subject: [NMusers] COEFFICIENT MATRIX IS ALGORITHMICALLY SINGULAR
Date: Wed, August 11, 2004 12:02 pm

Hi All,

While executing the following code, I am getting the Error Message.  Can 
anyone tell me what it means and how can it be avoided?

> OCCURS DURING SEARCH FOR ETA AT INITIAL VALUE, ETA=0
>
> NUMERICAL DIFFICULTIES OBTAINING THE SOLUTION.
>
> THE COEFFICIENT MATRIX IS ALGORITHMICALLY SINGULAR.

I appreciate your help

Kind Regards,
Partha

(Partha Nandy)
Clinical Discovery-BMS

-----------------------------------------------------------------------------------------------------------------------------------
The CTL file:


$PROBLEM 
$INPUT C TIME DV SUBJ ID AMT TYPE EVID MDV CMT RATE TAMT AGE HT WT SA 
SEX RCE
$DATA C:\         IGNORE=C
$SUBROUTINES ADVAN5
$MODEL COMP=(DEPOT1) COMP=(CENTERAL,DEFOBS)
$PK

CLS=THETA(1)*EXP(ETA(1)) ; Induced Clearance
CLI=THETA(2)*EXP(ETA(2)) ; Baseline Clearance
KOUT=THETA(3)*EXP(ETA(3)) ;Turnover rate

LAG=THETA(4)*EXP(ETA(4))

NEWT=TIME-LAG
IF (NEWT.LE.0) NEWT=0

CL2=CLS-((CLS-CLI)*EXP(-KOUT*NEWT))

TVV2=THETA(5)
V2=THETA(5)*EXP(ETA(5))

D1=THETA(6) ;Duration of zero-order input

F1=THETA(7) ; Bioavaialbility factor

K20=CL2/V2
 

S2=V2/1000

$ERROR
FX=0
IF(F.EQ.0) FX=1
W=F+FX

Y=F*(1+ERR(1))+ERR(2)
IPRE=F
IRES=DV-IPRE
IWRE=IRES/W

$THETA
(0,100)      ;THETA-1,CL
(0,500)     ;THETA-2,CL
(0,300)     ;THETA-3,CL
(6,172)      ;lag
(0,800)     ;V
(0,10)      ;D1
(0,0.5,1)  ;F1

$OMEGA .5 .5 .5 .4 0.5

$SIGMA 0.2 5

$ESTIMATION MAXEVAL=9999 PRINT=5 NOABORT METHOD=1 INTERACTION
$COV
$TABLE ONEHEADER NOPRINT FILE=C:\*.tab 
ID TIME DV SUBJ AMT CL2
V2 ETA(1) ETA(2) ETA(3) IPRE K20
D1 F1

$SCATTER PRED VS DV UNIT BY CMT
$SCATTER RES WRES VS PRED TIME ORD0 BY CMT 
$SCAT PRED DV VS TIME BY CMT
$SCATTER IPRE VS DV UNIT BY CMT
_______________________________________________________

From: "Bhattaram, Atul" BhattaramA@cder.fda.gov
Subject: RE:[NMusers] COEFFICIENT MATRIX IS ALGORITHMICALLY SINGULAR
Date: Wed, August 11, 2004 12:13 pm

Hello Partha

Does the model work to your expectation if you use MAXEVAL=0?
Did you get this error message if you use FO instead of FOCE+INTER?


Venkatesh Atul Bhattaram
Pharmacometrics
DPE-1, OCPB
CDER, FDA.
_______________________________________________________

From: Partha Nandy partha.nandy@bms.com
Subject: RE:[NMusers] COEFFICIENT MATRIX IS ALGORITHMICALLY SINGULAR
Date: Wed, August 11, 2004 12:22 pm

Hi Atul,

I get same error with MAXEVAL=0, FO, and FOCE

Thanks
Partha
_______________________________________________________

From: "Bachman, William (MYD)" bachmanw@iconus.com
Subject: [NMusers] COEFFICIENT MATRIX IS ALGORITHMICALLY SINGULAR   
Date: Wed, August 11, 2004 1:42 pm   

Depending on your data and model, it may not be possible to
get a successful Covariance Step to run. Lack of ability to get a
successful coavariance step MAY be an indication of poorly
etermined parameter estimates or not having obtained a global
minimum during parameter estimation. Some things to try:
 
1. try different initial estimate to assure yourself that you
have obtained a global minimum (this is standard modeling procedure
and should always be done regardless of whether you have a
successful covariance step).
 
2. examine your variance estimates, if any are very poorly
estimated (either approaching zero or greater than 100%), consider
removing their respective etas from the model. Removing the zero
ones in particular is often successful in getting a covariance step to run.
 
3. change your model, simpler is usually better if possible.
 
nmconsult@globomaxnm.com
GloboMax LLC
7250 Parkway Drive, Suite 430
Hanover, MD 21076
Voice: (410) 782-2205
FAX: (410) 712-0737
_______________________________________________________

From:"Kazimierz H.Kozlowski" khkoz@czd.waw.pl
Subject: RE:[NMusers] COEFFICIENT MATRIX IS ALGORITHMICALLY SINGULAR
Date: Wed, August 11, 2004 3:31 pm

Dear  Dr  Nandy,

You probably need some simplificate of your codes
i.e. one compartment model I suggest because
it is zero order input and F1 is V1/F as sinkle parameter.

I'm not sure, but F1 factor not act for infusion  and
if you need estimate, it could be S1=V1/F1/1000
but simultaneous oral and i.v. data are need.

It is good to avoid 0 values for clearaces and rate constant.

Your code I see as the above:

sincerely yours

Kazimierz H. Kozlowski
Laboratory of Pharmacokinetics
The Childrens Memorial Health Institute
Warsaw, Poland


$PROBLEM $INPUT C TIME DV SUBJ ID AMT TYPE EVID MDV CMT RATE TAMT AGE HT 
WT SA SEX RCE
$DATA C:\         IGNORE=C
$SUBROUTINES ADVAN5
$MODEL COMP=(CENTERAL,DEFDOSE DEFOBS)
$PK

CLS=THETA(1)*EXP(ETA(1)) ; Induced Clearance
CLI=THETA(2)*EXP(ETA(2)) ; Baseline Clearance
KOUT=THETA(3)*EXP(ETA(3)); Turnover rate

LAG=THETA(4)*EXP(ETA(4))

NEWT=TIME-LAG
IF (NEWT.LE.0) NEWT=0

CL10=CLS-((CLS-CLI)*EXP(-KOUT*NEWT))

TVV1=THETA(5)
V1=TVV1*EXP(ETA(5))

D1=THETA(6) ;Duration of zero-order input
;==========================================================================
;F1=THETA(7) ; Bioavaialbility factor
;probably F1 is not active for infusion input (please check)
===========================================================================

K10=CL10/V1
S1=V1/1000

;===========================================================================
;S1=V2/F1/1000 ;probably F1 is not active for infusion input (please check)
;or
;S1=V2*F1/1000 ;probably F1 is not active for infusion input (please check)
;===========================================================================

$ERROR
FX=0
IF(F.EQ.0) FX=1
W=F+FX

Y=F*(1+ERR(1))+ERR(2)
IPRE=F
IRES=DV-IPRE
IWRE=IRES/W

$THETA
(1,100)     ;CLS  - clearance after induction
(1,500)     ;CLI  - clearance before induction (base-line clearance)
(1,300)     ;KOUT - induction constant
(6,172)     ;LAG  - lag-time for induction of CL10
(1,800)     ;V1/F1- volume of distribution
(1,10)      ;D1   - duration of zero-order absorption
;(0,0.5,1)   ;F1   - bioavailability factor - could be estimated with 
additional
            ;iv data

$OMEGA .5 .5 .5 .4 0.5

$SIGMA 0.2 5

$ESTIMATION MAXEVAL=9999 PRINT=5 NOABORT METHOD=1 INTERACTION
$COV
$TABLE ONEHEADER NOPRINT FILE=C:\*.tab ID TIME DV SUBJ AMT CL10
V1 ETA(1) ETA(2) ETA(3) IPRE K10
D1                                                                       
         ; F1 ==========================

$SCATTER PRED VS DV UNIT BY CMT
$SCATTER RES WRES VS PRED TIME ORD0 BY CMT $SCAT PRED DV VS TIME BY CMT
$SCATTER IPRE VS DV UNIT BY CMT

_______________________________________________________

From: "Xiao, Alan" alan_xiao@merck.com
Subject: RE:[NMusers] COEFFICIENT MATRIX IS ALGORITHMICALLY SINGULAR
Date: Wed, August 11, 2004 4:09 pm
 
Partha,

Do you really have sufficient informative data to distinguish ETA1, 2, and
3? Otherwise, you might want to simplify them.

Alan
_______________________________________________________

From:"Kowalski, Ken" Ken.Kowalski@pfizer.com
Subject: RE:[NMusers] COEFFICIENT MATRIX IS ALGORITHMICALLY SINGULAR
Date: Wed, August 11, 2004 5:19 pm

Partha,

I agree with Alan.  You might want to have just one ETA on your CL2
expression.  For example get rid of the ETAs on CLI, CLS, and KOUT and
substitute the following for your CL2 expression:

TVCL2=CLS-((CLS-CLI)*EXP(-KOUT*NEWT))
CL2=TVCL2*EXP(ETA(1))

Ken
_______________________________________________________

From: Luann Phillips luann.phillips@cognigencorp.com
Subject: RE:[NMusers] COEFFICIENT MATRIX IS ALGORITHMICALLY SINGULAR  
Date: Wed, August 11, 2004 6:27 pm   

Partha,

Do you have IV and oral data? or do you have a zero-order input for oral
data only?
Are any of the gradients zero?

If you have IV and oral data, the oral dose should have CMT=1 and the IV
dose should have CMT=2 and the CTL stream should have D2=THETA(6)
instead of D1=THETA(6). If you only have oral data then F1 is not
identifiable.

A few other things to note:

> FX=0
> IF(F.EQ.0) FX=1
> W=F+FX

This code will alter the OBJ function value if you obtain F=0 on an
observation record. F=0 generally happens on the first dose records, so
the following code will prevent division by zero for the dose records
and not alter your OBJ function. 

FX=0
IF(AMT.NE.0) FX=1
W=F+FX

For further details see:
http://www.cognigencorp.com/nonmem/nm/99feb072003.html

It should also be noted that W=F is the weight for a constant CV error
model only (Y=F*(1+EPS(1)). For an additive error model (Y=F+EPS(1)),
W=1. For an additive + constant CV error model (Y=F*(1+EPS(1))+EPS(2))
there are 2 ways to code for W:

(1) 
IPRED=F
W=(F**2+THETA(N)**2)
IRES=DV-IPRED
IWRES=IRES/W
Y=IPRED+W*EPS(1)

THETA(N) represents the ratio of sqrt(sigma2/sigma1 in the rpt file from
original code) in the original code and EPS(1) represents EPS(1) in the
original code.

(2)
IPRED=F
W=(1+F**2*THETA(N)**2)
IRES=DV-IPRED
IWRES=IRES/W
Y=IPRED+W*EPS(1)

THETA(N) represents the ratio of sqrt(sigma1/sigma2 in the rpt file from
original code) in the original model and EPS(1) represents EPS(2) in the
original code.

You might also want to consider the fact that TIME is not continuous
within $PK. Therefore, you might want to implement this model using a
"Change Point" model and ADVAN6. This would allow induction to remain
off until an estimated time (ALAG#) and by putting the CL equation in
the $DES block time will be continuous. This will also allow the
function to differiniate smoothly at the time induction starts.

For information about 'change point' models see my posting within:
http://www.cognigencorp.com/nonmem/nm/98may312002.html
In your case, you would need only one dummy dose compartment to turn on
the induction (addl=0) with an input of 1 at time=0.

Regards,

Luann
_______________________________________________________