I have been working on two things since my last blog post and they are: converting Symbolic Functions/Expressions to Holonomic and converting Holonomic to Hypergeometric. Let’s discuss the former first:

I wrote a method for converting Expressions earlier too, but that was very trivial, so this week began by me writing a Look-Up table technique to convert expressions. It is similar to the way `meijerint._rewrite1`

converts to `meijerg`

in the `integrals`

module. The method recursively searches for chunks in the expression that can be converted to Holonomic (using tables) and then uses the operation `+, *, ^`

defined on Holonomic Functions to convert the whole expression. #11222

Then I started working on to write a method that converts Holonomic Functions to Hypergeometric or a linear combination of them. (if it’s possible, because every Holonomic Functions is not Hypergeometric.) First I asked questions I had to Kalevi on Gitter about how to do it, and then finally wrote the code here #11246.

Let me also give you an overview of things we have in the module so far.

- Differential Operators and Recurrence Operators.
- Holonomic Functions with following operations: addition, multiplication, power, integration and composition).
- Computing Recurrence relation in Taylor coefficients.
- Series expansion using the recurrence. (Some know issues are there if origin is a regular singular point.)
- Numerical Computation (Runge-Kutta 4th Order and Euler’s method.)
- Converting to Hypergeometric. (Currently working on this.)
- Converting Hypergeometric to Holonomic.
- Converting Meijer G-function to Holonomic.
- Converting expressions to Holonomic. (There doesn’t seem to be a direct algorithm for converting algebraic functions which are not polynomials or rationals, so they are not supported right now.)

This week I will be continuing my work on converting to `hyper`

and then further extending it to convert to expressions using `hyperexpand`

.

Good luck to all fellow GSoCers for Midterm Evaluation.

Goodbye!