NOTES ON THE VERSION OF 2003-06-29

WARNING: Because of changes in this version of the software, it cannot
read log files produced by previous versions.


A major new facility was added in this version:

   Models for density estimation and hierarchical clustering based on
   Dirichlet diffusion trees are now implemented.  See dft.doc.


Another major change:
 
   The copyright notice no longer restricts use of the software to purposes 
   of research and education.  Use for any purpose is now allowed.


Other changes in this version;

1) A new 'mix-pred' command has been added, for producing predictive 
   probabilities for test cases using mixture models.

2) A list of transformation specifications for data-spec may now end
   with "...", indicating that the remaining transformations are the
   same as the preceding one.  See data-spec.doc for details.

3) The log-last program can now take a list of log files, and it outputs
   the index of the last record for each.  The format of this message 
   has changed slightly as well.

4) A new "-n" option is now available for data-spec, which prevents
   it from trying to read the data file to check it for errors.  See
   data-spec.doc for details.

5) The record written by data-spec is now of variable size, allowing the
   limits on the numbers of inputs and targets to be set to large values
   without wasting space.  Consequently, these limits have been increased
   to 10000. 

6) A multiply-stepsizes operation has been added, to allow more detailed
   control of stepsizes.  See mc-spec.doc for details.

7) A mix-momentum operation has been added.  See mc-spec.doc for details.

8) An -s option for faster shrinkage has been added to slice-1.  See 
   mc-spec.doc for details.

9) A new gaussian-gibbs Markov chain update has been added, mainly for
   comparison purposes, not for real use.  See mc-spec.doc for details.

10) It is no longer necessary to provide target values for gp-cov (which
    has never needed them).

11) The xxx-wrap and xxx-circ shell files now use /bin/bash rather than
    /bin/sh as the shell.  If you don't have bash, you can try changing
    this back.  It might or might not work.

12) A new net-approx program can be used to specify that the log likelihood
    for a network model should be replaced by a quadratic approximation.
    See net-approx.doc for details.  An example of how this can be used
    in conjunction with coupling to improve performance for a logistic 
    regression model may be added in future.

13) Ex-netgp.doc now includes an example using the "n" option of net-pred
    (or gp-pred) to produce predictive probabilities for class models.

14) The limit on optional memory usage for Gaussian process models in 
    gp/gp-mc.c was doubled to 20 MBytes.  

15) The "mix-extensions.doc" file has been deleted.  One of the possible
    extensions described has been implemented (mix-pred), the others 
    will probably never be.

16) Various other changes were made to the documentation and the examples.


Bug fixes.

1) Fixed a bug that caused the n and m options in net-pred to not work 
   correctly with multi-way "class" models.  This bug was introduced in
   the version of 2001-08-31; earlier versions were fine.  The bug was
   in the net_model_guess procedure in net-model.c (just in case you
   want to copy the fix over to the version of 2001-08-31).

2) Fixed a bug that caused the n option to gp-pred to not work correctly
   whenever more than one iteration was used for prediction.

3) Fixed a bug in mix-gen that caused it to set hyperparameters that were
   supposed to be constant, when the "fix" option was used.

4) Fixed a bug in argument checking in gp-cov that meant that non-numeric 
   indexes were accepted, and interpreted as zero.

5) Fixed a bug that would have caused problems if automatic stepsizes 
   for Markov chain operations were mixed with stepsizes set manually
   (by using a "-" before the stepsize).


Known bugs and other deficiencies.

1) The facility for plotting quantities using "plot" operations in xxx-mc
   doesn't always work for the first run of xxx-mc (before any
   iterations exist in the log file).  A work-around is to do a run of
   xxx-mc to produce just one iteration before attempting a run of
   xxx-mc that does any "plot" operations.

2) The CPU time features (eg, the "k" quantity) will not work correctly
   if a single iteration takes more than about 71 minutes.

3) The latent value update operations for Gaussian processes may recompute 
   the inverse covariance matrix even when an up-to-date version was 
   computed for the previous Monte Carlo operation.

4) Covariance matrices are stored in full, even though they are symmetric,
   which sometimes costs a factor of two in memory usage.

5) Giving net-pred several log files that have different network architectures
   doesn't work, but an error message is not always produced (the results may
   just be nonsense).