! Multivariate Cholesky ACE model
! NL IQ data 

#NGroups 4
#define nvar 6

G1: Define matrices
 Calculation
 Begin Matrices;
  X lower nvar nvar Free     ! cholesky of genetic path coefficients
  Y lower nvar nvar Free     ! cholesky of shared environment path coefficients
  Z lower nvar nvar Free     ! choleksy of unique environment path coefficients
  M full  1 nvar Free        ! means 
 End Matrices;
  Start 7 M 1 1 - M 1 nvar
  Start 10 Z 1 1 1  Z 1 2 2  Z 1 3 3  Z 1 4 4  Z 1 5 5  Z 1 6 6
 Begin Algebra;
  A= X*X';                   ! additive genetic variance components
  C= Y*Y';                   ! shared environment variance components
  E= Z*Z';                   ! nonshared environment variance components
 End Algebra;
 Option No_Output
End

G2: MZ twins
#include iqnlmz2.dat
!-------------------- file to include ----------------------------
! Data NInputvars=18	           
!  Rectangular File=iqnl2.rec
!  Labels famid zygos 
!   age_t1 sex_t1 var1_t1 var2_t1 var3_t1 var4_t1 var5_t1 var6_t1
!   age_t2 sex_t2 var1_t2 var2_t2 var3_t2 var4_t2 var5_t2 var6_t2
!  Select if zygos < 3 ;	!select dz's
!  Select 
!   var1_t1 var2_t1 var3_t1 var4_t1 var5_t1 var6_t1
!   var1_t2 var2_t2 var3_t2 var4_t2 var5_t2 var6_t2 ;
!-----------------------------------------------------------------
 Begin Matrices = Group 1;
 Means M | M ; 
 Covariance A+C+E | A+C   _
            A+C   | A+C+E  ;
 Option Rsiduals
End

G3: DZ twins
#include iqnldz2.dat
 Begin Matrices= Group 1;
  H full 1 1
 End Matrices;
  Matrix H .5
 Means M | M ;
 Covariance A+C+E | H@A+C _
            H@A+C | A+C+E  ;
 Option Rsiduals 
End

G4: Calculate Standardised Solution
 Calculation
 Matrices = Group 1
  I Iden nvar nvar
 End Matrices;
 Begin Algebra;
  R=A+C+E;                   ! total variance
  S=(\sqrt(I.R))~;           ! diagonal matrix of standard deviations
  P=S*X_ S*Y_ S*Z;           ! standardized estimates for common factors
 End Algebra; 
 Labels Row P a1 a2 a3 a4 a5 a6 c1 c2 c3 c4 c5 c6 e1 e2 e3 e4 e5 e6
 Labels Col P var1 var2 var3 var4 var5 var6
 Options NDecimals=4
 Option Sat= 2656.321, 780
End