Post new topic Reply to topic  [ 5 posts ] 
Author Message
 Post subject: how many singular points??
PostPosted: Wed Mar 16, 2011 8:13 pm 
hi, i'm laura and i have to solve a mathematic problem with the programm singular that i don't know. caon anyone help me??

my task:
I've got a polynom F. The singular points of V(F) is given by V(I), with I is ideal of the partial derivatives dF/dx, dF/dy, dF/dz. How many singular points exist?

please help me... thanks!


Report this post
Top
  
Reply with quote  
 Post subject: Re: how many singular points??
PostPosted: Thu Mar 17, 2011 6:11 pm 

Joined: Wed Mar 03, 2010 5:08 pm
Posts: 108
Location: Germany, Münster
laura wrote:
I've got a polynom F. The singular points of V(F) is given by V(I),

with I is ideal of the partial derivatives dF/dx, dF/dy, dF/dz.

How many singular points exist?


Do you only want the number of solutions (singular points) or do you want
to count them with multiplicities?

If you want them without the muliplicities, then you have to compute the radical first.

Furthermore, your description is not quite correct:

If you are gven a polynomial F in x,y,z, and I is generated by dF/dx, dF/dy, dF/dz,
then V(I) describes all singular ponts which may be lying on some fibre F(x,y,z) =t, t \in C,
but not necessarily on the hypersurface F(x,y,z) = 0.
(e.g. think of F= xy resp F = xy-1)

The number of singular points with its multplicities is called the Tjurina number,
those, with the multiplicities, on the hypersurface F=0 is called the Milnor number.

http://www.singular.uni-kl.de/Manual/la ... htm#SEC710

Singular offers with the library singl.lib the two commands tjurina resp. milnor,
which have be invoke just with the definining equation F.

In any case, to count the number of solutions (with multplicities), vdim(std( ..))
willbe used.

A simple example in two variables which explains the differences.

Code:
> LIB"sing.lib";
> ring r=0,(x,y),dp;
> poly f = x2-y4+1;  // this is (x-y^2)*(x+y^2) displaced into the fibre over t=1
                             // these are two parabolas touching

> vdim(std(jacob (f)));  // <-- this what the command milnor does
3
> milnor(f);
3
> ideal J = jacob(f),f;    // there is no singular point on f = 0

> vdim(std(J));         // this is what tjurina does
0
> tjurina(f);
0

// What are the singular points?
// there is only one:
> facstd(jacob(f));     // ==
[1]:
   _[1]=y
   _[2]=x

> subst(f,x,0,y,0);    // it is lying on f=1
1

> ideal J1 = jacob(f),f-1;   // compute the Milnor number of the singular points on f=1
> vdim(std(J1));
3

// again back to the question with the "multplicities"

// compare
> std(jacob(f));
_[1]=x
_[2]=y3
> facstd(jacob(f));  // this is the radical
[1]:
   _[1]=y
   _[2]=x
> radical(jacob(f));
_[1]=y
_[2]=x
> vdim(std(radical(jacob(f))));   // there is only one singular point,
1                                             // but the Milnor number is 3


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: how many singular points??
PostPosted: Mon Mar 21, 2011 2:02 pm 
thanks for your answer!
i've one more question now: is it possible, that milnor number and tjurina gives me the same number? i'm not sure if I'm right.

you helped me much!


Report this post
Top
  
Reply with quote  
 Post subject: Re: how many singular points??
PostPosted: Wed Mar 23, 2011 5:05 pm 

Joined: Wed Mar 03, 2010 5:08 pm
Posts: 108
Location: Germany, Münster
I have to correct my answer given above, but first to your question:

Proposition: Supposed f has isolated singularities, then it holds

Tjurina number <= Milnor number

The Milnor number and Tjurina number are the same
if and only if the polynomial is weighted homogenoues.
In this case the origin is the only singular point.

Proof-sketch: The inclusion of the ideals

(*) M:=<df/dx,df/dy,df/dz> \subseteq <df/dx,df/dy,df/dz,f> =:T

give the reverser relation dim C[[x,y,z]]/T <= dim C[[x,y,z]]/M,

which is, by definition, the relation between Tjurina and Milnor number.

For the "equation" statemet: the "if part" follows from the Euler-equation,
the the "only if part" is due to K. Saito. \qed

Note also that local Tjurina and Milnor numbers add to the global ones

For a bit more details see for instance Prop. 3.6 in Rossi and Terracinis article and the references therein:
http://arxiv.org/abs/0809.4345
(The examples I metioned above are, up to the nonzero constant term, are weighted homogenous.)
// ------------------------------

Now to the error: The command tjurina is not the right one for your problem,
in case that the Milnor and Tjurina number does not coincide.
At the end you can forget about the term "tjurina" number, but I will
show what you have to do instead.

Take a look at equation (*):
We have put the equation f into the ideal on the right hand side,
for the reason to select those singular points which are lying
on the curve f==0. The problem is, that this additional equation
may give new restrictions for the multpilicity.
So what we have do instead, it to replace f by f^k, where k is a
sufficintly large integer k>=1 such that f^k in contained in the
ideal <df/dx,df/dy,df/dz>.
(This check, passing through al loop, can be done by Groebner basis computation.
Call reduce(f^k,std(J))==0.)

Once we have found a suitable exponent k, the singular points from
the curve f=0, are selected in the same way by the equation f^k
but f^k it will not affect the multplicity.

