array(idx,1); idx[0]:x; idx[1]:y; array(g_2,1,1)(x,y); g_2[0,0](x,y):=4/(1-x^2-y^2)^2; g_2[0,1](x,y):=0; g_2[1,0](x,y):=0; g_2[1,1](x,y):=4/(1-x^2-y^2)^2; g_2_norm(x,y):=ratsimp(g_2[0,0](x,y)*g_2[1,1](x,y)-g_2[0,1](x,y)*g_2[1,0](x,y)); array(g2,1,1)(x,y); g2[0,0](x,y):=ratsimp(g_2[1,1](x,y)/g_2_norm(x,y)); g2[0,1](x,y):=ratsimp(-g_2[0,1](x,y)/g_2_norm(x,y)); g2[1,0](x,y):=ratsimp(-g_2[1,0](x,y)/g_2_norm(x,y)); g2[1,1](x,y):=ratsimp(g_2[0,0](x,y)/g_2_norm(x,y)); array(g_2d,1,1,1)(x,y); for i:0 thru 1 do for j:0 thru 1 do for k:0 thru 1 do g_2d[i,j,k](x,y):=ratsimp(diff(g_2[i,j](x,y),idx[k],1)); array(gam_3,1,1,1)(x,y); for i:0 thru 1 do for j:0 thru 1 do for k:0 thru 1 do gam_3[i,j,k](x,y):=ratsimp(1/2*(g_2d[i,j,k](x,y)+g_2d[i,k,j](x,y)-g_2d[j,k,i](x,y))); array(gam1_2,1,1,1)(x,y); for i:0 thru 1 do for j:0 thru 1 do for k:0 thru 1 do gam1_2[i,j,k](x,y):=ratsimp(g2[i,0](x,y)*gam_3[0,j,k](x,y)+g2[i,1](x,y)*gam_3[1,j,k](x,y)); array(r1_3,1,1,1,1)(x,y); for i:0 thru 1 do for j:0 thru 1 do for k:0 thru 1 do for l:0 thru 1 do r1_3[i,j,k,l](x,y):=ratsimp(diff(gam1_2[i,j,l](x,y),idx[k],1)-diff(gam1_2[i,j,k](x,y),idx[l],1)+gam1_2[0,j,l](x,y)*gam1_2[i,0,k](x,y)+gam1_2[1,j,l](x,y)*gam1_2[i,1,k](x,y)-gam1_2[0,j,k](x,y)*gam1_2[i,0,l](x,y)-gam1_2[1,j,k](x,y)*gam1_2[i,1,l](x,y)); array(r_4,1,1,1,1)(x,y); for i:0 thru 1 do for j:0 thru 1 do for k:0 thru 1 do for l:0 thru 1 do r_4[i,j,k,l](x,y):=ratsimp(g_2[i,0](x,y)*r1_3[0,j,k,l](x,y)+g_2[i,1](x,y)*r1_3[1,j,k,l](x,y)); array(r_2,1,1)(x,y); for i:0 thru 1 do for j:0 thru 1 do r_2[i,j](x,y):=ratsimp(r1_3[0,i,0,j](x,y)+r1_3[1,i,1,j](x,y)); r(x,y):=ratsimp(g2[0,0](x,y)*r_2[0,0](x,y)+g2[0,1](x,y)*r_2[0,1](x,y)+g2[1,0](x,y)*r_2[1,0](x,y)+(g2[1,1](x,y)*r_2[1,1](x,y)));