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