array(idx,1); idx[0]:t; idx[1]:f; array(g_2,1,1)(t,f); g_2[0,0](t,f):=p^2; g_2[0,1](t,f):=0; g_2[1,0](t,f):=0; g_2[1,1](t,f):=p^2*(sin(t))^2; g_2_norm(t,f):=ratsimp(g_2[0,0](t,f)*g_2[1,1](t,f)-g_2[0,1](t,f)*g_2[1,0](t,f)); array(g2,1,1)(t,f); g2[0,0](t,f):=ratsimp(g_2[1,1](t,f)/g_2_norm(t,f)); g2[0,1](t,f):=ratsimp(-g_2[0,1](t,f)/g_2_norm(t,f)); g2[1,0](t,f):=ratsimp(-g_2[1,0](t,f)/g_2_norm(t,f)); g2[1,1](t,f):=ratsimp(g_2[0,0](t,f)/g_2_norm(t,f)); array(g_2d,1,1,1)(t,f); for i:0 thru 1 do for j:0 thru 1 do for k:0 thru 1 do g_2d[i,j,k](t,f):=ratsimp(diff(g_2[i,j](t,f),idx[k],1)); array(gam_3,1,1,1)(t,f); for i:0 thru 1 do for j:0 thru 1 do for k:0 thru 1 do gam_3[i,j,k](t,f):=ratsimp(1/2*(g_2d[i,j,k](t,f)+g_2d[i,k,j](t,f)-g_2d[j,k,i](t,f))); array(gam1_2,1,1,1)(t,f); for i:0 thru 1 do for j:0 thru 1 do for k:0 thru 1 do gam1_2[i,j,k](t,f):=ratsimp(g2[i,0](t,f)*gam_3[0,j,k](t,f)+g2[i,1](t,f)*gam_3[1,j,k](t,f)); array(r1_3,1,1,1,1)(t,f); 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](t,f):=ratsimp(diff(gam1_2[i,j,l](t,f),idx[k],1)-diff(gam1_2[i,j,k](t,f),idx[l],1)+gam1_2[0,j,l](t,f)*gam1_2[i,0,k](t,f)+gam1_2[1,j,l](t,f)*gam1_2[i,1,k](t,f)-gam1_2[0,j,k](t,f)*gam1_2[i,0,l](t,f)-gam1_2[1,j,k](t,f)*gam1_2[i,1,l](t,f)); array(r_4,1,1,1,1)(t,f); 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](t,f):=ratsimp(g_2[i,0](t,f)*r1_3[0,j,k,l](t,f)+g_2[i,1](t,f)*r1_3[1,j,k,l](t,f)); array(r_2,1,1)(t,f); for i:0 thru 1 do for j:0 thru 1 do r_2[i,j](t,f):=ratsimp(r1_3[0,i,0,j](t,f)+r1_3[1,i,1,j](t,f)); r(t,f):=ratsimp(g2[0,0](t,f)*r_2[0,0](t,f)+g2[0,1](t,f)*r_2[0,1](t,f)+g2[1,0](t,f)*r_2[1,0](t,f)+(g2[1,1](t,f)*r_2[1,1](t,f)));