Thu, 08/18/2011 - 12:50

Hi,

I just found that the omxMnor returns a value for an input involving a non p.d. covariance matrix.

Example

omxMnor(array(1,dim=c(2,2)),cbind(0,0),cbind(-Inf,-Inf),cbind(0,0))

returns a value of .375. The limiting value should be .5

S<-diag(1,2);

S[1,2]<-S[2,1]<-2

omxMnor(S,cbind(0,0),cbind(-Inf,-Inf),cbind(0,0))

returns a value of 0.4262082, though S is not p.d.

I have filed this as a bug: http://openmx.psyc.virginia.edu/issue/2011/08/omxmnor-problem

Same problem exists with Classic Mx, with which it is more cumbersome to show... implicates integration routine issue.

#ngroups 1

Test mnor with singular matrix

Calc

Begin Matrices;

m full 1 2 ! means

c symm 2 2 ! covs

u unit 1 2 ! integral type (1 = t to +inf)

z full 1 2 ! thresholds

End Matrices;

Matrix C 1 1 1

Begin Algebra;

W = \mnor(C_M_Z_Z_U);

End Algebra;

Option issat rs

end

#ngroups 1

Test mnor with negative definite matrix

Calc

Begin Matrices;

m full 1 2 ! means

c symm 2 2 ! covs

u unit 1 2 ! integral type (1 = t to +inf)

z full 1 2 ! thresholds

End Matrices;

Matrix C 1 2 1

Begin Algebra;

W = \mnor(C_M_Z_Z_U);

End Algebra;

Option issat rs

end