Towards a symbolic integrator with Rubin.jl

07/30/2021, 1:30 PM1:40 PM UTC


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.

Platinum sponsors

Julia Computing

Gold sponsors

Relational AI

Silver sponsors

Invenia LabsConningPumas AIQuEra Computing Inc.King Abdullah University of Science and TechnologyDataChef.coJeffrey Sarnoff

Media partners

Packt Publication

Fiscal Sponsor