Symbolize is a Julia package to perform numeric-to-symbolic inference (aka "reverse calculation"), i.e., convert a number to a closed-form representation.

The goal is to emulate tools like `identify`

from
Maple and
SymPy;
ISC v1 and v2;
and RIES (the one used in the making of this xkcd comic), to get a closed-form representation of a number, if possible.

The plan is to start small, first by identifying multiples of known constants and simple fractions, and then gradually go up the hierarchy of mathematical expressions as well as adopting whatever other strategies or heuristics from the tools listed above. I'm not yet sure how far along it will be feasible to go, but it seemed like a fun idea to try.

Eventually, it could even move beyond single numbers, and deal with vectors, in essence attempting to figure out the mathematical model most likely behind a stream of data, such as finding the equations governing an oscillating signal based on a bunch of measured samples (this kind of application is called Symbolic regression).

09/19/2014

about 1 year ago

5 commits