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

Reply via email to