[GiNaC-list] [sage-devel] Re: GiNaC as the symbolic manipulation engine in Sage

Burcin Erocal burcin at erocal.org
Mon Aug 11 12:31:37 CEST 2008


> On Mon, Aug 11, 2008 at 1:30 AM, Burcin Erocal <burcin at erocal.org> wrote:
<snip>
> > While GiNaC seems to be the best option for Sage, it has some problems
> > (apart from the awkward capitalization of the name which is a pain to
> > type).
> >
> > - It takes ages to build
> >        The packages above took ~25 minutes to build on my desktop
> > machine (15 for cln, 9 for ginac)
> >
> > - cln seems to support on only gcc, which might be a problem for the
> > windows port (which will be using ms compilers)
> >
> > - cln duplicates functionality which is provided by different libraries
> > already distributed with Sage (mpfr, mpir, flint) at a considerable
> > speed penalty.

On Mon, 11 Aug 2008 11:39:42 +0200
Jens Vollinga <jensv at nikhef.nl> wrote:

> It would be quite useful for ginac if the numeric class that wraps the 
> cln library would allow for other libraries as well, even pure C double 
> precision ones. The problem in realizing this idea was always that other 
> libraries were missing certain features (some functions, modular 
> arithmetic,...) and to make up for these would incur a lot of extra 
> work. It didn't seem like it was worth the hassle (yet).

I also think that using other libraries instead of cln in the
(subclasses of) numeric class is the way to go. With William's remarks
below, this becomes essential for Sage. :)

On Mon, 11 Aug 2008 02:37:40 -0700
"William Stein" <wstein at gmail.com> wrote:
> 
> The single big question that needs to be answered that you don't
> answer in your post is the following:
> 
>   Is it likely in your opinion that with a month of hard work by you (say),
>   would it be possible to create something based on Ginac that would
>   actually satisfy the following:
> 
>     1. Does not depend on cln.
>     2. Builds in less than 8 minutes.
>
> I mean this as a 100% technical questions (not social, etc.).
> I just had a look at the source code directory for ginac, and it is about
> 20,000 lines of pretty well documented C++ code total.   I have
> the strong impression that the use of cln is nearly completely
> encapsulated in the file numeric.cpp, which is about 2000 lines.
> I'm guessing a Sage version of Ginac could simply replace numeric.cpp
> by our own implementation.


Of course this is possible. I am willing to put in most of the work to
make this happen. However, support from the GiNaC developers for such
an effort is very important. They know their code base best, with their
suggestions this could be accomplished much faster.

> 
> cln will not be included standard in Sage ever.
> I could definitely see a version of ginac that doesn't depend on cln
> as possible for Sage...
> 
>  -- William> 


Cheers,

Burcin


More information about the GiNaC-list mailing list