Hi All:
I just got this strange error message when I ran the script below (trying to use a covariance matrix rather than raw data).
Error in runHelper(model, frontendStart, intervals, silent, suppressWarnings, :
BLAS/LAPACK routine 'DSYMM ' gave error code -9
Here is the script that generated the error:
require(OpenMx)
source("http://www.vipbg.vcu.edu/~vipbg/Tc24/GenEpiHelperFunctions.R")
mzCov <- matrix(c(1, .6, .6, 1), 2,
dimnames=list(c("y1", "y2"), c("y1", "y2")))
dzCov <- matrix(c(1, .4, .4, 1), 2,
dimnames=list(c("y1", "y2"), c("y1", "y2")))
Fit Multivariate ACE Model using Cholesky Decomposition
-----------------------------------------------------------------------
Vars <- c("y1", "y2")
nv <- 2
selVars <- paste(Vars,c(rep(1,nv),rep(2,nv)),sep="")
ntv <- nv*2
mzData <- mzCov
dzData <- dzCov
Fit Multivariate ACE Model using Cholesky Decomposition
-----------------------------------------------------------------------
multACEModel <- mxModel("multACE",
mxModel("ACE",
# Matrices a, c, and e to store a, c, and e path coefficients
mxMatrix( type="Lower", nrow=nv, ncol=nv, free=TRUE, values=.6,label=c("a11", "a21","a22"), name="a" ),
mxMatrix( type="Lower", nrow=nv, ncol=nv, free=TRUE, values=.6,label=c("c11", "c21","c22"), name="c" ),
mxMatrix( type="Lower", nrow=nv, ncol=nv, free=TRUE, values=.6,label=c("e11", "e21","e22"), name="e" ),
Matrices A, C, and E compute variance components
mxAlgebra( expression=a %*% t(a), name="A" ),
mxAlgebra( expression=c %*% t(c), name="C" ),
mxAlgebra( expression=e %*% t(e), name="E" ),
Algebra to compute total variances and standard deviations (diagonal only)
mxAlgebra( expression=A+C+E, name="V" ),
mxMatrix( type="Iden", nrow=nv, ncol=nv, name="I"),
mxAlgebra( expression=solve(sqrt(I*V)), name="isd"),
Matrix & Algebra for expected means vector
mxMatrix( type="Full", nrow=1, ncol=nv, free=TRUE, values= .5, name="M" ),
mxAlgebra( expression= cbind(M,M), name="expMean"),
Algebra for expected variance/covariance matrix in MZ
mxAlgebra( expression= rbind ( cbind(A+C+E , A+C),
cbind(A+C , A+C+E)), name="expCovMZ" ),
Algebra for expected variance/covariance matrix in DZ, note use of 0.5, converted to 1*1 matrix
mxAlgebra( expression= rbind ( cbind(A+C+E , 0.5%x%A+C),
cbind(0.5%x%A+C , A+C+E)), name="expCovDZ" )
),
mxModel("MZ",
mxData(observed=dzCov , type="cov", numObs=100 ),
mxMLObjective( covariance="ACE.expCovMZ", dimnames=selVars )
),
mxModel("DZ",
mxData( observed=dzCov , type="cov", numObs=100 ),
mxMLObjective( covariance="ACE.expCovDZ", dimnames=selVars )
),
mxAlgebra( expression=MZ.objective + DZ.objective, name="2sumll" ),
mxAlgebraObjective("2sumll")
)
multACEFit <- mxRun(multACEModel, intervals=F)
multACESumm <- summary(multACEFit)
multACESumm