I've been doing some research for a mathematical Android related project I'd like to embark upon and I stumbled across for the first time MathML.
Does anyone know of any Java libraries which can do any (preferably all) of the following things?
- Parse MathML
- Output MathML by parsing standard mathematical notation
- Render MathML (particularly important)
- Do any other cool maths-ey things (like re-arrange equations in terms of different things)
Number 3 is probably the most important, and number 4 the least.
Thanks in advance.
Source: Tips4all, CCNA FINAL EXAM
I've used JEuclid for rendering MathML in my Symja project (Java symbolic math system - point 4 of your list).
ReplyDeleteMaybe, that JEuclid is to slow (especially at startup) for rendering MathML on a mobile phone?
Other alternatives for rendering math expressions with TeX:
JMathTex
SnuggleTeX
JLaTeXMath
and for re-arranging equations or as general Java math libraries:
Mathrider (Yacas for Java)
Jasymca - Symbolic Calculator for Mobile Devices
Java Algebra System
The Apache Commons Mathematics Library
Calculator projects for Android:
scientific-calculator-for-android (Apache license)
Jasymca for Android (GNU public license)
Arity calculator for android (Apache license)
JScience (jscience.org) looks like it has some experimental support for MathML being introduced.
ReplyDeleteJScience MathML Java class
hierarchy
JScience MathML Java
package classes
I would like to say I am extremely impressed with the features the JScience author has chosen and proven able to support with his powerful Java library.
It is a pretty amazing piece of craftsmanship. If you are doing any significant amount of sophisticated mathematics in your Java programs, or just want to create a utility to punt around with then you should take a look at this library. It might even give you some ideas for things you never thought about doing before because they were "too hard".
There is an open source project named MathEclipse that might interest you too.
It depends on having a browser that will render MathML, of course.
ReplyDeleteAn alternative would be to try jsMath, a JavaScript library that uses TeX to render equations.