clojure-numerics / expresso

Clojure library for symbolic computation
312 stars 20 forks source link

Where is this project heading? #10

Open tgoossens opened 10 years ago

tgoossens commented 10 years ago

Is it the goal of this project to become like amaple or sympy (python) for clojure?

With features like

Just curious.

mikera commented 10 years ago

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!

tgoossens commented 10 years ago

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 :)

mikera commented 10 years ago

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)

mschuene commented 10 years ago

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:

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 https://github.com/clojure-numerics/expresso/issues/10#issuecomment-48808847 .