Sun, 08/15/2010 - 10:30

Hi,

I am trying to implement the Satorra-Bentler robust standard error. It requires the Jacobian matrix in the calculations. Apparently, the Jacobian matrix is called "cJac" in npsolWrap.c. I would like to see whether it is possible to access "cJac" in OpenMx. Thanks in advance.

Regards,

Mike

From a very quick browse of the source code, it looks like OpenMx doesn't export the cJac values back to the frontend. tbrick will be able to confirm my suspicion. It should be relatively painless to add the cJac matrix to the output of a model. We can take of that after we've finished adding the performance optimizations in preparation for OpenMx 1.0.

mneale and I are both assuming that you are interested in the final value of the Jacobian matrix at the end of optimizations. You don't need the intermediate values, let say to use in a mxAlgebra() statement during the optimization? That would be a little more complicated.

Thanks, both Mikes.

Gradient vector may not be very useful here as I don't think that it can be easily converted into a Jacobian matrix.

Yes, just the final value of the Jacobian matrix at the end of optimizations is sufficient. Looking forward to seeing the OpenMx 1.0.

Try

fittedModelObject@output$gradient

I note that although there are two Hessians, one estimated by NPSOL during optimization (fittedModelObject@output$estimatedHessian), and one computed explicitly by OpenMx after optimization (fittedModelObject@output$calculatedHessian), but there seems to be only one gradient vector.