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

Reply via email to