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: [email protected] 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:[email protected] http://wmatem.eis.uva.es/~ignfar __________________________________________________________________________ email: [email protected] 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/ |