Post new topic Reply to topic  [ 3 posts ] 
Author Message
 Post subject: How to calculate genus over complex number field
PostPosted: Thu Aug 11, 2005 5:31 pm 
Dear Singular Team.

I am still in troubles.
I want to calculate the genus of plane curve defined
over the complex number field.
Adj_div is only used over the field of characteristic prime.
Is there another function or an example code?

----------------------------------------------------
I tried to represent the difference of arithmetic genus and
geometric genus by using the nomaiization.
But this implimentation is too difficalt for me.

email: [email protected]
Posted in old Singular Forum on: 2001-06-26 09:19:46+02


Report this post
Top
  
Reply with quote  
 Post subject:
PostPosted: Tue Sep 20, 2005 5:52 pm 
Dear colleague:

Adj_div does not work in characteristic zero,
because there may be singularities with several
branches at a point whose coordinates are in a
extension, and Singular cannot compute yet the
Hamburger-Noether expansions of that singularity
(due to some technical reasons, like factorization).

The procedure Adj_div prevents problems just by
checking if the characteristic is zero and then
it returns an error message, so that there is no
chance to use it in this case.

Nevertheless, you can try to do by hand in concrete
examples what is done in Adj_div, and hope that
there is no multibranch singularity at any point
which is defined over an extension (cfr. above).


I outline the process below:

LIB "brnoeth.lib";
// it loads "hnoether.lib", "triang.lib", and some others
ring r=0,(x,y),lp;
poly f="your curve";
ideal df=f,jacob(f);
df=std(df);
list tss=triangL(df);

// this returns a list of "triangular systems",
// whose solutions are the singular points;
// all of them should be "rational", otherwise
// you define the extensions by hand, take the
// singular point to the origin and then try to
// use HNdevelop, which complains if there are
// several branches

// Now for each singular point, you define a local ring
ring s=0,(x,y),ls;
// or maybe :
// ring s=(0,a),(x,y),ls;
// minpoly=...;
poly ff="curve with the singular point translated to the origin";
list hn=HNdevelop(ff);

// if this succeeds, you have all the invariants of
// the singularity; in particular, you can compute
// the delta from the number of gaps of the local
// semigroups and the intersection multiplicities
// between the different branches (if more than one)

// still you must do the same with the singular points
// at infinity, doing the appropriate changes of chart
// and so on ... You can compute all of them

ring R=0,(x,y,z),lp;
poly F=homog(imap(r,f),z);
F=subst(F,z,0);
setring r;
poly F=imap(R,F);
ideal ip=factorize(F,1);

// each factor corresponds to a point at infinity, and
// you still have to check which of them are singular

// Now you can joint all the deltas and the degree,
// in order to obtain the genus of the curve


If this does not work, one could try to use
"normalization", but this is not quite trivial.
We are working currently on this, but the procedures
are not available yet. The idea is the following:

"Let R be the affine coordinates ring of the curve,
and NR the normalization of R; then, the sum of the
deltas of the affine singularities is equal to
the dimension of NR/R as vector space".

On the other hand, you have the degree and the
singularites at infinity to complete the genus formula.
If moreover the curve satisfies some extra conditions,
you can instead combine the theory of approximate roots
(Abhyankar-Moh) with the above idea.
This will also be implemented in the future,
even in characteristic zero.

However, the best solution would be to have Adj_div
for characteristic zero; as soon as all the technical
problems are solved, we are thinking of adapting the
method to this case.

Best regards, and good luck,
Jose Ignacio Farran.


--

__________________________________________________________________________

Jose Ignacio Farran Martin Phone : 34 983 42 33 95
Dpto. Matematica Aplicada a la Ingenieria Fax : 34 983 42 34 06
E.T.S. de Ingenieros Industriales - Universidad de Valladolid
Paseo del Cauce s/n - 47011 Valladolid (SPAIN)
mailto:[email protected] http://wmatem.eis.uva.es/~ignfar
__________________________________________________________________________

email: [email protected]
Posted in old Singular Forum on: 2001-06-26 12:12:51+02


Report this post
Top
  
Reply with quote  
 Post subject:
PostPosted: Tue Sep 20, 2005 5:54 pm 
Site Admin

Joined: Fri Apr 29, 2005 12:02 am
Posts: 24
Location: Germany, Kaiserslautern
Dear Yoshihiko Sakai,

use the command genus from normal.lib:
Quote:
Usage:
genus(I) or genus(i,1); I a 1-dimensional ideal

Return:
an integer, the geometric genus p_g = p_a - delta of the projective curve defined by I, where p_a is the arithmetic genus.

Note:
delta is the sum of all local delta-invariants of the singularities, i.e. dim(R'/R), R' the normalization of the local ring R of the singularity.
genus(i,1) uses the normalization to compute delta. Usually this is slow but sometimes not.

Example: LIB "normal.lib";
ring r=0,(x,y),dp;
ideal i=y^9 - x^2*(x - 1)^9;
genus(i);
==> 0


Have fun with Singular,

The Singular Team


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 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 10:57 am
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group