Dear SymPy community,
I am Edoardo Matachione, a student at Politecnico di Milano, and I have recently worked on the manualintegrate module. At the moment, I have these two merged Pull Requests:
Looking at the project proposals, I was interested in
rule-based symbolic integration. I have only taken a quick look at RUBI, however, I saw that it was abandoned some time ago and, as explained in the proposal, its high number of rules made it too slow to be useful. Therefore, my idea would be to continue working on manualintegrate.
At the same time, on the
RUBI rules page there are interesting ideas for adding atomic rules (especially for the integration of some special functions currently not covered in manualintegrate) and new integration rules from which to extract more general patterns. In particular, a book is often cited: "G. and R., Table of Integrals, Series, and Products". I do not know if it is appropriate to send links here, but I found a public version on the Internet Archive. In this version, section 2.201 briefly discusses the rationalizing substitution I made in
this PR. However, there are further examples of rationalizing substitutions such as 2.202, 2.251 (which is a more general case of the current sqrt_quadratic_rule), and 2.501. The idea would be to perform an initial implementation of these rules in manualintegrate. Subsequently, since these substitutions come from radicals that Risch currently cannot integrate, I would like to create a radint module with all the rationalizing substitutions, as suggested
here by Oscar Benjamin, in order to leverage ratint. Another task to be done would be to continue a refactoring and a better handling of Piecewise. For example,
here and
here I highlight two limitations still present in the substitutions_rule and in the partial_fractions_rule (I have already started working on the latter). There will probably be other points to improve.
At the moment, my interest would be to do a 175 hour project, however, I would also be available for extensions. I wanted to ask, first of all, if there are already other priorities in manualintegrate at the moment or already proposed ideas that could be implemented. Furthermore, I would like to understand if such a proposal, in broad terms, could be considered suitable for a 175 hour project.
Thank you to anyone who will spend some time reading my message, and I apologize for writing so close to the deadline.