# Google Summer of Code 2021

This blog is an overview of my work and ideas for the GSoC 2021 program.

## 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.

## Partitions and the Bloch-Okounkov Theorem

Published:

In this post I will briefly explain what is a partition of a positive integer and how it is possible to relate this theory to quasimodular forms via the Bloch-Okounkov theorem.

## How to Write a Modular Form In Terms of a Set of Generators?

Published:

In this post, I will explain an algorithmic way to write any modular form $f \in \mathcal{M}_*(\Gamma)$ as a polynomial in the generators of the graded ring $\mathcal{M}_*(\Gamma)$ ($\Gamma = \Gamma_0(N), \Gamma_1(N)$ or $\mathrm{SL}_2(\mathbb{Z})$).

## The Pushout of Two Modular Forms Spaces

Published:

In the previous post, I discussed about some changes made in the code for the graded ring of modular forms in SageMath. However, there was one lacking feature and it was the pushout of two modular forms space. I will explain this feature in this post.

## The Graded Ring of Modular Forms in SageMath

Published:

The goal of this post is to go over some of the new features that are currently in developement for the graded ring of modular forms in SageMath.

## The Algebraic Structure of the Space of Quasimodular Forms

Published:

This post is a direct follow up of the last post. In particular, I want to explain what is the algebraic structure of the space of quasimodular forms and how it will be used in our SageMath implementation.