#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.