/////////////////////////////////////////////////////////////////////////// // // allcomponents.sing // // Gabor Megyesi // Frank Sottile // Thorsten Theobald // // Began: 25 April 2002 // Current: 27 May 2002 // /////////////////////////////////////////////////////////////////////////// // // In the appendix of the paper // // G. Megyesi, F. Sottile, T. Theobald: // "Common transversals and tangents to two lines and // two quadrics in $\mathbb{P}^3$", // // one of the 6 factors of main factorization (resulting as output of // the factorizing Groebner basis algorithm) is analyzed by hand. // Although the other components look somewhat similar, they also // have to be analyzed in the same way. // // In the current text file, we carry out this analysis for ALL six // factors. Every factor describes two plane conics. // By symmetry, it suffices to consider one of the two conics in each // factor. // // In fact, the current file is a SINGULAR program. Although the main // steps in the analysis are done by hand (see below), it was convenient // to put all these calculations into a SINGULAR file. Namely, several // SINGULAR steps serve to do some routine calculations and also to serve // for verification purposes. // /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// // // The calculations have to be carried out over the field // Q(sqrt(s),sqrt(t)) // // Throughout the description we use the identification // // u = sqrt(s), v = sqrt(t) // /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// // // Before starting with our calculations, we define some auxiliary // SINGULAR routines. // // wedgep3: computes the wedge product of a 4x4-matrix (which describes // a quadric in projective 3-space) // // checkidealequality: checks whether two given ideals are equal // // considerpoint: In order to verify non-vanishing of a component, (for every // possible value of s and t in the admissible set) we investigate // an explicit point // //////////////////////////////////////////////////////////////////////////// int T = timer; LIB "primdec.lib"; LIB "poly.lib"; option(redSB); // procedure which computes the required wedge function for a 5x5-matrix proc wedgep3(matrix m) { int i1, j1, i2, j2, z1, z2; matrix mwedge[6][6]; z1 = 0; for (i1=1; i1 <= 4; i1++) { for (j1 = i1+1; j1 <= 4; j1++) { z1 = z1 + 1; z2 = 0; for (i2=1; i2 <= 4; i2++) { for (j2 = i2+1; j2 <= 4; j2++) { z2 = z2 + 1; mwedge[z1,z2] = m[i1][i2] * m[j1][j2] - m[i1][j2] * m[i2][j1]; } } } } return(mwedge); } // procedure which checks whether two ideals are equal // returns 1 if equal; else 0 proc checkidealequality(ideal I1, ideal I2) { int i; ideal J1, J2; printf("Check equality of ideals."); J1 = std(I1); J2 = std(I2); if (size(J1) != size(J2)) { print("The ideals are not equal."); return(0); } for (i = 1; i <= size(J1); i++) { if (J1[i] != J2[i]) { print("The ideals are not equal."); return(0); } } print("The ideals are equal."); return(1); } // consider a specific point on a component proc considerpoint(ideal I, vector p) { print("Consider the following point."); print(p); print("We check that the point is contained in the variety of the componenent."); ideal K; K = subst(I,a,p[1]); K = subst(K,b,p[2]); K = subst(K,c,p[3]); K = subst(K,d,p[4]); K = subst(K,e,p[5]); K = subst(K,f,p[6]); K = subst(K,g,p[7]); K = subst(K,h,p[8]); K = subst(K,k,p[9]); K = subst(K,l,p[10]); print("The following outputs K[i] should all be zero."); K; // Now compute the function \phi of that point, i.e., the associated // bihomogeneous curve matrix Q[4][4] = p[1], p[2], p[3], p[4], p[2], p[5], p[6], p[7], p[3], p[6], p[8], p[9], p[4], p[7], p[9], p[10]; matrix tQ[6][6] = wedgep3(Q); matrix pl[6][1] = 0, w*y, w*z, x*y, x*z, 0; // Compute the tangent equation ideal taneq = transpose(pl) * tQ * pl; taneq; print("Factor the tangent equation. From this factorization it can be seen"); print("that for no pair (s,t) in the set of admissible values the tangent"); print("equation vanishes:"); factorize(taneq[1]); return(1); } ring R = (0,u,v), (a,b,c,d,e,f,g,h,k,l,w,x,y,z), lp; short = 0; ideal I; ideal Ired; // will contain redundant polynomials vector p; int tmp; print("--------------------------------------------------------------"); print("2nd factor of 6 (the one shown in the appendix)."); print("--------------------------------------------------------------"); // The following is the output of the Groebner basis for this factor // as computed by Singular // // FS[1]=(s-1)*k^2-2*k*l-l^2 // FS[2]=(s-1)*h+(2*t-2)*k+(t-1)*l // FS[3]=f*l-g*k // FS[4]=(s-1)*f*k-2*g*k-g*l // FS[5]=(s-1)*f^2-2*f*g-g^2 // FS[6]=e*l-g^2 // FS[7]=e*k-f*g // FS[8]=d+f+g // FS[9]=c // FS[10]=2*b+e // FS[11]=a // We analyze this description of this factor by hand. // For the current ideal, the first polynomial factors into // ((u+1)*k + l) * ((u-1)*k - l) // Here, we consider the first factor of that factorization. // We will use the polynomials // 1, 2, 3, 6, 8, 9, 10, 11 // to generate the conic in Q(u,v). // Namely, substituting l=-(u+1)k into the generator fl-gk , // that one factors into // -k * ((u+1)f + g) . // Since any zero of the ideal FS with k=0 would imply a=c=d=f=g=h=k=l=0 // and thus be contained in V(E_3), we can // divide by k and obtain a linear polynomial. // Altogether, we obtain seven linear and one quadratic generator: I = (u+1)*k+l, (u^2-1)*h + (2*v^2-2)*k + (v^2-1)*l, (u+1)*f+g, e*l-g^2, d+f+g, c, 2b+e, a; // The codimension is six due to homogeneity and due to the four additional // variables w,x,y,z needed below. degree(std(I)); // The following computation shows that the polynomials // 4, 5, 7 // are contained in the ideal defined by the polynomials above. Ired = (u^2-1)*f*k-2*g*k-g*l, (u^2-1)*f^2-2*f*g-g^2, e*k-f*g; tmp = checkidealequality(I,I + Ired); // In order to show that the map $\varphi$ does not vanish identically // on the conic above, we consider the following point on the conic. // For every relevant u and v this is a point in P^9 (obviously, // not all components vanish for the relevant values of u,v) p = [ 0, -(u+1)*(u^2-1), 0, -2*u*(u^2-1), 2*(u+1)*(u^2-1), -2*(u^2-1), 2*(u+1)*(u^2-1), 4*(v^2-1)-2*(v^2-1)*(u+1), -2*(u^2-1), 2*(u+1)*(u^2-1) ]; tmp = considerpoint(I, p); print("--------------------------------------------------------------"); print("1st factor of 6."); print("--------------------------------------------------------------"); // The following is the output of the Groebner basis for this factor // as computed by Singular // FS[1]=(-s^2+2*s-1)*k^2+(2*s-2)*k*l+(s*t-1)*l^2 // FS[2]=(s-1)*h+(-t+1)*l // FS[3]=f*l-g*k // FS[4]=(s^2-2*s+1)*f*k+(-2*s+2)*g*k+(-s*t+1)*g*l // FS[5]=(-s^2+2*s-1)*f^2+(2*s-2)*f*g+(s*t-1)*g^2 // FS[6]=e*l-g^2 // FS[7]=e*k-f*g // FS[8]=(s*t-t)*d*l+(s-1)*g*k+(s*t-1)*g*l // FS[9]=(s^2*t-2*s*t+t)*d*k+(s^2*t-s*t+s-1)*g*k+(s*t-1)*g*l // FS[10]=(s*t-t)*d*g+(s-1)*f*g+(s*t-1)*g^2 // FS[11]=(-s^2*t+2*s*t-t)*d*f+(-s^2*t+s*t-s+1)*f*g+(-s*t+1)*g^2 // FS[12]=(s*t-t)*d*e+(s-1)*e*f+(s*t-1)*e*g // FS[13]=(s^2*t-2*s*t+t)*d^2+(-2*s^2+2*s)*f*g+(-s^2*t+s)*g^2 // FS[14]=c+d+f+g // FS[15]=(2*s*t-2*t)*b+(2*s*t-s-t)*e // FS[16]=(s*t-t)*a+(-s*t+s)*e // We analyze this description of this factor by hand. // For the current ideal, the first polynomial factors into // ((u^2-1)*k + (uv-1)*l) * ( - (u^2-1) * k + (uv+1) * l) // Here, we consider the first factor of that factorization. // We will use the polynomials // 1, 2, 3, 6, 12, 14, 15, 16 // to generate the conic in Q(u,v). // Namely, substituting l=-(u^2-1)*k/(uv-1) into the generator fl-gk , // that one factors into // - k * ((u^2-1) * f + (uv-1) * g) / (uv-1) // Since any zero of the ideal FS with k=0 would imply c=d=f=g=h=k=l=0 // and thus be contained in V(E_3), we can // divide by k and obtain a linear polynomial. // Similarly, polynomial 12 contains the factor e. // Since any zero of the ideal with e=0 would imply a=b=c=d=e=f=g=0 // and thus be contained in V(E_2), we can // divide by e and obtain a linear polynomial. // Altogether, we obtain seven linear and one quadratic generator: I = (u^2-1)*k + (u*v-1)*l, (u^2-1)*h + (-v^2+1)*l, ((u^2-1) * f + (u*v-1) * g), e*l - g^2, (u^2*v^2-v^2)*d + (u^2-1)*f + (u^2*v^2-1)*g, c+d+f+g, (2*u^2*v^2-2*v^2)*b+(2*u^2*v^2-u^2-v^2)*e, (u^2*v^2-v^2)*a + (-u^2*v^2+u^2)*e; // The codimension is six due to homogeneity and due to the four additional // variables w,x,y,z needed below. degree(std(I)); // The following computation shows that the polynomials // 4, 5, 7, 8, 9, 10, 11, 13 // are contained in the ideal defined by the polynomials above. Ired = (u^4-2*u^2+1)*f*k+(-2*u^2+2)*g*k+(-u^2*v^2+1)*g*l, (-u^4+2*u^2-1)*f^2+(2*u^2-2)*f*g+(u^2*v^2-1)*g^2, e*k-f*g, (u^2*v^2-v^2)*d*l+(u^2-1)*g*k+(u^2*v^2-1)*g*l, (u^4*v^2-2*u^2*v^2+v^2)*d*k+(u^4*v^2-u^2*v^2+u^2-1)*g*k+(u^2*v^2-1)*g*l, (u^2*v^2-v^2)*d*g+(u^2-1)*f*g+(u^2*v^2-1)*g^2, (-u^4*v^2+2*u^2*v^2-v^2)*d*f+(-u^4*v^2+u^2*v^2-u^2+1)*f*g+(-u^2*v^2+1)*g^2, (u^4*v^2-2*u^2*v^2+v^2)*d^2+(-2*u^4+2*u^2)*f*g+(-u^4*v^2+u^2)*g^2 ; tmp = checkidealequality(I,I + Ired); // In order to show that the map $\varphi$ does not vanish identically // on the conic above, we consider the following point on the conic. // For every relevant given u and v this is a point in P^9 (obviously, // not all components vanish for the relevant values of u,v) p = [ 2*u^2*(v-1)*(v+1), -2*u^2*v^2+u^2+v^2, 2*u*(v^2-1), -2*(u*v-1)*u, 2*v^2*(u-1)*(u+1), -2*v*(u*v-1), 2*v*(u-1)*(u+1), - 2*(-v^2+1), - 2*(u*v-1), 2*(u^2-1) ]; tmp = considerpoint(I, p); print("--------------------------------------------------------------"); print("3rd factor of 6."); print("--------------------------------------------------------------"); // The Groebner basis as computed by Singular: // FS[1]=(s^2-2*s+1)*k^2+(-2*s+2)*k*l+(-t+1)*l^2 // FS[2]=(s-1)*h+(2*s-2)*k+(t-1)*l // FS[3]=f*l-g*k // FS[4]=(s^2-2*s+1)*f*k+(-2*s+2)*g*k+(-t+1)*g*l // FS[5]=(s^2-2*s+1)*f^2+(-2*s+2)*f*g+(-t+1)*g^2 // FS[6]=e*l-g^2 // FS[7]=e*k-f*g // FS[8]=(s*t-t)*d*l+(s^2-s)*g*k+(s*t-s)*g*l // FS[9]=(s^2*t-2*s*t+t)*d*k+(s^2*t+s^2-s*t-s)*g*k+(s*t-s)*g*l // FS[10]=(s*t-t)*d*g+(s^2-s)*f*g+(s*t-s)*g^2 // FS[11]=(-s^2*t+2*s*t-t)*d*f+(-s^2*t-s^2+s*t+s)*f*g+(-s*t+s)*g^2 // FS[12]=(s*t-t)*d*e+(s^2-s)*e*f+(s*t-s)*e*g // FS[13]=(s^2*t-2*s*t+t)*d^2+(-2*s^3+2*s^2)*f*g+(-s^2*t+s^2)*g^2 // FS[14]=c // FS[15]=(2*s*t-2*t)*b+(s*t-s)*e // FS[16]=a // We analyze this description of this factor by hand. // For the current ideal, the first polynomial factors into // ((u^2-1)*k + (v-1)*l) * ((u^2-1)*k - (v+1)*l) // Here, we consider the first factor of that factorization. // We will use the polynomials // 1, 2, 3, 6, 12, 14, 15, 16 // to generate the conic in Q(u,v). // Namely, substituting l=-(u^2-1)k/(v-1) into the third generator, // that one factors into // - k * ((u^2-1)*f + (v-1)*g)/(v-1) . // Since any zero of the ideal FS with k=0 would imply a=c=d=f=g=h=k=l=0 // and thus be contained in V(E_3), we can // divide by k and obtain a linear polynomial. // Similarly, polynomial 12 contains the factor e. // Since any zero of the ideal with e=0 would imply a=b=c=d=e=f=g=0 // and thus be contained in V(E_2), we can // divide by e and obtain a linear polynomial. // Altogether, we obtain seven linear and one quadratic generator: I = (u^2-1)*k + (v-1)*l, (u^2-1)*h+(2*u^2-2)*k+(v^2-1)*l, ((u^2-1)*f + (v-1)*g), e*l-g^2, (u^2*v^2-v^2)*d+(u^4-u^2)*f+(u^2*v^2-u^2)*g, c, (2*u^2*v^2-2*v^2)*b+(u^2*v^2-u^2)*e, a; // The codimension is six due to homogeneity and due to the four additional // variables w,x,y,z needed below. degree(std(I)); // The following computation shows that the polynomials // 4, 5, 7, 8, 9, 10, 11, 13 // are contained in the ideal defined by the polynomials above. Ired = (u^4-2*u^2+1)*f*k+(-2*u^2+2)*g*k+(-v^2+1)*g*l, (u^4-2*u^2+1)*f^2+(-2*u^2+2)*f*g+(-v^2+1)*g^2, e*k-f*g, (u^2*v^2-v^2)*d*l+(u^4-u^2)*g*k+(u^2*v^2-u^2)*g*l, (u^4*v^2-2*u^2*v^2+v^2)*d*k+(u^4*v^2+u^4-u^2*v^2-u^2)*g*k+(u^2*v^2-u^2)*g*l, (u^2*v^2-v^2)*d*g+(u^4-u^2)*f*g+(u^2*v^2-u^2)*g^2, (-u^4*v^2+2*u^2*v^2-v^2)*d*f+(-u^4*v^2-u^4+u^2*v^2+u^2)*f*g+(-u^2*v^2+u^2)*g^2, (u^4*v^2-2*u^2*v^2+v^2)*d^2+(-2*u^6+2*u^4)*f*g+(-u^4*v^2+u^4)*g^2 ; tmp = checkidealequality(I,I + Ired); // In order to show that the map $\varphi$ does not vanish identically // on the conic above, we consider the following point on the conic. // For every relevant given u and v this is a point in P^9 (obviously, // not all components vanish for the relevant values of u,v) p = [ 0, -u^2*(v-1)*(v+1), 0, 2*u^2*(v-1), 2*v^2*(u-1)*(u+1), 2*v*(v-1), -2*(u^2-1)*v, -2*(v-1)^2, -2*(v-1), 2*(u^2-1) ]; tmp = considerpoint(I, p); print("--------------------------------------------------------------"); print("4th factor of 6."); print("--------------------------------------------------------------"); // The Groebner basis as computed by Singular: // FS[1]=(s^2-2*s+1)*k^2+(-2*s+2)*k*l+(-t+1)*l^2 // FS[2]=(s-1)*h+(2*s-2)*k+(t-1)*l // FS[3]=g // FS[4]=e // FS[5]=(-t)*d*l+(s-1)*f*k-f*l // FS[6]=(-s*t+t)*d*k+(s-1)*f*k+(t-1)*f*l // FS[7]=(t)*d^2-f^2 // FS[8]=c+d+f // FS[9]=(-2*t)*b*l+(s-1)*f^2 // FS[10]=(2*t)*b*k+(-t)*d*f-f^2 // FS[11]=a+2*b // We analyze this description of this factor by hand. // For the current ideal, the first polynomial coincides with the // first polynomial of the 3rd factor. Hence, it also factors into // ((u^2-1)*k + (v-1)*l) * ((u^2-1)*k - (v+1)*l) // Here, we consider the first factor of that factorization. // We will use the polynomials // 1, 2, 3, 4, 5, 8, 9, 11 // to generate the conic in Q(u,v). // Namely, substituting l=-(u^2-1)k/(v-1) into the fifth generator, // that one factors into // k * (t*(u^2-1)*d + (u^2-1)*(v-1)*f + (u^2-1)*f)/(v-1) . // Since any zero of the ideal FS with k=0 would imply c=d=e=f=g=h=k=l=0 // and thus be contained in V(E_3), we can // divide by k and obtain a linear polynomial. // Altogether, we obtain seven linear and one quadratic generator: I = (u^2-1)*k + (v-1)*l, (u^2-1)*h+(2*u^2-2)*k+(v^2-1)*l, g, e, v^2*(u^2-1)*d + (u^2-1)*(v-1)*f + (u^2-1)*f, c+d+f, (-2*v^2)*b*l+(u^2-1)*f^2, a+2*b; // The codimension is six due to homogeneity and due to the four additional // variables w,x,y,z needed below. degree(std(I)); // The following computation shows that the polynomials // 6, 7, 10 // are contained in the ideal defined by the polynomials above. Ired = (-u^2*v^2+v^2)*d*k+(u^2-1)*f*k+(v^2-1)*f*l, (v^2)*d^2-f^2, (2*v^2)*b*k+(-v^2)*d*f-f^2 ; tmp = checkidealequality(I,I + Ired); // In order to show that the map $\varphi$ does not vanish identically // on the conic above, we consider the following point on the conic. // For every relevant given u and v this is a point in P^9 (obviously, // not all components vanish for the relevant values of u,v) p = [ 4, -2, 2*(v-1), 2, 0, -2*v, 0, (v-1)^2, v-1, -(u^2-1) ]; tmp = considerpoint(I, p); print("--------------------------------------------------------------"); print("5nd factor of 6."); print("--------------------------------------------------------------"); // The Groebner basis as computed by Singular: // FS[1]=(s-1)*k^2-2*k*l-l^2 // FS[2]=(s-1)*h+(2*t-2)*k+(t-1)*l // FS[3]=g // FS[4]=e // FS[5]=(-t)*d*l+(s-1)*f*k-f*l // FS[6]=(t)*d*k-f*k-f*l // FS[7]=(-t^2)*d^2+(s)*f^2 // FS[8]=(s*t-t)*c+(t^2-t)*d+(s*t-s)*f // FS[9]=(-2*t)*b*l+(s-1)*f^2 // FS[10]=(2*t)*b*k+(-t)*d*f-f^2 // FS[11]=(s*t-t)*a+(2*s*t-2*s)*b // We analyze this description of this factor by hand. // For the current ideal, the first polynomial coincides with the // first polynomial of the 2nd factor. Hence, it also factors into // ((u+1)*k + l) * ((u-1)*k - l) // Here, we consider the first factor of that factorization. // We will use the polynomials // 1, 2, 3, 4, 6, 8, 9, 11 // to generate the conic in Q(u,v). // Namely, substituting l=-(u+1)k into the sixth generator, // that one factors into // k * (v^2*d - f + (u+1)*f) . // Since any zero of the ideal FS with k=0 would imply c=d=e=f=g=h=k=l=0 // and thus be contained in V(E_3), we can // divide by k and obtain a linear polynomial. // Altogether, we obtain seven linear and one quadratic generator: I = (u+1)*k+l, (u^2-1)*h + (2*v^2-2)*k + (v^2-1)*l, g, e, v^2*d - f + (u+1)*f, (u^2*v^2-v^2)*c+(v^4-v^2)*d+(u^2*v^2-u^2)*f, (-2*v^2)*b*l+(u^2-1)*f^2, (u^2*v^2-v^2)*a+(2*u^2*v^2-2*u^2)*b ; // The codimension is six due to homogeneity and due to the four additional // variables w,x,y,z needed below. degree(std(I)); // The following computation shows that the polynomials // 5, 7, 10 // are contained in the ideal defined by the polynomials above. Ired = (-v^2)*d*l+(u^2-1)*f*k-f*l, (-v^2^2)*d^2+(u^2)*f^2, (2*v^2)*b*k+(-v^2)*d*f-f^2 ; tmp = checkidealequality(I,I + Ired); // In order to show that the map $\varphi$ does not vanish identically // on the conic above, we consider the following point on the conic. // For every relevant given u and v this is a point in P^9 (obviously, // not all components vanish for the relevant values of u,v) p = [ 2*u^2*(v-1)*(v+1), - v^2*(u-1)*(u+1), -2*u*(v^2-1), -2*u*(u+1), 0, 2*v^2*(u+1), 0, 2*(v^2-1), 2*(u+1), -2*(u+1)^2 ]; tmp = considerpoint(I, p); print("--------------------------------------------------------------"); print("6nd factor of 6."); print("--------------------------------------------------------------"); // The Groebner basis as computed by Singular: // FS[1]=(-s^2+2*s-1)*k^2+(2*s-2)*k*l+(s*t-1)*l^2 // FS[2]=(s-1)*h+(-t+1)*l // FS[3]=g // FS[4]=e // FS[5]=(-t)*d*l+(s-1)*f*k-f*l // FS[6]=(-s*t+t)*d*k+(s-1)*f*k+(s*t-1)*f*l // FS[7]=(-t)*d^2+(s)*f^2 // FS[8]=c // FS[9]=(-2*t)*b*l+(s-1)*f^2 // FS[10]=(-2*t)*b*k+(t)*d*f+f^2 // FS[11]=a // We analyze this description of this factor by hand. // For the current ideal, the first polynomial coincides with the // first polynomial of the 1st factor. Hence, it also factors into // ((u^2-1)*k + (uv-1)*l) * ( - (u^2-1) * k + (uv+1) * l) . // Here, we consider the first factor of that factorization. // We will use the polynomials // 1, 2, 3, 4, 5, 8, 9, 11 // to generate the conic in Q(u,v). // Namely, substituting l=-(u^2-1)*k/(uv-1) into the fifth generator, // that one factors into // k * (v^2*(u^2-1)*d + (uv-1)*(u^2-1)*f + (u^2-1)*f) / (uv-1) // Since any zero of the ideal FS with k=0 would imply a=c=d=e=f=g=h=k=l=0 // and thus be contained in V(E_3), we can // divide by k and obtain a linear polynomial. // Altogether, we obtain seven linear and one quadratic generator: I = ((u^2-1)*k + (u*v-1)*l), (u^2-1)*h + (-v^2+1)*l, g, e, v^2*(u^2-1)*d + (uv-1)*(u^2-1)*f + (u^2-1)*f, c, (-2*v^2)*b*l+(u^2-1)*f^2, a; // The codimension is six due to homogeneity and due to the four additional // variables w,x,y,z needed below. degree(std(I)); // The following computation shows that the polynomials // 6, 7, 10 // are contained in the ideal defined by the polynomials above. Ired = (-u^2*v^2+v^2)*d*k+(u^2-1)*f*k+(u^2*v^2-1)*f*l, (-v^2)*d^2+(u^2)*f^2, (-2*v^2)*b*k+(v^2)*d*f+f^2 ; tmp = checkidealequality(I,I + Ired); // In order to show that the map $\varphi$ does not vanish identically // on the conic above, we consider the following point on the conic. // For every relevant given u and v this is a point in P^9 (obviously, // not all components vanish for the relevant values of u,v) p = [ 0, - 2*v^2*(u-1)^2*(u+1)^2, 0, -2*u*v*(u^2-1), 0, 2*v^2*(u^2-1), 0, (-v^2+1), (u*v-1), -(u^2-1) ]; tmp = considerpoint(I, p); /////////////////////////////////////////////////////////////////////////// // // Finally, we remark that with these explicit representations of the // conics it is straightforward to check that for any pair (s,t) of // admissible parameters, any two of the conics are distinct // (as explained in the appendix). // /////////////////////////////////////////////////////////////////////////// timer-T; quit;