OpenMx 1.1 is released

rgore's picture

The release of OpenMx 1.1 is available for download. Use the installation command in an R terminal source('http://openmx.psyc.virginia.edu/getOpenMx.R'). OpenMx 1.1 is the result of nearly 11 months of development and much feedback from the user community.

The three primary feature enhancements to the 1.1 series are: joint ordinal and continuous integration in full information maximum likelihood, a new arbitrary row-wise full information objective function, and no more conversion of RAM models with raw data into FIML models in the output. An example of using joint ordinal and continuous integration is here. An example of the MxRowObjective function is demo(FIMLRowObjectiveBivariateCorrelation). The user guide is up to date with examples of these two features as well.

Below is the full changelog since the OpenMx 1.0.0 release. We have made numerous small improvements and bug fixes which are all detailed below.
Official Release 1.1.0-1764 (August 22, 2011)
==============================================
Joint and Ordinal documentation included and up to date.
Further Imp. Beta Release 999.0.0-1707 (July 7, 2011)
=====================================================
* removed 'excludeself' argument from mxPath() function
* added deprecation warning for argument 'all'=TRUE in mxPath()

Improved Beta Release 999.0.0-1690 (June 27, 2011)
==================================================
* added omxSelectRowsAndCols, omxSelectRows and omxSelectCols documentation
* fixed model flattening to keep track of confidence intervals in submodels
* fixed a bug in omxParallelCI() introduced by previous change
* added verifyCorrelationMatrix to mxData. See http://openmx.psyc.virginia.edu/issue/2011/06/error-checking-correlation...
* added error checking for dimnames on MxMatrix and MxAlgebra objects
* reformated comments and heading style for all demos
* fixed segmentation fault on backend error condition

Beta Release 999.0.0-1661 (May 20, 2011)
========================================
* turn off jiggling of free parameters with starting values of 0.0 when useOptimizer=FALSE
* allow non-RAM objective functions in RAM model
* change model type names to 'default' and 'RAM'
* no longer explicitly transforming RAM + raw data models into FIML models
* fixed bug in MxMatrix indexing operator

Pre-Release 999.0.0-1609 (April 7, 2011)
========================================
* added argument 'threshnames' to mxFIMLObjective()
* eliminated "initialize" method for MxMatrix objects
* added "omxCreateMatrix" method for MxMatrix objects
* renaming majority of omx* functions to imx* functions. See http://openmx.psyc.virginia.edu/thread/761
* added error checking to mxOption() function
* added "Optimality tolerance" to mxOption() selection
* added 'lbound' and 'ubound' columns to summary() output of free parameters
* added asterisks to the 'lbound' and 'ubound' columns when feasibility tolerance is met
* added "omxNot" function to the set of available mxAlgebra() function
* added "omxSelectRows", "omxSelectCols", and "omxSelectRowsAndCols" as mxAlgebra operators()
* updated interface of mxRowObjective
* in ML objective: expected covariance matrix and observed covariance matrix must have identical dimnames
* in RAM and ML objectives: the observed means vector must have column names
* added "mean" function to the set of available mxAlgebra() functions
* added slots "expCov" and "expMean" to the MxRAMObjective function
* added useOptimizer option to mxRun.
* added error checking in frontend and backend for non-positive-definite observed covariance matrices
* added "omxGreaterThan", "omxLessThan", "omxApproxEquals", "omxAnd", and "omxOr" operators to the set of mxAlgebra() operators
* error checking for model[[1]] or model[[TRUE]]
* error checking in the front-end whether more than 20 ordinal columns are present in a data set
* improved performance in the front-end in mxModel() for adding paths to RAM models
* print name of algebra when operator has too few or too many arguments

Pre-Release 999.0.0-1527 (January 6, 2011)
==========================================
* added mxErrorPool() function and R documentation.
* added Apache license information to all R documentation files.
* new implementation of mxEval().
* new argument 'defvar.row' to mxEval(). See ?mxEval.
* handling definition variables for (I - A) ^ - 1 speedup
* handling square bracket labels for (I - A) ^ - 1 speedup
* added argument 'free' to omxGetParameters. See ?omxGetParameters.
* added argument 'strict' to omxSetParameters. See ?omxSetParameters.
* eliminated warnings for confidence interval optimization codes
* added "..." argument to mxRObjectiveFunction()
* added 'excludeself' argument to mxPath() function
* fix memory leak in RAM objective function
* removed dependency to MBESS library in R documentation
* added more descriptive error message when thresholds are not sorted
* incorporated NaN unsafe matrix-matrix multiplication (dgemm) from R <= 2.11.1
* incorporated NaN unsafe matrix-vector multiplication (dgemv) from R <= 2.11.1
* return NA in mxVersion() if "OpenMx" cannot be found
* fix infinite loop in objective function transformations
* added initialization to load OpenMx on swift workers
* implemented omxParallelCI() to calculate confidence intervals in parallel
* only calculating CIs for upper triangle of symmetric matrices
* cleanup appearance of transient MxMatrix objects in error messages
* fix bug with very large number of omxUntitledName() objects
* added optional argument CPUS=n to "make test" target
* change snowfall interface to use sfClusterApplyLB()
* storing raw data in row-major order, and copying contiguous data rows
* fix bug in mxModel() when using remove = TRUE