# source:git/Tst/Old/m8ex.tst@886b0da

spielwiese
Last change on this file since 886b0da was 886b0da, checked in by Hans Schönemann <hannes@…>, 15 years ago
*hannes/gmg: elim.lib:elim, select, nselect, select1 git-svn-id: file:///usr/local/Singular/svn/trunk@11099 2c84dea3-7e68-4137-9b89-c4e89433aadc
• Property mode set to `100644`
File size: 3.0 KB
Line
1  // Two transversal cusps in (k^3,0):
2  ring r1 = 0,(t,x,y,z),ls;
3  ideal i1 = x-t2,y-t3,z;        // parametrization of the first branch
4  ideal i2 = y-t2,z-t3,x;        // parametrization of the second branch
5  ideal j1 = eliminate(i1,t);
6  j1;                            // equations of the first branch
7  ideal j2 = eliminate(i2,t);
8  j2;                            // equations of the second branch
9  // Now map to a ring with only x,y,z as variables and compute the
10  // intersection of j1 and j2 there:
11  ring r2 = 0,(x,y,z),ds;
12  ideal j1= imap(r1,j1);         // imap is a convenient ringmap for
13  ideal j2= imap(r1,j2);         // inclusions and projections of rings
14  ideal i = intersect(j1,j2);
15  i;                             // equations of both branches
16  intvec v= qhweight(i);         // compute weights
17  v;
18  //----------------------------------------------------
19  // The tangent developable of a projective variety given parametrically
20  // by F=(f1,...,fn) : P^r --> P^n is the union of all tangent spaces
21  // of the image. The tangent space at a smooth point F(t1,...,tr)
22  // is given as the image of the tangent space at (t1,...,tr) under
23  // the tangent map
24  //   T(t1,...,tr): (y1,...,yr) --> jacob(f)*transpose((y1,...,yr))
25  // where jacob(f) denotes the jacobian matrix of f with respect to the
26  // t's evaluated at the point (t1,...,tr).
27  // Hence we have to create the graph of this map and then to eliminate
28  // the t's and y's.
29  // The rational normal curve in P^4 is given as the image of
30  //        F(s,t) = (s4,s3t,s2t2,st3,t4)
31  // each component being homogeneous of degree 4.
32  ring P = 0,(s,t,x,y,a,b,c,d,e),dp;
33  ideal M = maxideal(1);
34  ideal F = M[1..2];     // take the 1-st two generators of M
35  F=F^4;
36  // simplify(...,2); deletes 0-columns
37  matrix jac = simplify(jacob(F),2);
38  ideal T = x,y;
39  ideal J = jac*transpose(T);
40  ideal H = M[5..9];
41  ideal i = H-J;         // this is tricky: difference between two
42                         // ideals is not defined, but between two
43                         // matrices. By automatic type conversion
44                         // the ideals are converted to matrices,
45                         // subtracted and afterwards converted
46                         // to an ideal. Note that '+' is defined
47                         // and adds (concatenates) two ideals
48  i;
49  // Now we define a ring with product ordering and weights 4
50  // for the variables a,...,e.
51  // Then we map i from P to P1 and eliminate s,t,x,y from i.
52  ring P1 = 0,(s,t,x,y,a,b,c,d,e),(dp(4),wp(4,4,4,4,4));
53  ideal i = fetch(P,i);
54  ideal j= eliminate(i,stxy);    // equations of tangent developable
55  j;
56  // We can use the product ordering to eliminate s,t,x,y from i
57  // by a std-basis computation.
58  // We need proc 'nselect' from elim.lib.
59  LIB "elim.lib";
60  j = std(i);                    // compute a std basis j
61  j = nselect(j,1..4);           // select generators from j not
62  j;                             // containing variable 1,...,4
63  killall();
64LIB "tst.lib";tst_status(1);\$
Note: See TracBrowser for help on using the repository browser.