It's nice that the "labels" issue has been resolved.  It is fairly
implausible that a user would
type in 32,000 individual commands, so optimizing a search was an
obvious issue.
Of course lisp has hash tables. Also arrays.
The idea that you were generating tens of thousands of symbols -- in
addition to keeping a list of them --
suggests a misunderstanding of some sort.  It is kind of like opening
up a cafeteria in a minivan and
complaining to Ford that their design is bad because it has only 14
cupholders, and you need at least 200.

It seems that your basic problem is that you have a terrible interface
to Maxima, even if this problem were fixed.
A proper interface would not require Maxima to parse a character
string for each command.  There are
many possible ways to do this, but possibly you would ask Maxima to
parse a name and allocate Maxima
space for "x",  "y", or other variables.  But parsing x+y could be
done in python, and if it was intended to
send to lisp, ask lisp to make a list of (mplus), $x, and $y).  This
would be done by calling a lisp subroutine called LIST
with 3 pointers.

Incidentally, I quite disagree with Robert D about using the Maxima
rational function package. In fact if Sage were to
communicate using rat. funs. rather than the "general expression"
form, it would likely be vastly more efficient. Also I suspect
most of the demonstrations used by Sage people to show Maxima is slow
e.g. by using the "expand" command
would be changed by using the appropriate "ratexpand" or "rat"
command.   While it may not seem to be quite so
obvious,  the canonical rational expression or "rat" form would
generally be far more efficient for communicating
between Sage and Maxima, and probably sufficiently general for Sage
purposes.   Outside a relatively small header H
that names the variables in the expression (once),  the rest of the
form is a pair of polynomials where each of them
can easily be expressed as a list of coefficients (integer
coefficients, or recursively, other polynomial forms)  and indexes
into H.





--~--~---------~--~----~------------~-------~--~----~
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
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to