Towards a symbolic integrator with Rubin.jl
2021-07-30 , Red

Rubin.jl will be a 100% Julia implementation of an integration term-rewriting system. The rule catalogue is taken from RUBI, a Mathematica-based integration engine that uses binary searches in a tree of mutually exclusive rewriting rules, which nets RUBI an order of magnitude speed improvement over Mathematica over an immense test suite. Rubin.jl hosts 99.5+% of RUBI's rules, and 99.9% of the test suite in a JSON format, spanning more than 72,000 single variable integration unit tests.


Rubin.jl will be based on Symbolics.jl, a novel foundation for a Julian CAS. The goal of Rubin.jl is to

[X] Convert all the RUBI rules into a huge JSON

[X] Convert all the RUBI unit tests into a huge JSON

[ ] Parse the JSON files into Rubin Rules and Rubin tests

[ ] Benchmark the test suite and assess discrepancies

Symbolics.jl is a Julia based term-rewriting system that allows the user to specify that a "left hand side" symbolic expression should be transformed into the expression on the right hand side. Symbolic integration is useful for pure and applied mathematics - this will help bring in even more users to Julia.

Physics Undergraduate based in Mexico City, UNAM. I enjoy handstands and coding in Julia.