David Harvey wrote:

FLINT is coming along well, but I don't know if I can get all of the
following done before SAGE 2.0:
(a) get FLINT to release 1.0
(b) move generic polynomial elements to sagex
(c) write specialised Z[x] wrapper (i.e. write a derived class of
generic polynomial element) which uses FLINT objects for basic
arithmetic

I'm reasonably sure (a) will be done by SAGE 2.0. I don't think I can
get all three done though. It would be really wonderful if someone
would volunteer to do (b), and hopefully have it done before I get to
(c).

There's little chance of (a) being done by SAGE 2.0. The latter is due
for release in 4 weeks, whilst the former will not be ready by then.
The thing that will be missing is polynomial gcd (which relies on
polynomial division, which also hasn't been implemented). MAGMA holds
the world record for the former, and we are not going to beat them with
a last minute coding sprint.

However, what will be done is FLINT 0.5. This will have polynomial
multiplication and integer factoring. Out integer multiplication also
happens to be somewhat faster than GMP's (GMP will later this year
release an improved version which will probably soundly beat us - the
intial figures I've seen look very promising).

It occured to me that the best way to provide this stuff directly to
SAGE, and improve a whole raft of other things is to include our code
in the SAGE version of Pari. But it occurs to me (just now) that this
might be ill advised, given that many SAGE objects are not implemented
through Pari, but through NTL. Unfortunately, integrating our code into
NTL is not an option.

I'm happy if people think they can write wrappers etc in time, to have
SAGE just work directly with FLINT objects. Polynomial multiplication
should be working by Monday-ish. But how I proceed might depend on what
people think about this. So, should I:

a) Try and incorporate FLINT into the SAGE pari; or
b) Keep writing FLINT and let someone else figure out how to
incorporate FLINT directly.

The advantage of (a) is that heaps of stuff gets sped up, since heaps
of stuff in Pari is built on polynomial arithmetic. The disadvantage is
that some NTL stuff will want to be changed over to Pari stuff in SAGE.

The advantage of (b) is probably a faster end product and less work for
me. The disadvantage is it only benefits basic arithmetic, i.e.
factoring, polynomial multiplication and integer multiplication and
stuff *in SAGE* that depends on any of the above.

Bill.


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
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