Diff for /imach/src/ChangeLog between versions 1.54 and 1.68

version 1.54, 2022/07/23 17:43:46 version 1.68, 2024/04/24 20:53:06
Line 1 Line 1
   2024-04-24  Nicolas Brouard   <brouard@ined.fr>
   
           * (Module): This version comes late after having tested
           successfully the praxis C version of Buckhardt.  But Buckardt's
           version was difficult to read and Gegenfurtner's version had a few
           typos which made its results less reliable than Buckhardt's
           results.  The most important work consisted in retyping the Brent
           original PRAXIS program written in Algol W (published with errors,
           ommitting the transposition of matrix V before its QR reduction
           from Golub. I used the recent "awe" compiler from Gkynn Webster.
           The awe library had errors, for example in arc tangent function
           which have been fixed.
   
           The main objective was to get identical results with the three
           versions: (1) Algol W, (2) Buckhardt'C version as well (3)
           Gegenfürtner C versions on the various test functions published by
           Brent in 1973 in Algol W.
   
           Also, in order to compare them, the random function had to produce
           the same sequence for the 3 softwares. The random function used in
           imach corresponds to original Brent's random function written in
           Algol W.  Other point, in Algol W, the arrays of dimension n are
           'normal' mathematical arrays starting from 1 to n. But this is a
           real issue in C where, by default, arrays are starting from 0 to
           n-1. In Buckhardt, as well as in Gegenfürtner C code, it can be
           seen that authors while trying to mimick original Brent Algol W
           code are hesitating by changing either a loop originally from 1 to
           n in a loop from 0 to n-1, or keeping Brent's loop from 1 to n and
           shifting the index from original X(I) in Algol W to x[i-1] in C.
           But as IMaCh is using, since the beginning, the Numerical Recipes
           functions vector or matrix, I changed Geggenfürtner code to mimick
           the original Algol W arrays. Thus the X(I) is translated in C as
           x[i] which minimizes the errors. The Golub QR algorithm was
           published in Algol with overflow errors which were reproduced in
           Brent's Algol W code. Buckhardt code fixed these errors which are
           much more problematic in C than in Algol W.  Thus Buckhardt code
           seems very safe, but i haven't chosen it for IMaCh because the C
           style is horrible and almost unreadable compared to Gegenfürtner
           CO code which is very close to Brent's original. Also what makes
           Buckhardt code more difficult to read is, instead of passing the
           minimum of parameters in the functions calls, as it is in Algol
           Brent's code or Gegenfürtner's code, the list of parameters is
           high. For example, the flin function LONG REAL PROCEDURE FLIN
           (LONG REAL VALUE L) has only one parameter in Algol W, the
           Gegenfürtner flin function had two parameters: static double
           flin(l, j) double l; { int i; double tflin[N];} but Buckhardt
           function has 14 parameters which makes the code unreadable and
           useless. Gegenfürtner used a lot of static variables or functions
           which I tried to minimize. Also in Gegefürtner, array dimensions
           were fixed to N. In my adaptation the flin is static double
           flin(double l, int j) and the parameter used are global variables.
   
   2023-06-14  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c (Module): Testing if conjugate gradient could be quicker
           when lot of variables POWELLORIGINCONJUGATE
   
   2023-05-23  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c (Module): Fixed PROB_r 
   
   2023-05-22  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c (Module): In the ILK....txt file, the number of columns
           before the covariates values is dependent of the number of states (16+nlstate): 0.99r46
   
   2023-05-08  Nicolas Brouard   <brouard@ined.fr>
   
           *  (Module): Error V0 when result:. and model 1+age+V1: fixed
   
   2023-04-29  Nicolas Brouard  <brouard@ined.fr>
   
           * imach.c (Module): Inverting the model equation and fixingg bugs
           in the drawings
           "1+age+V7*V4*age+V6*V4*age+V7*V3*age+V6*V3*age+V6*V2*age+V7*age+V6*age+V4*age+V3*age+V2*age+V7*V4+V6*V4+V7*V3+V6*V3+V7*V2+V6*V2+V7+V6+V4+V3+V2\000\0003+V2"
   
   2023-04-24  Nicolas Brouard  <brouard@ined.fr>
   
           * imach.c (Module): some bugs in printinggnuplot 
   
   2022-09-19  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c (Module): Version 0.99r42 needed a newer version of
           Gnuplot. But newer version 0.99r43 should run with the Gnuplot
           version 5.0 or 5.1 distributed with IMaCh.
   
   2022-09-18  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c (Module): Fixing when a state in the data is 0 or higher
           than lstate+ndeath. Fixing the plot of contribution to Likelihood.
   
   2022-09-16  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c (Module): 0.99r41 Was an error when product of timevarying and fixed. Using FixedV[of name] now. Thank you  Feinuo
   
   2022-09-14  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c (Module): Fixing names of variables in T_ (thanks to Feinuo)
   
   2022-09-14  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c (Module): Version 0.99r39 with colored dummy covariates
           (fixed or time varying), using new last columns of
           ILK_parameter.txt file.
   
   2022-09-11  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c (Module): Adding timevarying products of any kinds,
           should work before shifting cotvar from ncovcol+nqv columns in
           order to have a correspondance between the column of cotvar and
           the id of column.
           (Module): Some cleaning and adding covariates in ILK.txt
   
   2022-09-09  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c (Module): Many improvements for fixing products of fixed
           timevarying as well as fixed * fixed, and test with quantitative
           covariate.
   
   2022-09-04  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c (Module): Now the easy runs i.e. without result or
           model=1+age only did not work. The defautl combination should be 1
           and not 0 because everything hasn't been tranformed yet.
   
   2022-09-02  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c: Version 0.99r35 because it outputs same results with
           1+age+V1+V1*age for females and 1+age for females only
           (education=1 noweight)
   
   2022-08-31  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c (Module): Some improvments in fichtm and many verifications 0.99r34
   
   2022-08-21  Nicolas Brouard   <brouard@ined.fr>
   
           * imach.c (Module): Version 0.99r33 A lot of changes in
           reassigning covariates: my first idea was that people will always
           use the first covariate V1 into the model but in fact they are
           producing data with many covariates and can use an equation model
           with some of the covariate; it means that in a model V2+V3 instead
           of codtabm(k,Tvaraff[j]) which calculates for combination k, for
           three covariates (V1, V2, V3) the value of Tvaraff[j], but in fact
           the equation model is restricted to two variables only (V2, V3)
           and the combination for V2 should be codtabm(k,1) instead of
           (codtabm(k,2), and the code should be
           codtabm(k,TnsdVar[Tvaraff[j]]. Many many changes have been
           made. All of these should be simplified once a day like we did in
           hpxij() for example by using precov[nres] which is computed in
           decoderesult for each nres of each resultline. Loop should be done
           on the equation model globally by distinguishing only product with
           age (which are changing with age) and no more on type of
           covariates, single dummies, single covariates. 
   
   2022-08-06  Nicolas Brouard   <brouard@ined.fr>
   
           *  imach.c (Module): Version of imach using partly decoderesult to rebuild xpxij function
   
   2022-08-03  Nicolas Brouard   <brouard@ined.fr>
   
           *  imach.c (Module): Many errors in graphs fixed with Vn*age covariates.
   
   2022-07-25  Brouard Nicolas  <brouard@brouard.name>
   
           * imach.c (Module): Error cptcovn instead of nsd in bmij (was
           coredumped, revealed by Feiuno, thank you.
   
 2022-07-23  Nicolas Brouard   <brouard@ined.fr>  2022-07-23  Nicolas Brouard   <brouard@ined.fr>
   
         * r29 W and not sqrt(Wald)          * r29 W and not sqrt(Wald)
Line 6 Line 174
   
         *  imach.c (Module): Output of Wald test in the htm file and not only in the log.           *  imach.c (Module): Output of Wald test in the htm file and not only in the log. 
   
   2022-06-02  Brouard Nicolas  <brouard@brouard.name>
   
           * imach.c (Module): Adding the Wald tests from the log to the main
           htm for better display of the maximum likelihood estimators.
   
 2022-05-30  Brouard Nicolas  <brouard@brouard.name>  2022-05-30  Brouard Nicolas  <brouard@brouard.name>
   
         * imach.c: With products of covariates (age or dummies or          * imach.c: With products of covariates (age or dummies or
Line 767 Line 940
         lower mortality.          lower mortality.
   
 2002-05-30    <brouard@BROUARD>  2002-05-30    <brouard@BROUARD>
         *   
         * imach.c (Module): Add correlation matrix of one-step          * imach.c (Module): Add correlation matrix of one-step
         probabilities and covariance matrix          probabilities and covariance matrix
   
   
   
   
   

Removed from v.1.54  
changed lines
  Added in v.1.68


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>