def cov_m(L,V) { X = newmat(length(L), 27); Col = 0; for (A = 0; A < 3; A++) for (B = 0; B < 3; B++) for (C = 0; C < 3; C++) { for (I = 0; I < length(L); I++) { Val = subst(L[I],a,A,b,B,c,C); if (Val % 3 == V[I]) X[I][Col] = 1; else X[I][Col] = 0; } Col++; } return X; } def check_cov_m() { return cov_m([1,a,a,a,b,b,b,c,c,c,a+b+c,a+b+c,a+b+c],[1,0,1,2,0,1,2,0,1,2,0,1,2]); } def cov_m_q9() { return cov_m([1,a,a,a,b,b,b,c,c,c,a+b+c,a+b+c,a+b+c],[1,0,1,2,0,1,2,0,1,2,0,1,2]); } def cov_m_q10() { /* A,B,C,D D=ABC */ /* main effects and interaction effect A x B */ return cov_m([1,a,a,a,b,b,b,c,c,c,a+b+c,a+b+c,a+b+c,a+b,a+b,a+b,a+2*b,a+2*b,a+2*b],[1,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2]); } def cov_m_q10_() { /* A,B,C,D D=ABC */ /* main effects and interaction effects A x B, A x C*/ return cov_m([1,a,a,a,b,b,b,c,c,c,a+b+c,a+b+c,a+b+c,a+b,a+b,a+b,a+2*b,a+2*b,a+2*b,a+c,a+c,a+c,a+2*c,a+2*c,a+2*c],[1,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2]); } def cov_m_q10__() { /* A,B,C,D D=ABC */ /* main effects and interaction effects A x B, A x C, B x C */ return cov_m([1,a,a,a,b,b,b,c,c,c,a+b+c,a+b+c,a+b+c,a+b,a+b,a+b,a+2*b,a+2*b,a+2*b,a+c,a+c,a+c,a+2*c,a+2*c,a+2*c,b+c,b+c,b+c,b+2*c,b+2*c,b+2*c],[1,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2]); } def cov_m_q10___() { /* A,B,C,D D=ABC */ /* main effects and interaction effects A x B, A x C, A x D */ return cov_m([1,a,a,a,b,b,b,c,c,c,a+b+c,a+b+c,a+b+c,a+b,a+b,a+b,a+2*b,a+2*b,a+2*b,a+c,a+c,a+c,a+2*c,a+2*c,a+2*c,2*a+b+c,2*a+b+c,2*a+b+c,2*b+2*c,2*b+2*c,2*b+2*c],[1,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2]); } end$