HINTS AND WARNINGS

1) The error messages for invalid specifications of quantities for
   the plot programs are not very specific.  You should remember that
   quantities may be scalars or arrays, or sometimes either.  If the 
   quantity you want is an array, you have to include a "@" character.  
   To further complicate matters, some quantities take numeric modifiers,
   which are distinct from array indexes.  See quantities.doc and the 
   specific documentation on quantities for each application for more 
   details.

2) Some confusion is possible regarding hyperparameter values because
   they can be looked at in three ways:  as standard deviations (widths),
   as variances (squares of the standard deviations), and as precisions
   (inverse variances).  In particular, note that although the priors 
   for hyperparameters are described in terms of Gamma distributions for
   the precisions, their scale is specified in the net-spec and
   model-spec commands in terms of the corresponding standard deviations.

3) When there is a single output unit, a specification of the form
   "w:a:b" for the hidden-to-output weights is mathematically
   equivalent to one of the form "w:a::b".  The two specifications
   differ computationally, however.  In the "w:a:b" form, lower-level
   hyperparameters that each control a single weight are explicitly
   represented; with "w:a::b", equivalent hyperparameters exist
   mathematically, but are not represented explicitly.  The "w:a:b"
   form is probably to be preferred, since explicit hyperparameters 
   are of assistance to the heuristic procedure that chooses
   stepsizes for the dynamical updates.

4) Poor conditioning of matrix operations used for Gaussian processes
   can be a problem with the "sample-values" and "scan-values" operations, 
   and for the 'gp-eval' program.  The symptoms are error messages about
   Cholesky decompositions or matrix inversions not working.  Assuming 
   that these aren't due to bugs in the software, the solution is to
   improve the conditioning of the covariance matrix, hopefully without
   making the model depart to any significant degree from what you really
   wanted.  Conditioning can be improved in three main ways:
  
      a) Decrease the constant part of the covariance function.  There's
         almost never any reason for this to be greater than the range of
         the targets in the training cases.

      b) Increase the jitter part of the covariance.  For 'gp-eval' with
         the "targets" option, noise in the regression model acts the 
         same way as jitter.  Of course, increasing the jitter changes
         the model.

      c) Use a power less than 2 in an exponential part of the covariance.
         Poor conditioning results when the covariance has only constant, 
         linear, and exponential parts, with the exponential part having
         a power of 2 (the default), corresponding to smooth functions.  
         Decreasing the power makes the functions less smooth, and hence
         less predictable, which makes the matrix better conditioned.

      d) Use scan-values rather than sample-values.  The prior covariance
         matrix that is inverted in scan-values is probably less likely
         to be poorly conditioned than the posterior covariance matrix
         inverted in sample-values.  However, scan-values does not produce
         independent draws, so convergence may be slower.

5) If the system crashes in the middle of a run of 'net-mc', one can
   usually continue from the last iteration written to the log file 
   by just invoking 'net-mc' again with the same arguments (just as 
   one can continue for more iterations after 'net-mc' terminates 
   normally).  Problems could arise if the system crashed in the middle 
   of writing the records pertaining to an iteration, in which case some 
   fixup using 'log-copy' may be required.  Such problems could come
   either from a partial record at the end of the log file, or from
   a less-than-complete set of full records.  It is best to assess the 
   situation using 'log-records' before proceeding.

6) If you need to change the name of a program to avoid conflicts with 
   other programs you use, it is probably best to simply change the name 
   of the link in this software's 'bin' directory, leaving the name 
   unchanged in all the other directories.