GSoC #1: Welcome!
Published:
Hi there! This is the first in my blog series documenting my Google Summer of Code 2025 project. Every week (or fortnight, depending on my time), I’ll be posting a brief update to document my progress and share my thoughts on my work.
The community bonding period has been running over the past few weeks, during which I was able to get acquainted with my wonderful supervisors and the wider PyMC community, as well get onboarded with various admin processes. This also coincided with the last week of uni, so it was a bit of a blur!
With the coding period (and swotvac) officially kicking off this week, I’ve been able to devote more time to GSoC, and have spent it getting around the logistics of the first issue on my to-do list: Implement a Newton solver.
In short, a key step of INLA (the “LA” to be exact) involves estimating integrals of the form below using what’s known as the Laplace approximation:
\begin{equation} \int e^{f(x)} dx \approx e^{f(x_0)}(2 \pi)^{n/2}\sqrt{|-Hf(x_0)|} \end{equation}
Where \(Hf(x)\) is the Hessian of some multivariate scalar function f and \(x_0\) is a stationary point. Note the similarity between the RHS and the negative log likelihood of a Gaussian. In our case, this stationary point happens to be the mode of our distribution, which we need to find. Our Newton solver should do just that!