The Maxima distribution has in its share directory a number of files
which implement useful functions for handling and mangling algebraic
expression. In particular, facexp.mac, facex1.mac, stopex.mac,
disol.mac and declin.mac deserve special interest.
Much of what they contain is described in the info documentation and
they have also their .usg and .dem files.
Unfortunately, they rely on some utility functions which are nowhere.
The headers of some of these files (and of rncomb.mac) suggest the
following story (please tell me if you know something about it):
The files mentioned above were developed by ASB (who is this/are
they?) at least between November 1981 and May 1983. The now missing
functions used to live in a file called GENUT (also written by ASB?).
This file (or at least the functionality it implements) became part of
the Symbolics branch of Macsyma but it didn't get into DOE Macsyma
(although they were aware of its existence since they did have the
files depending on it).
I tried to reconstruct these functions and I think GENUT is now
complete (except for functions which are nowhere used).
In particular, the following functions are now working:
facexp: facsum, factorfacsum, collectterms;
stopex: expandwrt, expandwrt_factored;
declin: linsimp
disol: disolate
The main news with respect to the previous version I announced to the
mailing list is that I added the missing functions for declin.mac and
that everything can now be translated (note that you have to apply
some patches, in particular the SUM and MAKELIST translation bug fixes
I posted here a few weeks ago, but everything is contained in the
package).
Note that translation involves some issues which I tried to explain
in some detail in the NOTES file.
Of course some testing would be most welcome (many thanks to Valerij
Pipin and David Billinghurst, who tested the previous version).
You find the package at
http://members.inode.at/wjenkner/maxima/genut-1.0.tar.gz
Enjoy!
--
wjenkner@inode.at