Improved debugging of matrix formulae. Adjacent binary operators trapped. Syntax checking of all matrix formulae on input (rather than at function evaluation as was previously the case for non-calculation groups). Dumping of parsed formula enabled for frontend.
Definition of global variables. Syntax:
#define nvars 3
will ascribe 3 to nvars, which can then be used in place of 3 in matrix dimensions, parameter specifications, and other places where numbers are read from the script. This makes it easier to change long scripts.
Compute, covariance, m2, m1, mean, & threshold commands may be used to revise the matrix formulae defined within a group. The group to be revised is indicated by a (required) #set group n command prior to the new formula definition. n must be the number of a valid group.
The multinormal integral function now uses a penalty function for non-positive definite input matrices. It will return densities >1 for such matrices. If the user is calculating chi-squared or some such statistics from the result of this integration, this should steer optimization away from non-positive definiteness. Specifically, the integral returned is 1+abs(largest negative eigenvalue). It doesn't work very well but I'm still working on it.
Input of rectangular files with dots for missing values. SAS and SPSS both output data like this more or less by default. You can read in such files instead of VL data by using
rectangular file=filename.rec