Change Notes for Mx

Version 1.54   Fixed some bugs with the use of the Highest command for ordinal data

Version 1.53   Added intelligent evaluation of integrals for ordinal data when covariance matrix is of simple structure (permits efficient generalized marginal maximum likelihood via mixture distributions). Added flushing of buffer for linux version to allow output to be useful while job still running.

Version 1.52   Added #repeat #if #else #endif for conditional structuring of scripts. Confidence intervals not permitted in constraint groups due to possible incorrect calculation.

Version 1.51d   Fixed RMSEA calculation not taking notice of DF= option (thx to Kris Preacher)

Version 1.51c   Fixed problem which makes samecov fail to give same answer as when samecov is not being used. IDIFFT status was incorrectly computed for cases where definition variables were being used. This would have led to incorrect results when option samecov is used, and the vectors were different.

Version 1.51   Fixed problem with reassignment of definition variables' numbers when automatically #define'ing definition variables as -1 -2 etc. Previous versions have a subtle bug that means if a different set of definition variables are used in an earlier group they will not be overwritten by the new group definitions. (Thx to me) Also fixed problem with duplicate #NG not being understood and misread as title. (Thanks to Andrew Heath) Constraint problem in multiple groups: inequality constraints become equality constraints (thanks to Caroline van Baal) - fixed.

Version 1.50   Added ISSUB and SUB options like ISSAT and SAT= options. Added system command to make system calls.

Version 1.49   Fixed df when definition variables are included; Fixed some bootstrapping bugs

Version 1.48   Added bootstrap confidence intervals; some minor bugs so use 1.54 or higher instead

Version 1.47c   Added features for mixed ordinal and continuous analysis, but still too buggy for general consumption :(

Version 1.46   Added allint function to compute all hypervolumes of multivariate normal sliced and diced by thresholds Improved robustness of mixture distribution modeling. New version of Genz's integration routines incorporated

Version 1.45   Bug with printing observed means where the first one lt zero fixed

Version 1.44   Cosmetic Bug with printing Observed means with VL/Rec files fixed. Previously, when one or more variables contained no observations, the observed means would be messed up. A shorter list of means for the variables that did have data was printed, which was out of alignment after a variable that didn't have data. The shortened list of observed means was followed by some junk. Observed means are now correctly printed, and 0.000 is printed for variables that do not contain any observations.

  • Labels, when supplied, are now printed on the summary of vl data.
  • Bug with reading AC matrices in FU format fixed. This never worked before, usually indicating an non-positive definite weight matrix.
  • VL and REC files may now be read instream with the Mx job (preferably in a .dat file) and end with End VL or End Rectangular commands.
  • Option SE eliminated. Due to its susceptibility to numerical inaccuracy and the superior properties of likelihood-based CI's, SE has been retired.
  • Option SA for Saturated model allows fit & df of a saturated model (or any supermodel - except Cindy Crawford :) ) to be entered to obtain difference chisquares. E.g., option SA=5.36,6
  • Option ISSAT identifies a model as saturated; subsequent models in multiple fit mode will be compared with it. Version 1.43   added the following features and fixed the following problems:

    Version 1.42 contains minor bugfixes for blank lines with indented comments, and a #include feature to enable reading in parts of files (most commonly the Data parts used in many scripts). The second line of a script can now be NGroups=2 to keep Ngroups out of Data lines (handy with #include).

    Version 1.41 Matrices=Group1 would erroneously read the next line looking for a number after a space. This could leave a matrix undefined. Matrices=Groupx now generates an error and the correct syntax Matrices = Group 1 is offered.

    Version 1.40 Blank lines with embedded comments no longer misinterpreted as end of input file

    Version 1.39



    Change to Algebra and equality constraints!

    Equality constraints between matrices constrained to be equal across groups but which were defined in a Begin Algebra section were formerly problematic. The way they used to work was that the formulae were recalcuated in the later groups. Apart from being inefficient, this was a potential cause of mysterious errors. The revision works the way you would expect: a matrix constrained to equal an earlier 'Begin Algebra' matrix just receives a copy of the result, and does not recalculate.

    Second, the equate all matrices across groups has changed. The syntax
    Matrices = Group 1
    is still legal, but Matrices computed with Algebra statements are not copied.

    Attempts to redefine matrices using matrix algebra were formerly flagged as errors. Now it is possible to redefine matrices; a warning is issued instead.


    Warnings were standardized and the number of warnings in the run is printed at the end.

    Multiple fit option

    If the multiple fit option was given anywhere other than the last group, erratic behavior could result. Fixed.


    Bugs in \momnor function fixed. Also added protection against invalid arguments (return IFAIL=-1) so alternative points are used. Prior to bug fix, moments of truncated distributions were correct, but not those of correlated distributions.

    Prior Versions

    For information about the changes made in upgrades prior to 1.27, you can browse the versions listed below.

    Updates in earlier versions:

     1.26   1.23   1.20   1.17
     1.25   1.22   1.19   1.16
     1.24   1.21   1.18   1.15