On Sep 15, 2007, at 3:30 AM, William Stein wrote:

>
> On 9/14/07, Bill Hart <[EMAIL PROTECTED]> wrote:
>> In actual fact, it should be possible for us to write efficient
>> conversion routines in C for going from a FLINT polynomial object to
>> an NTL polynomial object  and vice versa (at the very least), so a
>> partial transition to NTL is both possible and definitely  
>> advisable if
>> SAGE is to safely transition to FLINT.
>
> In my opinion you make doing the above your absolutely top priority
> before everything else.  I'm not sure, but I suspect it won't be
> terribly difficult for you -- in fact, it will probably be easy --   
> but it
> would probably be very difficult for me.   If you create such
> conversion functions, then as you mention below it will be possible
> to base ZZ[x] implementation in SAGE on FLINT very soon, and
> just resort to NTL for all the other operations, then as you implement
> new functionality we just replace 2 or 3 lines of Cython with your
> new faster function, and the rest of SAGE remains unchanged.

I agree with William S, this is the most important thing to do.

But maybe consider doing it the other way around: continue to use NTL  
as the base implementation in SAGE for a while, and make SAGE convert  
objects to FLINT objects temporarily for arithmetic, if the objects  
are large enough to make it worthwhile.

My main concern is that using fmpz_poly will kill the machine for  
certain kinds of sparse polynomials. For example if you create the  
polynomial x^1000000 + 2^1000000, then NTL is perfectly fine with  
that, but fmpz_poly will try to allocate a million coefficients with  
a million bits each. Boom.

david


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to