I have constructed an example with the following properties:

1.) The Milnor and Tjurina number are not the same,
2.) there are five singular points which are all rational,
3.) there are three singular fibres,
4.) the zero fibre has two singular points.

Code:
> LIB "sing.lib";
> ring rds = 0,(x,y),ds;   // local computations
> poly f = (x2-y2)^3 -2x7+x8;
> ideal J = jacob(f);
> milnor(f);
29
> tjurina(f);    // it is strict less than the Milnor number
26
> // There are at least (in fact there are exactly, see below)
// two singular points on the curve f = 0

// The origin with lokal Milnor number 29
> subst(f,x,0,y,0);
0
> subst(J,x,0,y,0);
_[1]=0
_[2]=0

> // and the point (x,y) = (1,0)
subst(J,x,1,y,0);
_[1]=0
_[2]=0
> subst(f,x,1,y,0);
0
> // We want to compute the local Milnor number at this point
// Make a  linear coordinate change such that the
// singular point (1,0) becomes the origin
> poly g = subst(f,x,x+1); 
> milnor(g);      // this second singular point is an ordinary node
1

Now, if the command tjurina was the correct method to determine
the sum of the local Milnor numbers, it should give an result >=30 for a computation w.r.t. global ordering.
Code:
> ring rdp = 0,(x,y),dp;
> poly f = fetch(rds,f);
>  milnor(f);   
// This is the sum of all local Milnor numbers lying on differnt fibres,
// but not the sum of local Milnor numbers on f==0, since there are
// further singular points not on f=0.     
35
> tjurina(f);  // recall, this computation does vdim(std(jacob(f)+f))       
27

As 27< 30, we see that tjurinadoes not give the correct result concerning
the sum of local Milnor numbers on the curve f = 0.
What we have to do is consider higher powers of f
Code:
>  ideal J = jacob(f);
> ideal I = J,f^2;
> vdim(std(I));   // This is what wanted to get.
30
> vdim(std(J+f^3));   // Higher powers certainly work as well
30


It remains to explain, how to find the sufficent large exponent.
To be continued...
In the meantime, try to find out what I have claimed about the
singular points and fibres of this polynomial. :roll:


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: how many singular points??
PostPosted: Sat Mar 26, 2011 10:49 pm 

Joined: Wed Mar 03, 2010 5:08 pm
Posts: 108
Location: Germany, Münster
Continuation:
First the verification of the claims, then a proc to be used
instead of the proc tjurina to determine the sum of the
local Milnor numbers on an affine hypersurface.

Code:
>  ring rlp = 0,(x,y),lp;
> option(redSB);
> poly f = (x2-y2)^3+2x7+x8;
> milnor(f);
35
> tjurina(f);
27
>  vdim(std(radical(jacob(f))));   // there are five singular points
5
> facstd(jacob(f));              // these they are
[1]:
   _[1]=y
   _[2]=4x-3
[2]:
   _[1]=y
   _[2]=x-1
[3]:
   _[1]=y
   _[2]=x
[4]:
   _[1]=4y+7
   _[2]=4x-7
[5]:
   _[1]=4y-7
   _[2]=4x-7

>  // where are the singular points lying?
// two singular ponts on  f=0
> subst(f,x,0,y,0); 
0
>  subst(f,x,1,y,0);
0

// two singular points on f = -823543/65536
> subst(f,x,7/4,y,7/4);
-823543/65536
> subst(f,x,7/4,y,-7/4);
-823543/65536

// one singular point on f = 729/65536
> subst(f,x,3/4,y,0);
729/65536


That is there are singular points on f=0, f +823543/65536 = 0 and
on f - 729/65536 =0.
Since the coordinates are explicity given above, you can compute
the local Milnor numbers in the same way as in my last posting.

Now a proc which does the job without localizeing.
It uses the command sat from elim.lib

Code:
LIB "elim.lib";   // for sat

proc hypmilnor(poly f)
"USAGE: hypmilnor(f); f poly 
RETURN: int, the sum of the local Milnor numbers on the hypersurface f==0
EXAMPLE: example hypmilnor; shows an example
"
{
  int k=1;
  ideal Jstd = std(jacob(f));

  int numsingpts = vdim(std(radical(Jstd+f)));
  if (numsingpts<0)
  {
    "The hypersurface has non-isolated singularities";
    return(numsingpts);  // i.e. return(-1);   
  }
  if (numsingpts==1) {"There is 1 singular point on the hypersurface."; }
  else
  {
    "There are",numsingpts, "singular points on the hypersurface.";
  }
  k = sat(Jstd,f)[2];
  return(vdim(std(Jstd+f^k)));
}


If you set the variable printlevel, then you get information
about the exponent for f^k.

Code:
>    hypmilnor(f+823543/65536);
There are 2 singular points on the hypersurface.
4
>    hypmilnor(f-729/65536);
There is 1 singular point on the hypersurface.
1

> printlevel = 2;

>    hypmilnor(f);
There are 2 singular points on the hypersurface.
// compute quotient 1
// compute quotient 2
// compute quotient 3
// saturation becomes stable after 2 iteration(s)

30


Since 35 = 30 + 4 +1, we have precisely described the distribution
of the singular points and correctly computed the sum of Milnor numbers on f==0.

------
Here I considered only an affine hypersurface, there might be
singularities at infinity. Hope it helps for your purpose,

Christian Gorzel


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

It is currently Fri May 13, 2022 11:05 am
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group