Re: maxima and Octave



The matlab symbolic toolkit roughly works like this.
I am working from memory so I may have details wrong.

declare some symbolic variables like

x= symbol("x")
y= symbol("y")

then the matlab expression   x+y  is  (by virtue of
generic, object-oriented blah blah) converted to
a symbolic version of addition.

There are some hacks to allow symbols in matrices, making
the whole enterprise much slower.

The genericity is only partial, and stuff like

x+1
fails.
You need to do  x+symbol("1").
I count this, and some other features of the matlab symbolic
toolkit as "bugs".

So: you could do it all with strings + changing Octave
to have generic symbol types that go off to maxima and
occasionally return back to Octave data structures.

Why do it at all?
A person who loves Octave may see this as a very low-cost
introduction to symbolic computing.

Is it going to be better than a real computer algebra system
interface that links to high-quality back-end math?

I doubt it.

RJF


James Amundson wrote:

>On Thu, 2003-11-20 at 10:02, Richard Fateman wrote:
>  
>
>>On the topic of Octave,  which I gather is a GPL version of Matlab...
>>How hard would it be to make Octave be a front end for Maxima,
>>similar to Matlab with symbolic toolkit being a front end for
>>Maple?  I have only given this 15 seconds of thought, but maybe
>>someone familiar with Octave can say something.
>>RJF
>>    
>>
>
>I use Octave every day. I definitely think that some sort Maxima-Octave
>link would be useful. Even though I have thought about linking the two
>quite a bit, I still have conceptual questions about how the link should
>work. Unfortunately, I have not seen the Matlab symbolic toolkit.
>
>Somebody has already presented some Maxima-Octave code on the Octave
>list. It allows Octave to send a string to Maxima, which evaluates it
>and returns another string. I don't see how that would be helpful at all
>-- why not just have one window running Octave and another running
>Maxima? The basic problem is that Octave doesn't really deal with
>symbolic data. Perhaps we could have Maxima return expressions in Octave
>form in such a way that Octave would evaluate them, but I'm still not
>really sure how helpful that would be.
>
>Since Maxima deals with numerical *and* symbolic data, it might make
>more sense to have Maxima operate as a front end to Octave. There are
>issues with this approach also: doing purely numerical operations in
>Maxima is annoying. Expressions tend to end up partially symbolic, e.g.,
>(C1) 1.1 + sqrt(2);
>
>(D1)                             SQRT(2) + 1.1
>
>How would you imagine the interface working?
>
>--Jim
>
>P.S. There are also a set of technical issues involved in linking Maxima
>and Octave. I see multiple ways of solving them, so I don't think there
>should be any insurmountable problems there.
>
>
>_______________________________________________
>Maxima mailing list
>Maxima@www.math.utexas.edu
>http://www.math.utexas.edu/mailman/listinfo/maxima
>  
>