|
|
| version 1.132, 2009/07/06 08:22:05 | version 1.133, 2009/07/06 10:21:25 |
|---|---|
| Line 1 | Line 1 |
| /* $Id$ | /* $Id$ |
| $State$ | $State$ |
| $Log$ | $Log$ |
| Revision 1.133 2009/07/06 10:21:25 brouard | |
| just nforces | |
| Revision 1.132 2009/07/06 08:22:05 brouard | Revision 1.132 2009/07/06 08:22:05 brouard |
| Many tings | Many tings |
| Line 171 | Line 174 |
| The same imach parameter file can be used but the option for mle should be -3. | The same imach parameter file can be used but the option for mle should be -3. |
| Agnès, who wrote this part of the code, tried to keep most of the | Agnès, who wrote this part of the code, tried to keep most of the |
| former routines in order to include the new code within the former code. | former routines in order to include the new code within the former code. |
| The output is very simple: only an estimate of the intercept and of | The output is very simple: only an estimate of the intercept and of |
| Line 304 | Line 307 |
| Also this programme outputs the covariance matrix of the parameters but also | Also this programme outputs the covariance matrix of the parameters but also |
| of the life expectancies. It also computes the period (stable) prevalence. | of the life expectancies. It also computes the period (stable) prevalence. |
| Authors: Nicolas Brouard (brouard@ined.fr) and Agnès Lièvre (lievre@ined.fr). | Authors: Nicolas Brouard (brouard@ined.fr) and Agnès Lièvre (lievre@ined.fr). |
| Institut national d'études démographiques, Paris. | Institut national d'études démographiques, Paris. |
| This software have been partly granted by Euro-REVES, a concerted action | This software have been partly granted by Euro-REVES, a concerted action |
| from the European Union. | from the European Union. |
| It is copyrighted identically to a GNU software product, ie programme and | It is copyrighted identically to a GNU software product, ie programme and |
| Line 403 extern int errno; | Line 406 extern int errno; |
| /* $Id$ */ | /* $Id$ */ |
| /* $State$ */ | /* $State$ */ |
| char version[]="Imach version 0.98k, June 2006, INED-EUROREVES-Institut de longevite "; | char version[]="Imach version 0.98k, June 2009, INED-EUROREVES-Institut de longevite "; |
| char fullversion[]="$Revision$ $Date$"; | char fullversion[]="$Revision$ $Date$"; |
| char strstart[80]; | char strstart[80]; |
| char optionfilext[10], optionfilefiname[FILENAMELENGTH]; | char optionfilext[10], optionfilefiname[FILENAMELENGTH]; |
| int erreur=0, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings */ | int erreur=0, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings */ |
| int nvar=0; | int nvar=0, nforce=0; /* Number of variables, number of forces */ |
| int cptcovn=0, cptcovage=0, cptcoveff=0,cptcov=0; /* Number of covariates, of covariates with '*age' */ | int cptcovn=0, cptcovage=0, cptcoveff=0,cptcov=0; /* Number of covariates, of covariates with '*age' */ |
| int npar=NPARMAX; | int npar=NPARMAX; |
| int nlstate=2; /* Number of live states */ | int nlstate=2; /* Number of live states */ |
| Line 4660 int main(int argc, char *argv[]) | Line 4663 int main(int argc, char *argv[]) |
| /* where is ncovprod ?*/ | /* where is ncovprod ?*/ |
| ncovmodel=2+cptcovn; /*Number of variables = cptcovn + intercept + age : v1+v2+v3+v2*v4+v5*age makes 5+2=7*/ | ncovmodel=2+cptcovn; /*Number of variables = cptcovn + intercept + age : v1+v2+v3+v2*v4+v5*age makes 5+2=7*/ |
| nvar=ncovmodel-1; /* Suppressing age as a basic covariate */ | nvar=ncovmodel-1; /* Suppressing age as a basic covariate */ |
| nforces= (nlstate+ndeath-1)*nlstate; /* Number of forces ij from state i to j */ | nforce= (nlstate+ndeath-1)*nlstate; /* Number of forces ij from state i to j */ |
| npar= (nlstate+ndeath-1)*nlstate*ncovmodel; /* Number of parameters like aij*/ | npar= nforce*ncovmodel; /* Number of parameters like aij*/ |
| if(npar >MAXPARM || nlstate >NLSTATEMAX || ndeath >NDEATHMAX || ncovmodel>NCOVMAX){ | if(npar >MAXPARM || nlstate >NLSTATEMAX || ndeath >NDEATHMAX || ncovmodel>NCOVMAX){ |
| printf("Too complex model for current IMaCh: npar=(nlstate+ndeath-1)*nlstate*ncovmodel=%d >= %d(MAXPARM) or nlstate=%d >= %d(NLSTATEMAX) or ndeath=%d >= %d(NDEATHMAX) or ncovmodel=(k+age+#of+signs)=%d(NCOVMAX) >= %d\n",npar, MAXPARM, nlstate, NLSTATEMAX, ndeath, NDEATHMAX, ncovmodel, NCOVMAX); | printf("Too complex model for current IMaCh: npar=(nlstate+ndeath-1)*nlstate*ncovmodel=%d >= %d(MAXPARM) or nlstate=%d >= %d(NLSTATEMAX) or ndeath=%d >= %d(NDEATHMAX) or ncovmodel=(k+age+#of+signs)=%d(NCOVMAX) >= %d\n",npar, MAXPARM, nlstate, NLSTATEMAX, ndeath, NDEATHMAX, ncovmodel, NCOVMAX); |
| fprintf(ficlog,"Too complex model for current IMaCh: %d >=%d(MAXPARM) or %d >=%d(NLSTATEMAX) or %d >=%d(NDEATHMAX) or %d(NCOVMAX) >=%d\n",npar, MAXPARM, nlstate, NLSTATEMAX, ndeath, NDEATHMAX, ncovmodel, NCOVMAX); | fprintf(ficlog,"Too complex model for current IMaCh: %d >=%d(MAXPARM) or %d >=%d(NLSTATEMAX) or %d >=%d(NDEATHMAX) or %d(NCOVMAX) >=%d\n",npar, MAXPARM, nlstate, NLSTATEMAX, ndeath, NDEATHMAX, ncovmodel, NCOVMAX); |