Welcome to Rubi, A Rule-based Integrator
By systematically applying its extensive, coherent collection of symbolic integration rules, Rubi is able to find the optimal antiderivative of large classes of mathematical expressions. Also Rubi can show the rules and intermediate steps it uses to integrate an expression, making the system a great tool for both learning and doing mathematics.
The over 6700 rules Rubi uses are organized as a decision tree based on the form of the integrand. Click on Rules to view the mathematical formula and application conditions for each rule expressed in standard 2-D mathematical notation.
If the Mathematica computer algebra system is available on your computer, click on Install Rubi for instructions how to download and install the system. Then click on Using Rubi to learn how to integrate expressions and optionally show the steps required to do so.
An extensive test-suite of over 72,000 integration problems is used to test each new release of Rubi. Since it can also be used to test other symbolic integrators, the test-suite has been translated into the syntax of several popular computer algebra systems. Click on Test Problem to download the available translations of the test-suite. Click on Test Results to view the very illuminating results of running the test-suite on Rubi and on Mathematica’s and Maple’s built-in integrators.
Click on Vision to read a short, plain-language essay describing the numerous advantages of organizing mathematical knowledge as a rule-based decision tree like Rubi does. Finally, click on About to read about Rubi’s development and developers.
Comparison with other symbolic integrators
Rubi dramatically out-performs other symbolic integrators, including Maple and Mathematica, on a grueling test-suite of integration problems. Each problem consists of an integrand and its optimal antiderivative. For each problem the result produced by a system is given a grade as follows:
- A - if the result is no more than twice the size of the optimal antiderivative and involves functions no higher-level than those in the optimal antiderivative.
- B - if the result is more than twice the size of the optimal antiderivative.
- C - if the result unnecessarily involves higher-level functions or complex numbers. For example, the result involves special functions, but the optimal antiderivative only involves elementary ones.
- F - if the result involves an integral, no result is produced within 120 seconds, or the system hangs or crashes.
The following bar chart summarizes the grades recent versions of Rubi, Mathematica and Maple made on the integration test-suite:
Click on the Test Results menu option to see the detailed test results on which this bar chart is based.
Also, Nasser M. Abbasi has done extensive testing of the integration capabilities on these and several other computer algebra systems. Detailed test results are available at his Computer algebra independent integration tests website.
Articles referencing rule-based integration
Below are some of the articles and online posts written about Rubi in reverse chronological order:
-
Albert Rich, Patrick Scheibe, and Nasser Abbasi (2018). Rule-based integration: An extensive system of symbolic integration rules. Journal of Open Source Software. 3.32, p1073 1-3, DOI: 10.21105/joss.
-
Alexes Mes and Jed Stephens (2018). An Application of Rubi: Series Expansion of the Quark Mass Renormalization Group Equation. arXiv:1811.04892.
-
Patrick Scheibe (2018). Rubi - The Rule-based Integrator for Mathematica. Wolfram Community post 1421180.
-
Patrick Scheibe (2018). Rubi - A Rule-based Integrator for Mathematical Expressions. Blog post.
-
David Jeffrey and Albert D. Rich (2016). Developments in Rubi: Rule-based integration. Presentation.
-
David J. Jeffrey, Albert D. Rich, and Junrui Hu (2015). Rubi and integration as term re-writing. ACM Communications in Computer Algebra. 49. 34-34. 10.1145/2768577.2768649.
-
Albert D. Rich and David J. Jeffrey (2010). Reducing expression size using rule-based integration. Intelligent Computer Mathematics. Ed: S.Autexier, J.Calmet, D. Delahaye, P.D.F.Ion, L.Rideau, R.Rioboo, A.P.Sexton. LNAI 6167, pp234-246, Springer.
-
Albert D. Rich and David J. Jeffrey (2009). A knowledge repository for indefinite integration based on transformation rules. Intelligent Computer Mathematics, LNCS 5625, pp480-485, Springer
If Rubi is used in your work and you want to cite it appropriately, please reference the article Rule-based integration: An extensive system of symbolic integration rules published in the Journal of Open Source Software. The following entry can be used for bibliographies created using BibTeX:
@article{Rich2018,
title = {Rule-based integration: An extensive system of symbolic integration rules},
author = {Albert Rich and Patrick Scheibe and Nasser Abbasi},
doi = {10.21105/joss.01073},
date = {2018-12},
publisher = {The Open Journal},
volume = {3},
number = {32},
pages = {1073},
journal = {Journal of Open Source Software}
}
Rule-based integration resources
-
To discuss issues related to rule-based integration, you are welcome to join Rubi’s chatroom on Gitter at https://gitter.im/Rule-Based-Integration/Lobby using your GitHub login.
-
To report bugs, request features or suggest new integration rules, please open an issue on GitHub at https://github.com/RuleBasedIntegration/Rubi/issues and describe as clearly as possible the bug, request or suggestion.
-
Rubi is a freely available system of integration rules. The complete source code is available as Mathematica notebook files on GitHub at https://github.com/RuleBasedIntegration/Rubi. The notebooks contain the integration rules in both human and machine-readable form, and everything required to build and use it as Mathematica package.
-
Rubi’s Wiki-page at https://github.com/RuleBasedIntegration/Rubi/wiki is intended to contain detailed information about Rubi’s development process.