At developers meeting on 9/2 we discussed the following:
- There is a bug in the implementation of Joint/Ordinal in OpenMx 1.1. It seems to be triggered by including an additional variable (or column) in the data that is not included in the analysis, resulting in the multiplication of non-conformable arrays. The team is continuing to look into this issue.
- The documentation error (discussed here) has been fixed in the PDF version of the user guide. All subsequent documentation will be updated in the next release of OpenMx 1.1.
- Mike Hunter is currently working on the implementation of the LISREL objective function for OpenMx. The front end implementation is being tested. Extending the implementation into the back end is the next step.
- There has been continued discussion of moving PPML to the back end. While new algebras, matrices and objective functions will need to be created in the back end this avenue still looks promising.
- The first round of changes for creating sub-objective functions have been checked into the code base. This will facilitate the addition of new types of objective functions (such as LISREL). This will enable developers adding new objective functions to only have to make substantive changes about the behavior of the new objective function, instead of addressing any ancillary issues.
- The is a bug in the implementation of omxMnor (discussed here). The buggy behavior matches the behavior of Classic Mx. The development team brainstormed a number of ways to catch the bug (triggered by non-positive definiteness and non-full rank matrices) before it happens. Solutions employing both the SADMVN library and MVN Pack to calculate the eigen values were discussed.
- The pitfalls of using RMPI as a means to achieve the parallelization of FIML was discussed. RMPI can be quite brittle: (1) It requires a separate R profile to run, (2) communication is performed by serializing R objectes and sending them enclosed in a character vector which enposes a 2GB compressible limit on messages, and (3) it does not provide any fault tolerance. The development team is exploring creating or adapting a reasonable scatter/gather package that would support two-level hierarchal communication.
- Documentation was discussed. The very beginning of the Users' Manual is being re-written to help familiarize users with the different coding styles. See here for further discussion of these styles. The desire to not let a reader become too comfortable with one style before introducing a new style was raised. The goal here is to ensure readers stay open minded and do not become too attached to one style purely because of familiarity.
- The prospect of creating an OpenMx book was also discussed.