Opened 2 years ago

Last modified 10 days ago

#22410 new enhancement

Include SymPy's Rubi integrator as integration method

Reported by: rws Owned by:
Priority: major Milestone:
Component: calculus Keywords:
Cc: mmarco, slelievre Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by rws)

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 2 years ago by kcrisman

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 21 months ago by rws

  • Description modified (diff)
  • Milestone changed from sage-7.6 to sage-8.2
  • Summary changed from Implement Rubi integrator to Include 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 5 months ago by slelievre

  • Cc slelievre added
  • Milestone changed from sage-8.2 to sage-8.7
  • Summary changed from Include SymPy's Rubi integrator as integation method to Include 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 3 months ago by embray

  • Milestone changed from sage-8.7 to sage-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 10 days ago by embray

  • Milestone sage-8.8 deleted

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.