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.esPosted in old Singular Forum on: 2001-06-26 12:12:51+02