GSoC 2026 Interest: Linear Algebra Rewrites

Hi everyone,

I’m Alessandro, a Master’s student in Artificial Intelligence at the University of Bologna, holding a Bachelor’s in Mathematics. I am writing to express my strong interest in the “Linear Algebra Rewrites” project for GSoC 2026.

I’ve spent the last couple of weeks diving deep into the project’s context. Specifically, I have been:

  • Studying the COLA (Compositional Linear Algebra) paper and exploring the repository to understand the framework for structured linear operators.

  • Reviewing previous work and discussions within PyTensor toward this direction.

  • Going through the documentation, existing notebooks, and technical videos to understand how graph rewritings are currently handled in the codebase.

To get familiar with the library’s internals, I have already opened a few PRs related to graph rewritings:

My short term goal is to continue contributing and opening PRs “here and there” to master the codebase and ensure I’m ready for the technical challenges of the project.

I have a couple of questions as I begin drafting my proposal:

  1. Are there specific areas of the PyTensor graph engine you recommend I focus on to better tackle the issue?

  2. Do you have any suggestions on how to get deeper into the subject to ensure my proposal aligns with the long-term vision of the library?

Looking forward to your feedback!

Best,

Alessandro

Hi @jessegrabowski,

I have started writing down a first draft for the proposal here. I would appreciate your feedback.

Thanks,

Alessandro

Hey Alessandro

Nice to see your proposal is underway. I don’t think you need notebooks galore for this projects, since it’s more an “in the weeds” topic. If you wanted something more presentable, it would be good to think about some linear algebra heavy algorithms (kalman filter, newton’s method, kronecker-structred GP, LoRA, natural gradients, …?) that could directly benefit from these rewrites. Then in addition to tracking the project in a piecewise fashion (via tests and scratch scripts/notebooks that compare before/after graphs), you can also see the rewrites in a “real use case”.

Not necessary, but something to think about if you’re more interested in one of these applied topics than just the nitty-gritty itself. And even if you’re interested in the nitty-gritty as such, it would be good to have a motivating example to organize your work around to show it off in future.