#16812: use FLINT to speed up Chebyshev T polynomial creation
-------------------------------------+-------------------------------------
Reporter: rws | Owner:
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-6.4
Component: symbolics | Resolution:
Keywords: flint, speedup | Merged in:
Authors: Ralf Stephan | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/rws/use_flint_to_speed_up_chebyshev_t_polynomial_creation|
d89d9ad736fe284182a8fd998dcf0c1e2077657b
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by rws):
Replying to [comment:6 fredrik.johansson]:
> ...It should be enough to create a new Polynomial_integer_dense_flint
instance and apply arith_chebyshev_t to its {{{.__poly}}}
Well, I tried that but needed to cast `polynomial.__poly` to `fmpz_poly_t`
which is not possible in Cython because the type is an array. OTOH
`cimport`ing the whole `class Polynomial_integer_dense_flint` declaration
needs instances of the member functions defined. If I don't do that and
just declare
{{{
cdef class Polynomial_integer_dense_flint(Polynomial):
cdef fmpz_poly_t __poly
}}}
the function `libs.flint.arith.chebyshev_T` will finally compile but the
result is not a `rings.polynomial.Polynomial_integer_dense_flint` and
returning it and assigning it as such will bomb Sage.
I will now add a member function `chebyshev_T` to
`rings...Polynomial_integer_dense_flint` to avoid all that hassle. My
first forage into Cython which certainly presents itself as a fickle
customer.
--
Ticket URL: <http://trac.sagemath.org/ticket/16812#comment:8>
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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.