% Authors: R/"udiger Achilles and Davide Aliffi % achilles@dm.unibo.it, aliffi@dm.unibo.it COMMENT This is an example session demonstrating and testing the facilities offered by the module SEGRE, an extension of the REDUCE package CALI. END COMMENT; comment ################################################## ### ### ### St\"uckrad-Vogel intersection cycle ### ### ### ################################################## end comment; % Example 1. Self-intersection of a monomial curve % [J.~St\"uckrad and W.~Vogel: An Euler-Poincar\'e characteristic for % improper intersections. Math. Ann. 274 (1986), 257-271], Example 2, % p. 269: self-intersection of the curve \$C\$ in \$P^3\$, characteristic % \$\neq 2,3\$, given parametrically by \$(s^6, s^4t^2,s^3t^3,t^6)\$. % We use "vars(x,n)" to generate the variables \$x_i\$. vars(x,3); % Let us compute the defining ideal \$p\$ of the curve \$C\$: p:=proj_monomial_curve({6,4,3,0},vars(x,3)); % Now we calculate the multiplicity sequence (see [R.~Achilles and % M.~Manaresi: Multiplicities of a bigraded ring and intersection % theory. Math. Ann. 309 (1997), 573-591] with respect to the diagonal % ideal in the ring of coordinates of the join variety \$J(C,C)\$. % This takes about 10 seconds, on older computers even 10 minutes. ms:=int_segre{p,p}; % The result tells us that the "empty subvariety" is counted by \$12\$, % and that the intersection cycle has a \$0\$-dimensional part of degree % \$18\$ and a \$2\$-dimensional part of degree \$6\$. % If you prefer an output ordered by the codimension in the join % variety, then you write simply "reverse ms;". reverse ms; % By the theory it is known that the codimensional one singular locus % contributes to the intersection cycle. Let us find the singular % points of C. radical(singular_locus(p,2)); % So we have two singular points, \$P=(0:0:0:1)\$ and \$Q=(1:0:0:0)\$. % These are distinguished subvarieties of intersection in the sense of % Fulton-MacPherson, that is, they are obtained as images of components % of the normal cone of \$C\$ in the join variety \$J(C,C)\$ (diagonally % embedded) under the map from the normal cone to \$C\$. Let us calculate % the normal cone, call it nc. nc:=int_ncone{p,p}; % Observe that int_ncone forms automatically the join variety, maps the % equations of the diagonal to new variables ending with index \$2\$, % and changes the base ring to have the correct ring for the embedding % of the normal cone. In fact, the new ring is: getring(); % The normal cone ideal is obviously a complete intersection ideal. % Hence we can calculate its primary decoposition with % "easyprimarydecomposition". It takes about quarter an hour on older % machines! pd:=easyprimarydecomposition nc; % The primary decomposition consists of \$4\$ primary ideals. % We calculate their degrees and obtain for the first one: setideal(q1,first first pd)\$ degree q1; % The associated prime ideal is: setideal(p1,second first pd); % For the second one: setideal(q2,first second pd)\$ degree q2; % The associated prime ideal is: setideal(p2,second second pd); % For the third one: setideal(q3,first third pd)\$ degree q3; % The associated prime ideal is: setideal(p3,second third pd); % For the fourth one: setideal(q4,part(pd,4,1))\$ degree q4; % The associated prime ideal is: setideal(p4,second part(pd,4)); % Are \$q4\$ and \$p4\$ equal? modequalp(q4,p4); % It is easy to see that \$p1\$ corresponds to \$Q\$, \$p2\$ to the "empty % subvariety", \$p3\$ to \$P\$, and \$p4\$ to \$C\$. There could be hidden % non K-rational or movable points in \$p4\$. In order to find them, we % compute the bidegrees of \$p4\$: degs(p4,{4,4}); % We see that the total degree \$13\$ of \$p4\$ splits up into \$7\$ and \$6\$. % due to the fact that \$p4\$ contributes \$6\$ in Krull-dimension \$2\$ % (namely gives the curve \$C\$ of degree \$6\$) and \$7\$ in Krull-dimension % one, that is, there are \$7\$ non \$K\$-rational points. % The other prime ideals have only one non-zero bidegree. That means % that the intersection number of the "empty variety" is \$12\$, % that of \$P=(0:0:0:1)\$ is \$8\$ and that of \$Q=(1:0:0:0)\$ is \$3\$. % Here is another way to calculate the intersection number of \$P\$ % in the self-intersection of \$C=V(p)\$ using "localization" at \$P\$: setring(vars(x,2),{},lex); int_segre{sub(x3=1,p),sub(x3=1,p)}; % The result shows you the local contributions of all components % of the intersection cycle passing through \$P\$: \$8\$ for the point and % \$3\$ for the curve \$C\$, since the local degree of \$C\$ at \$P\$ is \$3\$. % The analogue calculation for \$Q\$ is: setring(rest vars(x,3),{},lex); int_segre{sub(x0=1,p),sub(x0=1,p)}; ;end;