# Google Summer of Code 2021 summary

Published:

In this post, I will give an overview of my work for the SageMath open-source mathematical software. If you are new to this blog, I suggest that you start reading from the first post.

I will list here a brief overview of the work I did and explain the new features that will be available in SageMath in a future release of the software (probably SageMath 9.5). A more detailed list can be found here.

## Work done during the summer

• Ticket #31559: The class ModularFormsRing now manipulates formal object.

The old implementation of the ring of modular forms was a little bit outdated. Now, the elements of this ring in SageMath are instances of the class GradedModularFormElement which inherit from the class Element:

• Ticket #32168: Fixed conversion between modular forms spaces.

It is well known that a modular form $f$ of weight $k$, level $N$ and nebentypus $\chi$ is modular over $\Gamma_1(N)$. However, it was not always possible to convert a modular form between different spaces:

This bug is now fixed:

• Ticket #32135: implemented to_polynomial and from_polynomial for the ring of modular forms (see this blog post for more info).

• Ticket #31512: implemented the ring of quasimodular forms.

A new parent class was implemented, named QuasiModularForms. This class is similar to the class ModularFormsRing. See this blog post for more info about quasimodular forms.

• Ticket #32336: implemented to_polynomial and from_polynomial for quasimodular forms.

These two methods are similar to the ones implemented for the ring of modular forms.

• Ticket #32343: implemented the Serre derivative of modular forms.

The Serre derivative of a modular form is an operator that sends a weight $k$ modular form to a weight $k+2$ modular form. It is defined by $f \mapsto q\frac{df}{dq} - \frac{k}{12}E_2 f$.

• Ticket #32357: implemented derivative of quasimodular forms and graded modular forms.

The derivative of a modular form $f \mapsto q\tfrac{df}{dq}$ is not necessarily a modular form. However, it is a quasimodular form. Using the Serre derivative, it was possible to implement this derivative of a graded modular form and a quasiform:

More details about this project can be found in the task ticket #31560. This ticket list all the work done so far, and what is to be done in the future.

## Reviewed tickets

In addition to these new feature, I also reviewed some tickets. Reviewing tickets is a really important part of SageMath development as everything must be peer reviewed before being officially included in the software. In other words, no reviewers $=$ no new feature/bug fix. Here’s the list of tickets I reviewed during the summer:

## Last words

The GSoC 2021 program is already finished and it was an enriching and captivating experience. I perfected my Python programming skills while working on a subject that I’m passionated about: modular forms. Moreover, I thoroughly enjoyed working in collaboration with my mentor as I learned a lot from him. Thank you for reading this blog. If you have any questions or suggestions do not hesitate to contact me via email.

Tags:

Categories: