&(J=w);
&(J=y);
&(J=z);
&(J=a1);
&(J=a2);
&(J=a3);
&(J=a4);
&(J=a5);
&(J=a6);
&(J=b1);
&(J=b2);
&(J=b3);
&(J=b4);
&(J=b5);
&(J=b6);
&(J=c1);
&(J=c2);
&(J=c3);
&(J=c4);
&(J=c5);
&(J=c6);


&(m=0);

f := a6*y^2 + a5*y*z + a4*y*w + a3*z^2 + a2*z*w + a1*w^2;

g := b6*y^2 + b5*y*z + b4*y*w + b3*z^2 + b2*z*w + b1*w^2;

h := c6*y^2 + c5*y*z + c4*y*w + c3*z^2 + c2*z*w + c1*w^2;
 
 [d1] := [[  a6, a5, a4, a3, a2, a1, 0,  0,  0,  0,  0,  0,  0,  0,  0,  
             0,  0,  a6, 0,  a5, a4, 0,  a3, a2, a1, 0,  0,  0,  0,  0,  
             0,  a6, 0,  a5, a4, 0,  a3, a2, a1, 0,  0,  0,  0,  0,  0,  
             0,  0,  0,  a6, 0,  0,  a5, a4, 0,  0,  a3, a2, a1, 0,  0,  
             0,  0,  0,  0,  a6, 0,  0,  a5, a4, 0,  0,  a3, a2, a1, 0,  
             0,  0,  0,  0,  0,  a6, 0,  0,  a5, a4, 0,  0,  a3, a2, a1,  
             0,  0,  0,  b6, 0,  0,  b5, b4, 0,  0,  b3, b2, b1, 0,  0,  
             0,  0,  0,  0,  b6, 0,  0,  b5, b4, 0,  0,  b3, b2, b1, 0,  
             0,  b6, 0,  b5, b4, 0,  b3, b2, b1, 0,  0,  0,  0,  0,  0,  
             0,  0,  b6, 0,  b5, b4, 0,  b3, b2, b1, 0,  0,  0,  0,  0,  
             0,  0,  0,  0,  0,  b6, 0,  0,  b5, b4, 0,  0,  b3, b2, b1,  
             0,  0,  0,  0,  0,  c6, 0,  0,  c5, c4, 0,  0,  c3, c2, c1,  
             0,  0,  c6, 0,  c5, c4, 0,  c3, c2, c1, 0,  0,  0,  0,  0,  
             0,  c6, 0,  c5, c4, 0,  c3, c2, c1, 0,  0,  0,  0,  0,  0,  
             0,  0,  0,  0,  c6, 0,  0,  c5, c4, 0,  0,  c3, c2, c1, 0   ]];
 
 [d2] := [[  b6, b5, b4, b3, b2, b1, 0,  0,  0,  0,  0,  0,  0,  0,  0,  
             0,  0,  b6, 0,  b5, b4, 0,  b3, b2, b1, 0,  0,  0,  0,  0,  
             0,  b6, 0,  b5, b4, 0,  b3, b2, b1, 0,  0,  0,  0,  0,  0,  
             0,  0,  0,  b6, 0,  0,  b5, b4, 0,  0,  b3, b2, b1, 0,  0,  
             0,  0,  0,  0,  b6, 0,  0,  b5, b4, 0,  0,  b3, b2, b1, 0,  
             0,  0,  0,  0,  0,  b6, 0,  0,  b5, b4, 0,  0,  b3, b2, b1,  
             0,  0,  0,  c6, 0,  0,  c5, c4, 0,  0,  c3, c2, c1, 0,  0,  
             0,  0,  0,  0,  c6, 0,  0,  c5, c4, 0,  0,  c3, c2, c1, 0,  
             0,  c6, 0,  c5, c4, 0,  c3, c2, c1, 0,  0,  0,  0,  0,  0,  
             0,  0,  c6, 0,  c5, c4, 0,  c3, c2, c1, 0,  0,  0,  0,  0,  
             0,  0,  0,  0,  0,  c6, 0,  0,  c5, c4, 0,  0,  c3, c2, c1,  
             0,  0,  0,  0,  0,  a6, 0,  0,  a5, a4, 0,  0,  a3, a2, a1,  
             0,  0,  a6, 0,  a5, a4, 0,  a3, a2, a1, 0,  0,  0,  0,  0,  
             0,  a6, 0,  a5, a4, 0,  a3, a2, a1, 0,  0,  0,  0,  0,  0,  
             0,  0,  0,  0,  a6, 0,  0,  a5, a4, 0,  0,  a3, a2, a1, 0   ]];

 [d3] := [[  c6, c5, c4, c3, c2, c1, 0,  0,  0,  0,  0,  0,  0,  0,  0,  
             0,  0,  c6, 0,  c5, c4, 0,  c3, c2, c1, 0,  0,  0,  0,  0,  
             0,  c6, 0,  c5, c4, 0,  c3, c2, c1, 0,  0,  0,  0,  0,  0,  
             0,  0,  0,  c6, 0,  0,  c5, c4, 0,  0,  c3, c2, c1, 0,  0,  
             0,  0,  0,  0,  c6, 0,  0,  c5, c4, 0,  0,  c3, c2, c1, 0,  
             0,  0,  0,  0,  0,  c6, 0,  0,  c5, c4, 0,  0,  c3, c2, c1,  
             0,  0,  0,  a6, 0,  0,  a5, a4, 0,  0,  a3, a2, a1, 0,  0,  
             0,  0,  0,  0,  a6, 0,  0,  a5, a4, 0,  0,  a3, a2, a1, 0,  
             0,  a6, 0,  a5, a4, 0,  a3, a2, a1, 0,  0,  0,  0,  0,  0,  
             0,  0,  a6, 0,  a5, a4, 0,  a3, a2, a1, 0,  0,  0,  0,  0,  
             0,  0,  0,  0,  0,  a6, 0,  0,  a5, a4, 0,  0,  a3, a2, a1,  
             0,  0,  0,  0,  0,  b6, 0,  0,  b5, b4, 0,  0,  b3, b2, b1,  
             0,  0,  b6, 0,  b5, b4, 0,  b3, b2, b1, 0,  0,  0,  0,  0,  
             0,  b6, 0,  b5, b4, 0,  b3, b2, b1, 0,  0,  0,  0,  0,  0,  
             0,  0,  0,  0,  b6, 0,  0,  b5, b4, 0,  0,  b3, b2, b1, 0   ]];
             
 Sparse[d1];
 Sparse[d2];
 Sparse[d3];
 &(D=100);

