|
A.3 Critical points
The same computation which computes the Milnor, resp. the Tjurina,
number, but with ordering dp instead of ds (i.e., in
instead of
gives:
-
the number of critical points of
f in the affine plane
(counted with multiplicities)
-
the number of singular points of
f on the affine plane curve f =0
(counted with multiplicities).
We start with the ring r1 from section Milnor and Tjurina and its elements.
The following will be realized below:
-
reset the protocol option and activate the timer
-
define the ring
r2 with char 32003, variables x,y,z and monomial
ordering dp (= degrevlex) (i.e., the polynomial ring = K[x,y,z]).
-
Note that polynomials, ideals, matrices (of polys), vectors,
modules belong to a ring, hence we have to define
f and jacob(f)
again in r2 . Since these objects are local to a ring, we may use
the same names.
Instead of defining f again we map it from ring r1 to r2
by using the imap command
(imap is a convenient way to map variables
from some ring identically to variables with the same name in the
basering, even if the ground field is different. Compare with fetch
which works for almost identical rings,
e.g., if the rings differ only by the ordering or by the names of the
variables and which may be used to rename variables).
Integers and strings, however, do not belong to any ring. Once
defined they are globally known.
-
The result of the computation here (together with the previous one in
Milnor and Tjurina) shows that (for
t =0)
= 250 (previously computed) while
= 536. Hence f has 286 critical points,
counted with multiplicity, outside the origin.
Moreover, since
= 195 =
,
the affine surface f =0 is smooth outside the origin.
| ring r1 = 32003,(x,y,z),ds;
int a,b,c,t=11,5,3,0;
poly f = x^a+y^b+z^(3*c)+x^(c+2)*y^(c-1)+x^(c-1)*y^(c-1)*z3+
x^(c-2)*y^c*(y^2+t*x)^2;
option(noprot);
timer=1;
ring r2 = 32003,(x,y,z),dp;
poly f=imap(r1,f);
ideal j=jacob(f);
vdim(std(j));
→ 536
vdim(std(j+f));
→ 195
timer=0; // reset timer
|
|