Opened 6 years ago

Last modified 3 years ago

#22410 new enhancement

Include SymPy's Rubi integrator as integration method

Reported by: Ralf Stephan Owned by:
Priority: major Milestone:
Component: calculus Keywords:
Cc: Miguel Marco, Samuel Lelièvre Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Ralf Stephan)

More info about it:

The rule-based integrator Rubi by Albert D. Rich consists of about 10,000 pattern-matching rules and "dramatically out-performs Maple and Mathematica" see

The rules are available as of 2017 only as Mathematica code. There were efforts by the SymPy community to either translate them manually or on the fly to Python:

Rubi was proposed as a GSoC project for Sage:

Proof of concept of rule translation into Sage:

Change History (5)

comment:1 Changed 6 years ago by Karl-Dieter Crisman

Huh, I never heard of this! Very interesting. If this could be "integrated" into Pynac or Sage that would be impressive - many have proposed a Risch or other algorithm implementation in Sage (including one person who claimed their student had one, but then never followed up).

Interesting comment in the Sympy thread:

I talked with Albert Rich, the author of Rubi, and he told me that the next version will not use pattern matching, but rather just use a decision tree.

comment:2 Changed 5 years ago by Ralf Stephan

Description: modified (diff)
Milestone: sage-7.6sage-8.2
Summary: Implement Rubi integratorInclude SymPy's Rubi integrator as integation method

I think SymPy now has the lead on this, and we just want to include that code with Sage. I'm changing the ticket description accordingly.

This depends on a SymPy upgrade ticket.

comment:3 Changed 4 years ago by Samuel Lelièvre

Cc: Samuel Lelièvre added
Milestone: sage-8.2sage-8.7
Summary: Include SymPy's Rubi integrator as integation methodInclude SymPy's Rubi integrator as integration method

This depends on a SymPy upgrade ticket.

In #26550, SageMath upgraded to SymPy 1.3 where rubi support is improved.

For remaining issues in SymPy see

comment:4 Changed 4 years ago by Erik Bray

Milestone: sage-8.7sage-8.8

Ticket retargeted after milestone closed (if you don't believe this ticket is appropriate for the Sage 8.8 release please retarget manually)

comment:5 Changed 3 years ago by Erik Bray

Milestone: sage-8.8

As the Sage-8.8 release milestone is pending, we should delete the sage-8.8 milestone for tickets that are not actively being worked on or that still require significant work to move forward. If you feel that this ticket should be included in the next Sage release at the soonest please set its milestone to the next release milestone (sage-8.9).

Note: See TracTickets for help on using tickets.