Yes, I've seen it before. Don't use the FFT multiplication routines in
it for integer computations that require proven results. He uses a
real FFT subject to roundoff error, with a sum of digits test, which
is not proven. There is an option to switch to NTT's which are 4 times
slower, but these are not competitive with the SSA implementation of
Gaudry, Kruppa, Zimmermann in MPIR.

There is also disk based convolution code which is the main reason I
have investigated it before.

Not a huge big deal, but fxt is licensed under GPL v3, so it cannot be
used at MSR, and should not be included in any version of Sage which
is intended to be used by them, and obviously it cannot be used in
LGPL projects or GPL v2+ projects.

It is useful to have all the descriptions of the various FFT
algorithms available in one place. These are described at an
introductory level, with a few references in each case.

It is hard to comment on the quality or performance of the code, as I
have not run any of it and only inspected a small portion of it. From
what I have actually inspected, it appears to be competently written
and well commented. It also appears that a lot of effort over a long
period of time has been invested in the library as a whole. It doesn't
appear to be insanely optimised, but does appear to use a lot of
standard tricks. Of course this is just the hurried opinion of one
(relatively ignorant) individual. The best way to get an idea of what
it is like in practice is to check it out and give it a whirl. I'd be
interested in hearing how that goes or if others have actually used
the program in serious work and have comments on it.

Bill.

On Dec 11, 4:13 am, Jason Grout <jason-s...@creativetrax.com> wrote:
> William Stein wrote:
> > Hi Sage-Devel,
>
> > Have you ever wondered about the mathematics behind how MPFR, GMP,
> > MPIR, etc., work under the hood?  Fortunately, Paul Zimmerman and
> > Richard Brent just published a new very-accessible book about exactly
> > this, and has the foresight to release their book under a Creative
> > Commons license (in addition to publishing it in traditional book
> > form).
>
> > "Modern Computer Arithmetic"
>
> >      http://www.loria.fr/~zimmerma/mca/mca-0.4.pdf
>
> While browsing this book's pages, I was led to the FXT library:
>
> http://www.jjj.de/fxt/#fxt
>
> Does anyone know anything about it?  Can you comment on it?
>
> It's GPL, in C++, and has a Linux Software Map description of:
>
> fxt is a library package implementing various algorithms for:
> Fast Fourier Transform (FFT), complex and real-valued,
> Fast Hartley Transform (FHT).  Convolution (cyclic, linear and
> weighted), correlation and power spectrum.
> Mass storage convolution and fast multiplication routines.
> Number Theoretic Transform (NTT), Walsh Transform,
> Reed-Muller transform, Haar Transform, Wavelet Transform.
> Combinatorial generation: Combinations, Permutations, subsets.
> Sorting, Searching, Stack (FIFO), Queue (LIFO), heap and priority-queue.
> Bit-manipulations, shift registers (LFSR), modular arithmetics and
> computations in binary finite fields GF(2**n).
>
> It looks like it is fantastically documented, with a 1000 page reference
> manual that explains the algorithms.
>
> Thanks,
>
> Jason
>
> --
> Jason Grout

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to