Just finished a prototype of the project SymJava ( 
https://github.com/yuemingl/SymJava ) which is similar to sympy. Actually, 
I borrowed some ideas from sympy. Thanks all the sympy contributors.  

The reason to develop this library is that sympy can NOT run on JPython :(. 
I have another Java library FuturEye for numerical computation to solve PDE 
constrained inverse problems. Symbolic computation is important for this 
library since it will reduce a huge amount of time with automatic 
functional derivative computation.

Here is a piece of example code of SymJava:

Expr expr = x + y * z;

System.out.println(expr); //x + y*z

Expr expr2 = expr.subs(x, y*y);

System.out.println(expr2); //y^2 + y*z

System.out.println(expr2.diff(y)); //2*y + z

Func f = new Func("f1", expr2.diff(y));

System.out.println(f); //f1(y,z)

BytecodeFunc func = f.toBytecodeFunc(); //Similar to the lambdify in sympy

System.out.println(func.apply(1,2)); //4.0

There are two important features:

1. Operator Overloading is implemented by using 
https://github.com/amelentev/java-oo

2. Lambdify in sympy is implemented in SymJava by using BCEL library

Let me know if any one interested in this? Just send me an email: 
nkliuyuemingATgmail.com


-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/8262f07b-a540-4b71-8e19-303da5141ead%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to