[Maxima] reset() and other bugs
willisb@unk.edu
willisb@unk.edu
Fri, 22 Jun 2001 15:52:23 -0500
1. Maxima's reset function is broken: (Maxima = Maxima 5.4 for NT or
Maxima 5.6 for
RedHat 6.2; this output from Maxima 5.4)
(C1) reset();
Error: MACSYMA-TOP-LEVEL [or a callee] requires more than zero arguments.
Fast links are on: do (si::use-fast-links nil) for debugging
Error signalled by MACSYMA-TOP-LEVEL.
Broken at MACSYMA-TOP-LEVEL. Type :H for Help.
MAXIMA>>:q
(C2) fpprec : 45$
(C3) reset();
Error: $FPPREC is invalid as a function.
Fast links are on: do (si::use-fast-links nil) for debugging
2. For a rational x, the relative difference between x and float(x) is of
the order 10^-8; Maxima's
floats are (?) are type double-float, so the expected relative difference
is about 10^-16.
For example:
(C1) x : 12345678912345678789 / 23456789123456789$
(C2) float(float(x) / bfloat(x) - 1);
Warning: Float to bigfloat conversion of 526.31583748957928
(D2) 5.669861827984831E-8
3. There is documentation on the Maxima room function, yet it must be called as ?room()
instead:
(C4) room();
(D4) room()
(C5) ?room();
210/210 72.9% CONS BIGNUM RATIO COMPLEX STRUCTURE
.
.
.
4. The Maxima version of apropos is documented, but seems to be missing. This
works for me:
(defun $apropos ( s )
(cons '(mlist) (apropos-list s "MAXIMA")
)
5. The Macsyma Inc function facsum was handy for putting expressions in to a readable
form; unfortunately, facsum is missing from Maxima. At first I thought I could use
factorout instead. The following does what I wanted:
(C8) factorout(a*z + b*z + 1,a,b);
(D8) (b+a)*z+1
But the following doesn't:
(C13) factorout(s * 'diff(z,s) + z * 'diff(z,s) + 1,z,s);
(D13) z*'DIFF(z,s,1)+s*'DIFF(z,s,1)+1
With the facsum function, we would get
(c1) facsum(s * 'diff(z,s) + z * 'diff(z,s) + 1, 'diff(z,s));
(d1) (s + z) * 'diff(z,s) + 1
If anybody has a facsum function they can legally share, let me know. (The Macsyma
documentation says it was written by RL Brenner and is in the facexp package.)
6. Is the Maxima Poisson package broken?
(C1) intopois(cos(x) + 1);
Illegal arg to POISSIMP:
x
-- an error. Quitting. To debug this try DEBUGMODE(TRUE);)
7. The Maxima FFT package is missing files or is broken. Anybody have one?
Regards,
Barton Willis