[GiNaC-list] A bad idea: GiNaC as the symbolic manipulation engine in Sage

Jens Vollinga jensv at nikhef.nl
Mon Aug 11 16:50:54 CEST 2008


Hi,

Alexei Sheplyakov schrieb:
> GiNaC is a special purpose symbolic manipulation library. The purpose of
> GiNaC is to do "simple" manipulations with "large" expressions using a common
> programming language (as opposed to ill designed, unstable ones as offered

well, I don't quite agree but maybe I am misinterpreting the quotation 
marks ;-). If you want to handle large expression, then use FORM. And 
what a simple manipulation is depends on whom you ask. Maybe for a 
mathematician symbolic integration for example is a very simple 
manipulation ...

GiNaC's raison d'etre is to help doing physics calculations. And it 
might be that even some not so simple symbolic manipulation are needed 
for that end.

> by most of CASes). So, I don't think GiNaC is a good choice for Sage
> (which attempts to be a general purpose _interactive_ CAS).

They would use ginac via a python wrapper, so I don't see any problems here.

> The order of expressions (in particular, symbols) is not stable. This is
> a price for a fast comparison of expressions. 

Additional nitpicking: that is not quite true. There is a difference 
between a stable order and a human-friendly order. I mentioned the 
reasons for non-stability in my last email. It has nothing to do with 
speed. Speed of comparison has only an effect on the human-friendliness. 
In a GUI system with mostly short expressions an additional reordering 
for the output is feasible and could be done outside ginac by the python 
code.

Regards,
Jens


More information about the GiNaC-list mailing list