The following ticket
http://trac.sagemath.org/sage_trac/ticket/4446
is a long-standing ticket to add the MPC library for the arithmetic of complex
numbers with arbitrarily high precision as a *standard* item. (It can't easily
be made optional - at least not in its current form).
It has been open for 20 months, and seems to me we need to resolve what happens
with this. Having looked at this a bit, these are my conclusions of the current
state of this ticket. They include some comments from Paul Zimmermann, and MPC
developer.
* MPC is a C library for the arithmetic of complex numbers with arbitrarily
high precision and correct rounding of the result.
* A trac ticket #4446 has been open for 20 months to add MPC to Sage, with
43 comments on it.
* Although personally I don't know much about how this overlaps with other
components in Sage, a number of Sage developers have put a lot of effort into
ticket #4446, so there must be interest in this being in Sage
* The upstream developers have also put a lot of effort into getting this
in to Sage.
* I personally believe the MPC library code should be of high quality as it
is produced by a team of developers who in my personal opinion care about
quality. (You know I've been a bit critical of some code in Sage, but I'm
impressed with how the MPFR / MPC team work).
* The MPC library is LGPL v 2.1+
* The license on one of the patches attached to the ticket #4446 is
ambiguous, saying just "GPL", with nothing about version number(s), but I
suspect that would be easy to resolve.
* Both Linux on x86 and Solaris 10 on SPARC are primary platforms for MPC,
but OS X is a secondary platform.
* FreeBSD on x86 is a platform where a Sage port is in progress. FreeBSD is
a primary platform for MPC,
* OpenSolaris on x64, is a platform where a Sage port is in progress. This
is not listed as even a tertiary platform for MPC, though in practice MPC passed
all 57 tests for me on OpenSolaris x64 using gcc 4.4.4. (This was using Sage
4.4.4.alpha1, which uses MPIR 1.2.2 and MPFR 2.4.2.)
* Solaris 10 on x86, is a platform where a Sage port is in progress. This
is a tertiary platform for MPC, but with a report of all MPC library tests passing.
(Paul Zinnerman has remarked these primary, seconday, tertiary are categories
used by GCC, not MPC. In practice, it seems the MPC library is likely to work
with all current Sage build platforms and any that are being actively worked on).
* The Sage package initially presented for review (mpc-0.8.2svn793.spkg)
failed to even build the test suite on Solaris or OpenSolaris, but a revised
edition of the Sage package passes all tests on Ubuntu 10.04 64-bit, Solaris 10
(SPARC) 32-bit and OpenSolaris (x64) 64-bit. The initial problem was a mistake
in the packaging for Sage, rather than the MPC library.
* The package present for review is based on an SVN snapshot. Paul
Zimmermann, an MPC developer, has said this minimal changes from the stable 0.82
release. Those changes were made to address a performance issue noted by Sage
developers.
* The Sage package is not currently "optional", but would need to be
"standard". (There may or may not be ways of making it "optional", but William's
comments on the trac ticket tended to suggest it could not be.)
* The current package has not been tested much in Sage, and Yann who
submitted the package does not have much more time to spend on it, so will not
be asking William for accounts to test on other platforms.
* Jason Grout has agreed to maintain this for two years.
* A lot of work has been done on this ticket over a period of 20 months, so
it would be a shame if that is wasted.
* The MPC developers would appreciate a lot if the Sage developers could
tell them right now if they believe MPC will never become a standard package, so
they don't spend more time on ticket #4446.
* Jason has said he believes there was a vote to include this, subject to
some issues being resolved.
* I personally suspect after this length of time, people will lose patience
if a decision is not made soon.
My own opinion is that this looks good, although there is a severe lack of
evidence to show the Sage integration works on all platforms. I've yet to see
any evidence the Sage integration even works on OS X (I don't have a build on
bsd.math to check this quickly myself).
However, I've made no secret of the fact I'm not a mathematician, so it needs
some others to look at this.
Dave
--
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