mathematic to maxima translation



OK, it is sometimes easier to just do something than to help someone else to
do it.

create a directory somewhere on your computer, say c:/mma2max

visit my web site http://www.cs.berkeley.edu/~fateman/mma2max

copy the 3 files there into your directory c:/mma2max.

Start up an xmaxima

type this

file_search_lisp:cons("C:/mma2max/###.{o,lisp,lisp}",file_search_lisp)$ 

  where you might have to changes the file path name if you have created a
directory
somewhere other than c:/mma2max .

next type

load("maxinit");


you now have a program called mma.

you can use it like this...

(%i5) mma("f[x_,y__]:=Block[{h=1/2}, x+y^2; Sin[x+Pi*h]//N]");
((MDEFINE)
 ($F (($PATTERN) $X (($BLANK))) (($PATTERN) $Y ($BLANKSEQUENCE)))
 ($BLOCK ((MLIST) (|$Set| $H 1/2))
         ((MPROGN) ((MPLUS) $X ($POWER $Y 2))
          ($N ($SIN ((MPLUS) $X ((MTIMES) $PI $H))))))) 
(%o5)                                done
(%i6) 

Note that this program computes a maxima-like version of the mathematica
program,
and PRINTS IT IN LISP.

A trivial alteration would have it 
return the result to Maxima.

I think that all of Mathematica version 3.0 is parsed.

I put in a few translations in a program "tomacsyma"

Not all of this mma has an equivalent structure in Maxima,
and even if it did, I have not typed in everything that could be done.

for example, I just noticed that $POWER should probably be mexpt.

But this should get you a few months ahead of where you are now.

RJF