]> henry.ined.fr Git - .git/commitdiff
just nforces
authorN. Brouard <brouard@ined.fr>
Mon, 6 Jul 2009 10:21:25 +0000 (10:21 +0000)
committerN. Brouard <brouard@ined.fr>
Mon, 6 Jul 2009 10:21:25 +0000 (10:21 +0000)
src/imach.c

index 80a8985b3950d74d5fd30ef36095c0e01240715d..165563ba46f03c6996c36e53d33fcc96afe70f89 100644 (file)
@@ -1,6 +1,9 @@
 /* $Id$
   $State$
   $Log$
+  Revision 1.132  2009/07/06 08:22:05  brouard
+  Many tings
+
   Revision 1.131  2009/06/20 16:22:47  brouard
   Some dimensions resccaled
 
 
   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.
 
   The output is very simple: only an estimate of the intercept and of
   Also this programme outputs the covariance matrix of the parameters but also
   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).
-           Institut national d'études démographiques, Paris.
+  Authors: Nicolas Brouard (brouard@ined.fr) and Agnès Lièvre (lievre@ined.fr).
+           Institut national d'études démographiques, Paris.
   This software have been partly granted by Euro-REVES, a concerted action
   from the European Union.
   It is copyrighted identically to a GNU software product, ie programme and
@@ -400,12 +403,12 @@ extern int errno;
 /* $Id$ */
 /* $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 strstart[80];
 char optionfilext[10], optionfilefiname[FILENAMELENGTH];
 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 npar=NPARMAX;
 int nlstate=2; /* Number of live states */
@@ -4657,8 +4660,8 @@ int main(int argc, char *argv[])
   /* where is ncovprod ?*/
   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 */
-  nforces= (nlstate+ndeath-1)*nlstate; /* Number of forces ij from state i to j */
-  npar= (nlstate+ndeath-1)*nlstate*ncovmodel; /* Number of parameters like aij*/
+  nforce= (nlstate+ndeath-1)*nlstate; /* Number of forces ij from state i to j */
+  npar= nforce*ncovmodel; /* Number of parameters like aij*/
   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);
     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);