#18916: Use Kedlaya algorithm to count points on hyperelliptic curves
-------------------------------------+-------------------------------------
       Reporter:  jpflori            |        Owner:
           Type:  enhancement        |       Status:  new
       Priority:  major              |    Milestone:  sage-6.8
      Component:  number fields      |   Resolution:
       Keywords:  hyperelliptic      |    Merged in:
  curves, matrix of Frobenius        |    Reviewers:
        Authors:                     |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  6a4e932eef76137b6856c3b84f2fe82de807cc3a
  u/kedlaya/use_kedlaya_algorithm_to_count_points_on_hyperelliptic_curves|     
Stopgaps:
   Dependencies:  #20219             |
-------------------------------------+-------------------------------------

Comment (by jpflori):

 Replying to [comment:14 kedlaya]:
 > Replying to [comment:9 jpflori]:
 > > > I mentioned above that {{{nfhyperellpadicfrobenius}}} is not
 currently exposed. However, this function does appear in
 {{{src/sage/libs/pari/paridecl.pxd}}}. Does something else need to be done
 in order to make it visible as a method of a PARI object?
 > > The methods of PARI objecgt are in `gen.pxd/pyx`.
 > > You should add a method there calling the C function.
 >
 > Maybe I wasn't clear here. I think there is some mechanism by which most
 PARI functions appear "automatically" as methods of a PARI object; most of
 them are not explicitly declared in {{{src/sage/libs/pari/gen.pyx}}}. I
 was wondering why {{{hyperellpadicfrobenius}}} (which does not have its
 own explicitly defined wrapper as far as I can find) shows up this way
 while {{{nfhyperellpadicfrobenius}}} does not. I had thought
 {{{paridecl.pxd}}} was the master source for the autogenerated methods,
 but it includes both of these functions and yet only one makes it through
 the rest of the process.
 Oh I see.
 I'd say it's exactly because the `nf...` function is not in GP.
 IIRC functions in GP are described in `pari.desc` which is also used for
 autogenerating our wrappers.
 This puts Cython methods in the `gen_auto` class in some `pxi` auto
 generated files.

 The `paridecl.pxd` file is still handwritten/copied from the PARI library
 headers and is not involved during the generation of the wrappers (though
 it is needed to help Cython at compilation time I'd say).
 Part of it could surely be auto-generated from `pari.desc` (or even all of
 it from the C headers though that would be more involved).

 Therefore in the end we have Cython access to the `nf...` but no method
 wrapping it.

 See #17631 and #17860 and
 
https://github.com/sagemath/sage/blob/master/src/sage_setup/autogen/pari/generator.py

 Jeroen, please correct me if I'm wrong.

--
Ticket URL: <http://trac.sagemath.org/ticket/18916#comment:15>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to