[e] := [[   1,  0,  0,  1,  a4, 0,  0,  a3, a2, a1, 0,  0, `
            0,  1,  0,  0,  1,  a4, 0,  0,  a3, a2, a1, 0, `
            0,  0,  1,  0,  0,  1,  a4, 0,  0,  a3, a2, a1, `
            1,  0,  0,  1,  b4, 0,  0,  b3, b2, b1, 0,  0, `
            0,  1,  0,  0,  1,  b4, 0,  0,  b3, b2, b1, 0, `
            1,  b4, 0,  1,  b2, b1, 0,  0,  0,  0,  0,  0, `
            0,  1,  b4, 0,  b3, b2, b1, 0,  0,  0,  0,  0, `
            0,  0,  1,  0,  0,  1,  b4, 0,  0,  1,  b2, b1, `
            0,  0,  1,  0,  0,  1,  c4, 0,  0,  c3, c2, c1, `
            0,  1,  1,  0,  c3, c2, c1, 0,  0,  0,  0,  0, `
            1,  c4, 0,  c3, c2, c1, 0,  0,  0,  0,  0,  0, `
            0,  1,  0,  0,  1,  c4, 0,  0,  c3, c2, c1, 0   ]];


Func F(i,j) = for i=1,12 do for j=1,12 do !Terms(^f[i,j]); !' ' od; ! od.;


d1 := Det[d1];

d2 := Det[d2];
&x;
g := GCD(^d1,^d2);
&x;

[e] := [[  1,  0,  0,  1,  a4, 0,  0,  a3, a2, a1, 0,  0, `
            0,  1,  0,  0,  1,  a4, 0,  0,  a3, a2, a1, 0, `
            0,  0,  1,  0,  0,  1,  a4, 0,  0,  a3, a2, a1, `
            1,  0,  0,  1,  b4, 0,  0,  b3, 1,  1,  0,  0, `
            0,  1,  0,  0,  1,  b4, 0,  0,  b3, 1,  1,  0, `
            1,  b4, 0,  b3, 1,  1,  0,  0,  0,  0,  0,  0, `
            0,  1,  b4, 0,  b3, 1,  1,  0,  0,  0,  0,  0, `
            0,  0,  1,  0,  0,  1,  b4, 0,  0,  b3, 1,  1, `
            0,  0,  1,  0,  0,  1,  c4, 0,  0,  c3, c2, c1, `
            0,  1,  c4, 0,  c3, c2, c1, 0,  0,  0,  0,  0, `
            1,  c4, 0,  c3, c2, c1, 0,  0,  0,  0,  0,  0, `
            0,  1,  0,  0,  1,  c4, 0,  0,  c3, c2, c1, 0   ]]

        0

 Elapsed time:  0.000

dum count 0
>Terms(Det[e])

 Standard G.E. method, rank 12:  1
  Finish by minors, rank 12:  1 2 3 4 5 6 7 8 9 10 11 12

     6472

 Elapsed time:  1.270

dum count 0
>[f]:=1/[e]

 Standard G.E. method, rank 12:  1 2 3 4 5 6 7 8 9 10 11 12
  Now inverting upper triangular matrix, rank 12:  1 2 3 4 5 6 7 8 9 10 11
 
   Restoring row and column ops. 


        0

 Elapsed time: 14:17.430

>[e]*[f]
[[  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, `
    0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, `
    0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0, `
    0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0, `
    0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0, `
    0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0, `
    0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0, `
    0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0, `
    0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0, `
    0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0, `
    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  0, `
    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1   ]]

        0

 Elapsed time: 2:47.630

for i=1,12 do for j=1,12 do !Terms(^f[i,j]); !' ' od; ! od
8303 8518 8076 8303 8960 9684 9465 8475 8405 9286 9642 8860 
7540 8176 7821 7540 8444 8508 9001 8004 7935 8913 8429 8339 
7404 8077 8021 7404 8272 8238 9511 8339 8228 9318 8200 8197 
8286 8617 7965 8286 9308 9992 9604 8640 8564 9445 9621 9197 
7494 8225 7680 7494 8551 8469 8892 8120 8073 8862 8442 8463 
7312 8148 7796 7312 8392 7970 8720 8056 8013 8679 7954 8290 
7420 8121 8474 7420 8510 8112 9130 8683 8560 8936 8083 8432 
9813 9289 8853 10821 10490 9586 10508 9729 9559 10283 9493 10404 
7524 8957 8034 7524 9902 8400 9146 8646 8620 9057 8383 9598 
7186 8387 7874 7186 8806 7739 8445 8298 8244 8401 7724 8652 
7299 8379 8184 7299 8705 7925 8645 8604 8573 8477 7885 8595 
7458 8365 9217 7458 8873 8167 9035 9803 9591 8838 8113 8774 

             
             
