COEFFICIENT MATRIX IS ALGORITHMICALLY SINGULAR

8 messages 7 people Latest: Aug 11, 2004

COEFFICIENT MATRIX IS ALGORITHMICALLY SINGULAR

From: Partha Nandy Date: August 11, 2004 technical
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

COEFFICIENT MATRIX IS ALGORITHMICALLY SINGULAR

From: William Bachman Date: August 11, 2004 technical
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

RE: COEFFICIENT MATRIX IS ALGORITHMICALLY SINGULAR

From: Alan Xiao Date: August 11, 2004 technical
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 _______________________________________________________