You are here

The reference 'multiTwinSat.untitled...' is unknown in the algebra...

7 posts / 0 new
Last post
pgseye's picture
Offline
Joined: 10/13/2009 - 23:50
The reference 'multiTwinSat.untitled...' is unknown in the algebra...

Hi Guys,

I ran a saturated model ok initially, but now I get these strange errors that vary in the reference each time I try to run it:

> multiTwinSatFit <- mxRun(multiTwinSatModel)
Running multiTwinSat
Error: The reference 'multiTwinSat.untitled131' is unknown in the algebra named 'Sibs.expVarSibL'
> multiTwinSatFit <- mxRun(multiTwinSatModel)
Running multiTwinSat
Error: The reference 'multiTwinSat.untitled197' is unknown in the algebra named 'Sibs.expVarSibL'
> multiTwinSatFit <- mxRun(multiTwinSatModel)
Running multiTwinSat
Error: The reference 'multiTwinSat.untitled263' is unknown in the algebra named 'Sibs.expVarSibL'
>

Any ideas?

Thanks,

Paul

edit: It must be something in my data - If I comment out 'Sibs.expVarSibL' and 'Sibs.expMeanSibL', it runs.

mspiegel's picture
Offline
Joined: 07/31/2009 - 15:24
User created matrices or

User created matrices or algebras that are declared without a 'name=' argument are given untitled names. But the front-end also creates some untitled names when it performs some transformations on the model. Can you post your script? Then we could determine which of the two cases is happening.

pgseye's picture
Offline
Joined: 10/13/2009 - 23:50
Thanks Michael, I've given

Thanks Michael,

I've given the algebras names, so I think I've done that right. I've noticed that the 'untitled' reference number increments at regular intervals. When I clear the workspace and/or quit R, the referencing continues from where it left off. A reboot starts it back at zero.

I've attached data and the script and marked the implicated model (delete the .txt extensions).

Thanks for your help.

Paul

mspiegel's picture
Offline
Joined: 07/31/2009 - 15:24
I've found the bug in the

I've found the bug in the OpenMx library. I've reproduced the problem with a simpler test case.

nv <- 2
A <- mxAlgebra(nv, name = 'A')
B <- mxAlgebra(2, name = 'B')
model1 <- mxModel('model1', A)
model2 <- mxModel('model2', B)
model3 <- mxModel('model3', A, B)
mxRun(model1)
mxRun(model2)
mxRun(model3)

model1 and model2 will run, but model3 throws an error. What is happening is that I'm reusing the same anonymous 1 x 1 matrix to store the value '2' for the 'A' matrix and the 'B' matrix. But somehow I'm not keeping track of the correct names, and an error is thrown. I'm working on a solution.

pgseye's picture
Offline
Joined: 10/13/2009 - 23:50
Thanks for your help with

Thanks for your help with this Michael,

Interestingly, I find if I assign each number to a variable, the model runs. It'd be nicer just to enter the number though.

nv2<-2
nv3<-3
nv4<-4

mspiegel's picture
Offline
Joined: 07/31/2009 - 15:24
I've checked in a patch to

I've checked in a patch to the source code repository that fixes the bug. It will be available in the next binary release. The workaround you've found should work, of assigning each constant number to a variable, and then using the variables. Another workaround is to eliminate all the variables that store constants, and only use the constants. Both of these are annoying.

It's actually only variable names and constants that overlap that trigger the error. So you shouldn't have to necessarily replace everything.

In the meantime, I'm running the original version of your script on one of our compute boxes. I can email you the results of the optimizations when it completes. It will be a good sanity check to make sure we are getting the same results.

pgseye's picture
Offline
Joined: 10/13/2009 - 23:50
Thanks and yes would

Thanks and yes would appreciate your output from the script.

prseye@gmail.com