OpenMx Developer Forums

Posted on
No user picture. pjohnson Joined: 09/19/2009

You could adhere to R conventions more closely

Hi, I'm new here. I'm a political scientist/programmer. I was drawn in by conversation about SEM among my psych colleagues at the University of Kansas. Now that you have the gcc-4.3 version of lpsolve.la in your package, I can build OpenMx without any trouble on Ubuntu 9.04 with R 2.9.2

I've been reading through your OpenMxUserGuide and testing the examples and I'm having some reluctance about the style of your R interface/code. I'm pretty sure that R users who come to try OpenMx will have difficulty digesting the way you have designed your interface.

Posted on
Picture of user. tbates Joined: 07/31/2009
Posted on
Picture of user. tbates Joined: 07/31/2009

mxRun

A place to discuss mxRun

Posted on
Picture of user. tbrick Joined: 07/31/2009

Checkpointing Proposal

At the developer meeting today, we discussed adding checkpointing functionality to OpenMx.

This is basically a recovery system in case the computer crashes during an optimization. Essentially, the back-end will write a file to disk every x minutes or every z iterations. The file will contain some representation of the state of optimization at the time it saved. That way if the power fails or the computer crashes, the state of not-too-long-ago is saved somewhere, and the optimizer can pick up where it left off.

Posted on
Picture of user. mspiegel Joined: 07/31/2009

Shrinking the binary releases

I had an idea for shrinking the binary releases. At the moment, we ship the binary release for each platform with copies of NPSOL for all platforms, even though the binary release was built using only one of those copies. After release 0.1.4 has been made available, I'm going to play with the configure script such that only one copy of NPSOL is shipped.

Posted on
Picture of user. mspiegel Joined: 07/31/2009

Developers Meeting 9/18/09

It was noted that another release of the OpenMx closed beta library will be produced today.

There are a discussion of the next immediate implementation tasks. On the front-end, it was decided that square bracket notation should be implemented, and a tool from converting Mx 1.0 algebra expressions to OpenMx algebra expressions is needed. On the back-end, the most immediate goal is to implement some sort of checkpointing to disk.

Posted on
Picture of user. stueller Joined: 08/04/2009

"saving" the score/information functions

First of all I want to say that OpenMx has been quite straightforward to start using given the documentation on this website.

Posted on
Picture of user. mspiegel Joined: 07/31/2009

R substitute question

The following question seems unusual, but if someone figures out how to do it then we can do a single mxEval() call for all the algebras in a model to test the algebras for conformability during mxRun before the optimizer is called, instead of one mxEval() call per algebra. This could speed up our test suite (not by much, expect something like 5 - 10% increase).

https://stat.ethz.ch/pipermail/r-help/2009-September/211731.html

Posted on
Picture of user. tbates Joined: 07/31/2009

Save the state of the optimiser for input to a new run (granted)

For lots of jobs, the ability to input the optimiser state from a previous run would be a massive productivity gain.

The cleanest way to implement it for the user would be as a parameter to mxRun, where you pass in the last fit, and this has in it the state of the optimiser which mxRun pushes into the current optimiser run as a set of start values.

fit = mxRun(model)
mxRun(model, fit)
#--> returns almost instantly having been started at the optimal location

Posted on
Picture of user. tbates Joined: 07/31/2009

Confidence intervals (granted)

Confidence intervals are basic to most results sections now, so implementing Mx's 'Intervals' likelihood-based confidence intervals (Neale & Miller, 1997) (plus standard error-based CIs for speed) would be high on the wish-list

maybe something like

mxInterval(..., percent=95, type="ML") where ... consists of matrix addresses

mxInterval(z.A) would mean all cells of A
mxInterval(z.A[1:2,], type="SE") first two rows of A, standard-error based method