Repository navigation
Where is this project heading? #10
Description
Activity
My personal view is that expresso could easily develop into something like SymPy over time. That will depend on where contributors want to take it of course!
Seems nice to me.
Was there a special motivation to start this project. i.e. a specific problem that had to be solved. Or is it more like 'let's see how well clojure does at symbolic math' ?
Personally I use maple quite often to do some quick calculations. And I was wondering whether there would be a specific advantage to using clojure. Of course clojure overrules maple as a decent programming language :)
Well I started it out of curiosity but @mschuene has done most of the subsequent development as part of Google Summer of Code.
My motivation was being able to solve / optimise algebraic expressions for data science related work. It ties quite closely to the work I'm doing on core.matrix (https://github.com/mikera/core.matrix)
Clojure gives quite a big advantage in the sense that Lisp expressions are already well suited to treating "code as data". And it also has the advantage of being a very strong general purpose language (which means it trumps Mathematica and Maple for practical usage)
Hi,
Yes, expresso's goal is to evolve into a clojure CAS system much like sympy
etc. for python.
I worked on it during last years Google Summer of Code, with @mikera as
mentor.
I'd be very thankful for some contributors who share the vision to do
computer algebra in clojure. Core.matrix is a great unifying example, you
can use the plethora of matrix implementations that are available on the
jvm (or interfacing native code) but having a nice functional lispy api
which is great.
Expresso is meant to be the symbolic counterpart of that story.
I am studying mathematics and informatics currently, so I don't really have
time to work on expresso during course time, but I plan to move it forward
during my free time in summer.
Currently, expresso already has support for solving/optimising expressions,
symbolically differentiating and simplifying them etc, but it is still far
from a real CAS system.
The next steps planned are:- giving core.matrix access to symbolic matrices with expresso as an
implementation -> this is mostly done but still needs to be merged into
core.matrix - optimise the rule engine of expresso -> currently this is build on top of
a expressive, but not very efficient rule engine written ontop of
core.logic, there are some plans for a fast pure clojure term rewriting
engine(for example https://github.com/kovasb/combinator and
https://github.com/kovasb/term). unifying these term rewriting engines and
building expresso on top of this is the way forward.
On Sat, Jul 12, 2014 at 1:24 PM, Mike Anderson notifications@github.com
wrote:Well I started it out of curiosity but @mschuene
https://github.com/mschuene has done most of the subsequent development
as part of Google Summer of Code.My motivation was being able to solve / optimise algebraic expressions for
data science related work. It ties quite closely to the work I'm doing on
core.matrix (https://github.com/mikera/core.matrix)Clojure gives quite a big advantage in the sense that Lisp expressions are
already well suited to treating "code as data". And it also has the
advantage of being a very strong general purpose language (which means it
trumps Mathematica and Maple for practical usage)—
Reply to this email directly or view it on GitHub
#10 (comment)
.- giving core.matrix access to symbolic matrices with expresso as an
Is it the goal of this project to become like amaple or sympy (python) for clojure?
With features like
Just curious.