Tim Hoffmann
jSymbol
abstract
- jSymbol is a string rewriter written in Java. It allows for rule based
interactive programming and can be used to test or implement
algorithms of computer algebra and scientific computing.
-
It has a library for doing arbitrary precision arithmetics.
-
An experiemtal notebook style interface allows 2D graphics using SVG
(scalable vector graphics) and 3D graphics with jReality (see below).
-
jSymbol can manipulate Java objects directly. Thus objects in
expressions can stand for Java objects and there exists a mechanism to
call methods on them or manipulate fields.
-
There are first tests of compiling expressions to Java bytecode: The
mechanism takes an expression, and some mapping which symbols should
be of which Java type. Then a custom object is created that has a
method which takes values for these symbols and return whatver the
expression would have returned. This works of course only if two
prequisites are fulfilled: all subexpressiona are compilable
(i.e. know how to express themselves as an instrucion tree given the
arguments) and the result is of fixed type given the input types.
This is still experimental and only a few number operations are
actually compilable.
examples
plans
- lots of debugging...of course
- slowly add more and more Operations and special functions
- Once stix fonts are available,
the plan is to enable the interface to render formulas through a subset
of MathML.
- lift runtime compiling of expressions from the experimental stage