Singular
https://www.singular.uni-kl.de/forum/

How to calculate genus over complex number field
https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=1308
Page 1 of 1

Author:  Yoshihiko Sakai [ Thu Aug 11, 2005 5:31 pm ]
Post subject:  How to calculate genus over complex number field

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: sakai@ocsi.co.jp
Posted in old Singular Forum on: 2001-06-26 09:19:46+02

Author:  Jose Ignacio Farran [ Tue Sep 20, 2005 5:52 pm ]
Post subject: 

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:ignfar@wmatem.eis.uva.es http://wmatem.eis.uva.es/~ignfar
__________________________________________________________________________

email: ignfar@eis.uva.es
Posted in old Singular Forum on: 2001-06-26 12:12:51+02

Author:  wienand [ Tue Sep 20, 2005 5:54 pm ]
Post subject: 

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

Page 1 of 1 All times are UTC + 1 hour [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/