Hi William, Thank you for you advices. I wrote the wrapper and submitted it. I also checked the singular's code briefly. It seems that fundamentally the same as the one I cited in counting singularities. I'm going to contatct Florian Hess to ask him about the best algorithm.
On Dec 14, 12:34 am, William Stein <wst...@gmail.com> wrote: > On Tue, Dec 13, 2011 at 3:57 PM, syd.lavas...@gmail.com > > <syd.lavas...@gmail.com> wrote: > > AFAIK, currently the function field object can not compute itsgenus > > (see below). I'm thinking about adding this feature in following few > > days. Now, there are two different approaches I can take, and I would > > like to know which one is more desirable for Sage community: > > > 1. Sage can use singular to compute thegenus, so we can write > > (essentially) a wrapper which compute thegenusand make it a member > > of the function field class. > > What function field object are you talking about? Do you mean the code at > > http://trac.sagemath.org/sage_trac/ticket/9054 > > which isn't included in any version of Sage yet, but has a positive review? > > > > > 2. To implement the algorithm (for example the one in [1]) from > > scratch. > > > Please, tell me which one is the more desirable approach. If anybody > > has any comment or has already the implementation please bring it up > > in the discussion. > > I think one should of course at a minimum do 1 (wrap singular), > because it will be easy. Then do 2 as well, if you can -- and make it > easy to compare 1 and 2 on many inputs, so you can find lots of bugs > in both. Also do 3, which is to implement whatever algorithm Florian > Hess suggests, which might be different than 1 or 2. > > -- William > > > > > > > > > [1] Sendra, J. R. and Winkler, F. and Pérez-Díaz, S., Rational > > Algebraic Curves - A Computer Algebra Approach, Springer, 2007. > > > sage: kx.<x> = FunctionField(QQ) > > sage: kxY.<Y> = PolynomialRing(kx, 'Y') > > sage: kxy.<y> = kx.extension(Y^2 - x^5 -1) > > sage: kxy > > Function field in y defined by Y^2 - x^5 - 1 > > sage: kxy.genus() > > --------------------------------------------------------------------------- > > AttributeError Traceback (most recent call > > last) > > > /home/syd/Documents/RecherchePhD/Codes/sage/GrbBasis/<ipython console> > > in <module>() > > > /home/syd/Programmes/sage-4.7.2/local/lib/python2.6/site-packages/sage/ > > structure/parent.so in sage.structure.parent.Parent.__getattr__ (sage/ > > structure/parent.c:6260)() > > > /home/syd/Programmes/sage-4.7.2/local/lib/python2.6/site-packages/sage/ > > structure/parent.so in sage.structure.parent.getattr_from_other_class > > (sage/structure/parent.c:3110)() > > > AttributeError: 'FunctionField_polymod_with_category' object has no > > attribute 'genus' > > sage: > > > -- > > To post to this group, send an email to sage-devel@googlegroups.com > > To unsubscribe from this group, send an email to > > sage-devel+unsubscr...@googlegroups.com > > For more options, visit this group > > athttp://groups.google.com/group/sage-devel > > URL:http://www.sagemath.org > > -- > William Stein > Professor of Mathematics > University of Washingtonhttp://wstein.org -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org