Copyright © 2007-2019 The OpenMx Project

Published on *OpenMx* (https://openmx.ssri.psu.edu)

We are pleased to announce the official release of OpenMx version 2.7.18. Click here [1] for instructions on how to install the package from our virginia.edu repository. As usual, our repository has package binaries for Windows and MacOS, and source tarballs for Linux/GNU, all of which come with the NPSOL optimizer.

Users of Windows and Linux/GNU can also install OpenMx v2.7.18 from CRAN [2]. However, CRAN has not been able to build functioning OpenMx binaries for MacOS since OpenMx v2.7.10. MacOS users can still obtain version 2.7.18 via CRAN, but the Mac onto which you are installing the package must be configured to build it from source. Again, precompiled MacOS binaries of version 2.7.18 are available through our own repository [1]. MacOS users can also install an NPSOL-enabled "bleeding-edge" build of the package from here [3] (though users should be aware that the bleeding-edge build is not a stable release, and has not necessarily even passed our test suite).

New features, performance improvements, and bug-fixes since OpenMx v2.7.12 include the following:

`mxParametricBootstrap()`

[4] simulates data from a null model to obtain parametric-bootstrap marginal `mxCompareMatrix()`

[5], carries out all pairwise comparisons of MxModels in a set of MxModel objects.
`mxCompare()`

[5] now detects certain invalid or possibly-invalid model comparisons, and throws an error or warning(s) accordingly.
`mxCompare()`

[5] and `mxCompareMatrix()`

[5] can be used to conduct the bootstrap likelihood-ratio test. The bootstrap LRT procedure generates data under a null model to obtain a parametric-bootstrap null distribution of model-comparison LRT statistics, from which the `omxRunCI()`

[7], which calculates the confidence intervals requested in an MxModel's `mxCI()`

[8] statement, without redoing the primary optimization to find point estimates. This makes it simple for the user to calculate CIs only from one "best" model out of a candidate set, or to use a different optimizer to find point estimates and confidence limits.
`mxDataWLS()`

[9] now correctly enforces the requirement that ordinal variables be ordered factors.
`mxDataWLS()`

[9] can now provide means for all-continuous data when requested to do so.
`mxDataWLS()`

[9] no longer accepts argument `debug`

; the `debug`

argument was never intended for non-developer use to begin with. Users who have scripts that pass a value of `debug`

to `mxDataWLS()`

will now find that doing so causes an error. That technically makes this a `mxBootstrap()`

[10] accepted argument `plan`

, which was used to provide a compute plan to be used in each bootstrap replication. Now, `mxBootstrap()`

uses the compute plan it finds inside the MxModel object it is passed via its first argument, `model`

. Argument `plan`

is deprecated, and providing a non-`NULL`

value for it will result in an error. `imxRobustSE()`

[11] and `imxRowGradients()`

[12] now work with `imxRowGradients()`

has a new argument, `robustSE`

.
`imxRobustSE()`

[11] can now return the whole robust sampling covariance matrix for the free parameters if requested to do so through its new argument, `details`

.
`key`

to `mxOption()`

[14] is now case-insensitive. For example, `mxOption(NULL,"Default optimizer")`

, `mxOption(NULL,"Default Optimizer")`

, and `mxOption(NULL,"default optimizer")`

now all do the same thing.
`NaN`

at the start values if the state-space initial means and variances depend upon definition variables.
`mxVersion()`

[15] now reports whether or not NPSOL is available [16], and whether or not OpenMx was compiled for multithreading with OpenMP [17].
`mxStandardizeRAMpaths()`

[18] such that, if a RAM model contained submodels, the path coefficients in that container model would not be included in the output. This bug, which would most likely have manifested in multilevel models, has been repaired.
`mxStandardizeRAMpaths()`

[18] was never designed for use with definition variables (see its documentation, which has been updated with relevant details). Therefore, it now throws a warning if it is used on an MxModel containing definition variables.
`mxGenerateData()`

[19] is now compatible with the multigroup fitfunction [13].
`mxTryHard()`

[20] has a new argument, `silent`

(defaults to `FALSE`

). If `silent=TRUE`

, most of `mxTryHard()`

's message-printing is suppressed.
`summary()`

output has been corrected.
`NA`

s on integer-typed definition variables; this repairs a regression introduced in an earlier release of version 2.7.x.
`summary()`

output for an MxModel using the GREML expectation, the "Saturated" and "Independence" entries in the "Model Statistics" table are now set to `NA`

. The GREML expectation was designed for scenarios where a "saturated" model has no sensible definition (although, in a future release, OpenMx may be able to populate the "Independence" entry in some cases).
`omxParallelCI()`

[7] was designed for OpenMx version 1.x, and as a result, has not always worked nicely with version 2.x. Now, it has a new argument, `independentSubmodels`

, which can be set to `FALSE`

to make it behave more consistently with the version-2.x design. A new function mentioned above, `omxRunCI()`

, is in fact a wrapper to `omxParallelCI()`

, with `independentSubmodels=FALSE`

and `run=TRUE`

.
`omxParallelCI()`

from working with MxAlgebras that reference a range of matrix elements with the colon operator, `:`

, has been repaired.
There are also a few known issues with version 2.7.18:

**Links**

[1] https://openmx.ssri.psu.edu/installing-openmx

[2] https://cran.r-project.org/package=OpenMx

[3] https://openmx.ssri.psu.edu/OpenMx2/bin/macosx/travis/OpenMx_latest.tgz

[4] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/mxParametricBootstrap.html

[5] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/mxCompare.html

[6] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/mxExpectationMixture.html

[7] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/omxParallelCI.html

[8] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/mxCI.html

[9] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/mxDataWLS.html

[10] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/mxBootstrap.html

[11] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/imxRobustSE.html

[12] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/imxRowGradients.html

[13] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/mxFitFunctionMultigroup.html

[14] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/mxOption.html

[15] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/mxVersion.html

[16] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/imxHasNPSOL.html

[17] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/imxHasOpenMP.html

[18] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/mxStandardizeRAMpaths.html

[19] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/mxGenerateData.html

[20] https://openmx.ssri.psu.edu/docs/OpenMx/latest/_static/Rdoc/mxTryHard.html