SYNOPSIS: BUG IN ONE OF THE EXAMPLE DRIVERS SEMI-BUG WITH RANDOM NUMBER INITIALIZATION Boulder, 14/02/96 Greetings PIKAIA Users; Some problem were encountered by users attempting to run some of the examples codes for the problems discussed in chapter 5 of the User's Guide; investigating these has revealed a problem present in *all* the driver codes in the examples subdirectory, as well as in the driver included in the pikaia.f file. The problem is not with the PIKAIA subroutine itself. The following detail what is to be done ----------------------------------------------------------------- ***** BUG REPORT #2 ***** SYMPTOM: results independent of the value of the random seed SUBROUTINE: all drivers (main in pikaia.f, xpk1a.f, xpk1b.f xpk2.f xpk3.f) PROBLEM: superfluous line, leftover from an earlier random number generator used by us for code development CORRECTIVE ACTION: remove the line seed=-abs(seed) in all drivers listed above. Examination of subroutine rninit will reveal that this line will force the generator to always be initialized with iseed=123456, independently of the seed value originally specified by the user ***** END OF BUG REPORT ***** ------------------------------------------------------------------ There is also an additional bug to be fixed in the driver code (xpk1b.f) for the nonlinear least-squares example of section 5.4, for those users who have grabbed copies of the drivers and fitness functions in the examples subdirectory: ----------------------------------------------------------------- ***** BUG REPORT #3 ***** SYMPTOM: lack of acceptable convergence in running the nonlinear least square example problem SUBROUTINE: finit (called by xpk1b.f) PROBLEM: the number of fourier mode (m) to be used for the fit is left undefined ! CORRECTIVE ACTION: add the following line m=5 somewhere in subroutine finit; with m left undefined, most compilers will set m=0, causing the fit to proceed exactly as in the linear least squares problem of section 5.2, thus the lack of acceptable convergence. ***** END OF BUG REPORT ***** ------------------------------------------------------------------ I also did some silly things while renaming demo files for inclusion in example subdirectory, relating to the various include statements; the include statements pertaining to the fitness functions (fit*.f) have a superfluous .txt suffix, which must be removed. Also driver xpk1b.f should include fitness function fit1b.f instead of fit2.f, and driver xpk2.f should include fitness function fit2.f instead of fit4.f (which does not even exist!). Some of you may also have received a copy of the installation code where the seed is set automatically, without any prompt being issued to the user for a seed value, contrary to what is described insection 2.2 of the User's guide; the required lines are commented out, which represents yet another leftover of a last minute test prior to official release. Our thanks to Richard Boivin (CERCA/Montreal, CAN) and Luciano Mantegazza (INFN/Pavia, IT) for calling various pieces of this mess to our attention. You may also notice that the original driver xpkaia and fitness function twod must be stripped from the original pikaia.f file if the examples drivers are to be used as is, i.e., with the include "pikaia.f" statement. Last but not least, the fitness function TWOD provided in the pikaia.f main file is NOT that discussed in Section 5.1 of the User's Guide, but rather a very similar function which also has a maximum at (x,y)=(0.5,0.5), where f(x,y)=1, surrounded by rings of secondary extrema. It also makes a fine installation check problem... but Mea culpa on that one at any rate. The difference with the function plotted on Fig 5.1 of the Guide has to do with the overall envelope of the function, which is biquadratic instead of exponential. All of the above problems have been corrected as of Wed 14 Feb 1996, mid-afternoon Colorado time. A few rather minor mistakes have been found in the User's guide by Steve Tomczyk (HAO/NCAR). These have now been corrected, and a file userguide_errata.txt has been put in the main pikaia directory, describing the changes. That's it for today. Actually, hopefully for this month... Paul