[R] general inverse solver?

Gabor Grothendieck ggrothendieck at gmail.com
Wed Feb 11 03:04:36 CET 2009


I am not sure what the point of all this is.

This is an R list, not a CAS list.  The recommendation to use yacas is based on
the fact  that there is an interface between R and yacas.  There is no
interface between
R and Maxima so Maxima is not in the running.  Anyone who has used
Maxima knows that
is an impressive piece of software but that's not the point.

Regarding, why there is no interface to Maxima, its because its harder
to interface to
Maxima than yacas.   There are two problems here:

1. Maxima does not incorporate a socket server as far as I know.
You would have to write it and that may or may not need an in depth
understanding of Maxima to do so but in any case represents work.
With yacas you don't have to write a server since yacas itself already
contains a server. Just run:
  yacas --server .,.
and the server side is done. (In the case of yacas it would also be
possible to use its C interface for an in-process interface or presumably
the java interface of the new java version of yacas.  With Maxima
it would be more problematic since its written in Lisp.)

2. Once you have created some sort of communications channel
then what?  If you want more than a crude interface that passes
an unprocessed character string to the CAS and then passes one
back then you will want to translate between R and the CAS.  With
yacas, OpenMath facilitates this greatly.

The end result is that its more work to meaningfullly interface with
Maxima than with yacas yet yacas satisfies the majority of
needs of a CAS.  There is the minority who need more powerful
algorithms but I think it was a reasonable step to handle the 80%
that can be accommodated most easily first by using yacas. The
remaining 20%, which is what the other respondents to this thread
are discussing will in part be addressed in the future possibly, in
part, by the second project I am working on now.  Perhaps some
would quibble with the 80/20 and if you are in the 20 it probably
seems like 100 but we will never settle that question definitively.




More information about the R-help mailing list