/*Example 13.7.1 --- A Test for Equality of Covariance */ proc iml; s1={3.622 3.564 3.415 4.282, 3.564 3.566 3.419 4.312, 3.415 3.419 3.551 4.994, 4.282 4.312 4.994 8.032}; s2={3.403 3.277 3.543 4.555, 3.277 3.171 3.375 4.379, 3.543 3.375 4.006 5.346, 4.555 4.379 5.346 7.770}; p=4;f1=5;f2=5;f=f1+f2; k=2; s=(f1*s1+f2*s2)/f; lambda=exp(f1/2*log(det(s1)))*exp(f2/2*log(det(s2)))/ exp(f/2*log(det(s))); alpha=(f**2-f1*f2)*(2*p**2+3*p-1)/(12*(p+1)*f1*f2); g=p*(p+1)/2; m=f-2*alpha; chi0=-2*m*log(lambda)/f; chia=cinv(1-0.05,g); print alpha lambda chi0 chia; if chi0>chia then print "CHI0 > CHIA: reject"; else print "CHI0 < CHIA: accept"; quit; ALPHA LAMBDA 2.15 0.0001992 CHI0 CHIA 9.7140122 18.307038 CHI0 < CHIA: accept