You are here

omxMnor returns value for non p.d. cov.

3 posts / 0 new
Last post
wuhao_osu's picture
Offline
Joined: 09/07/2010 - 17:14
omxMnor returns value for non p.d. cov.

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.

neale's picture
Offline
Joined: 07/31/2009 - 15:14
omxMnor() bug

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

neale's picture
Offline
Joined: 07/31/2009 - 15:14
omxMnor() bug

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