Questions about interfacing as needed for using Maxima CAS for engineering problems (master thesis)
Subject: Questions about interfacing as needed for using Maxima CAS for engineering problems (master thesis)
From: Robert Dodier
Date: Thu, 6 Oct 2005 22:38:17 -0600
hello edwin,
> I just started to work on my master thesis. My topic is to create an
> extension of computer algebra systems for typical engineering problems.
OK, this sounds like a good topic. some ideas come to mind:
-- something like a spreadsheet (Excel) but using symbolic names
for cells instead of "C58", and capable of showing typeset (TeX)
math formulas
-- something that makes it easy to lay out expositions
in the manner of text book examples.
Data: L = 5 m, W = 3 m
Assumptions: blah blah blah
Solution: step 1 ... step 2 ... step 3
aside from creating a notebook interface, getting the
computer system to show steps might take some work.
> This will be a parallel program and my thesis professor is an expert in
> parallel systems. I would like to find detailed information on the CAS
> interface.
i am in no position to tell you what to do, but:
it appears that your topic and your advisor's field are unrelated.
i hope your advisor lets you do what is meaningful
as dictated by the topic, not his research interests.
> - Are (open source) interfaces to C, C++, PHP or Java programs already
> been developed?
not exactly.
the usual manner of talking to maxima is via a socket,
passing text strings (input expressions and output results).
this can theoretically work for any programming language
which supports sockets. see server.lisp in the source code.
(http://cvs.sf.net/viewcvs.py/maxima/maxima/src/)
it should also be possible to link directly to maxima via a
lisp foreign function interface; that might work only for C/C++,
it might be dependent on the lisp implementation, and i don't
recall if anyone has done it.
> - I could not find any API documentation about interfacing Maxima, does
> these exists?
none that i know of.
> - If no API documentation exists, can I find some working
> proof-of-concept-demo' source code I can use to learn from that?
see: http://maxima.sourceforge.net/relatedprojects.shtml
hope this helps,
robert dodier