This is an issue that has been around a while--since version 1.3.2, at least. I have seen it under Windows and Linux. There are two components of Mx options called "Optimality tolerance", each having a slightly different default value. You can see for yourself with options()$mxOption
. This is problematic because there is no way to set the option to a different value:
> factorModel <- mxOption(factorModel,"Optimality tolerance", 6.3e-11) Error in optionsNames[[match]] : attempt to select more than one element > mxOption(NULL,"Optimality tolerance", 6.3e-11) Error in optionsNames[[match]] : attempt to select more than one element
Comments
#1
The proximal reason for this error message is that the options are a list, and that list has both
and
So when it tries to get the element of the list named "Optimality tolerance", there are two such elements. I don't know why there are two, but this code goes way back. Running "make clean install test" with the as.character Optimality tolerance removed causes no errors. Does anyone know of a reason to keep it?
#2
> Does anyone know of a reason to keep it?
The main thing is to ensure that models/nightly/DefaultOptTolerance.R still passes. So yes, please remove the duplicate and confusing setting.
#3
Tim Brick fixed this by removing the extra Optimality tolerance in svn r3606.