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 in a network, 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, assuming the targets are centred at about zero. 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) When using Annealed Importance Sampling, be careful that the number of temperatures in the annealing schedule (set by mc-temp-sched) is what you intend. Remember that there's one more at the end (at a temperature of one) that isn't explicitly specified. Also be careful that the number of AIS operations in the mc-spec command is such as to move through this schedule as desired. You can check that things are working as desired with a command such as such as "xxx-plt t I". If you get things wrong, looking at the iterations that were supposed to be at inverse temperature one but aren't will give completely misleading results. 6) If the system crashes in the middle of a run of 'net-mc' (say), 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. 7) 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-...' directories, leaving the name unchanged in all the other directories.