oldk1331 wrote:
>> I'm not familiar with SAGE, but I assume interoperability of SAGE
>> is based on string and parsing? And FriCAS is not a "first class ciziten"
>> of SAGE?
>
> 'Martin R'  wrote:
> both of these assertions are currently true.  apparently, there is not
> enough interest in using fricas from sage.  although i advertised a little
> to reuse existing routines (in particular, guessing), i got hardly any
> feedback (there is some, see: https://trac.sagemath.org/ticket/22072).
>

I have used FriCAS and Sage quite extensively and have done
development in both, being responsible for the first version of the
Sage-Axiom interface (> 10 years ago).  Over the years there were some
improvements to the Axiom/FriCAS interface made by several people and
most recently a major rewrite of the FriCAS interface by Martin.
Initially I was rather surprised by the apparently lack of interest -
both in the Sage project and in the FriCAS project.  For me Sage
provided a number of things that Axiom/FriCAS still does not have,
e.g. a good web-based notebook interface (not withstanding the more
recent and excellent Jupyter interface developed by Kurt) and
associated graphics. I infrequently used Sage as a bridge to/from
FriCAS from/to other tools such as Singular, Ocatve and Sympy.

> part of the problem is that i do not have enough energy to program a proper
> - non-string-parsing - interface, although waldek showed that this is
> possible. In particular, sending long lists (for instance, of polynomials)
> to fricas is currently extremely inefficient.  Volunteers very welcome.
>

I have never found the interface itself to be a constraint. In the
context of interoperability between radically different packages I
think it is misleading to describe "string parsing" as necessarily
seriously inefficient.  In principle parsing Lisp s-expressions does
not require a great deal of CPU.  Most of the inefficiency has to do
with the the use of "convenience" tools such as regular expression
pattern matching instead of an actual parser.  There is however the
related issue of the pexpect tty-capture method for communicating
between processes. This is notoriously inefficient and error-prone.
This could be solved by using a well-designed socket interface (which
is already available in FriCAS and used internally by HyperDoc), or by
calling a shared library that runs FriCAS in the same process
(previously mentioned in this thread).  Sage interfaces with Maxima
using both pexpect and by calling directly to the Maxima loaded as a
shared library.  But as I understand it since Sage is written in
Python even calls to Maxima via the shared library interface involve
some form of parsing and construction of Lisp s-expressions.

>> Maybe, just maybe, FriCAS and Maxima can inter-operate
>> at a higher level (Lisp level, S expression), and give interesting result.
>
>  The question is who is your audience, this defines what's interesting.
>

I think Martin has a very good point. I cannot imagine any really
convincing use of Maxima called from within FriCAS. For sure FriCAS
does lack many convenient features for "symbolic computation",
concentrating instead on a more "algebraic" version of computer
algebra. For the most part I think this is the major strength of
FriCAS but recently I have done some serious experiments with the idea
of improving symbolic computation in FriCAS. I think there are some
interesting things that can be done quite easily within FriCAS to
provide a more symbolic front-end for example to more algebraic
domains like Expression. Please pardon the expression but I think that
resorting to Maxima for this sort of thing would be rather a "can of
worms".

Nonetheless personally I would be very interested in a Sage/FriCAS
interface that called FriCAS as a library.

Bill Page.

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to