Jan Westerdiep, PhD

About me

My name's Jan, from Amsterdam in the Netherlands. I'm a busy bee, a dreamer, and always eager to explore new ideas. I tinker with everything I see and enjoy understanding "how it works". I currently live in Munich, Germany, with two cats and my girlfriend. I work at Apple.

I have a heart for science and work best in a team. I enjoy sports, specifically bouldering and swimming. I do my coding (mostly C++ and Python) in vim, and write my documents with LaTeX.

Want to reach me? You're best off emailing me.

Research

The most up-to-date list of my publications is available on my scholar page.

PhD thesis: Space-time residual minimization for parabolic partial differential equations

In my PhD thesis (available here) we discuss the numerical solution of time-dependent PDEs using a new finite element method that essentially views the time axis as just another problem axis, from both a theoretical and a practical point of view.

Earlier projects

Before starting as a PhD candidate in July 2017, I completed some projects.

Master's Thesis: hp-adaptive finite elements in 2D

As the conclusion of my Master's in Mathematics at the University of Amsterdam, I wrote a thesis on the Finite Element Method, which is a way of solving differential equations numerically. Differential equations describe many things in nature, from the aerodynamics of a car to the shape of a soap bubble.

Together with this thesis, a library written in modern C++ was published on github. Read the final thesis here.

Parallel Conjugate Gradients for sparse stiffness matrices

As the conclusion of a course on parallel algorithms, I collaborated with a good friend to analyse, implement and apply the Conjugate Gradient method.

We used C with the OpenMP and MPI libraries to parallelize our algorithm, and rediscovered a solution to problems generally found in Finite Element analysis. Read our final report here.

Induced Dimension Reduction: derivation and evaluation

For a graduate course on Numerical Linear Algebra, we analysed an algorithm capable of solving linear systems. For symmetric linear systems, the holy grail is the above-mentioned Conjugate Gradient method. For general systems, one can prove no equivalent exists.

In 1980, the Induced Dimension Reduction algorithm for solving such general systems was derived. It was largely replaced by other, more promising methods, until revisited and generalized in 2008. In our report, we show that the novel IDR(s) method outperforms the state-of-the-art in many cases. We used MATLAB to implement the method and performed extensive numerical testing. Read more here.

Keyboard brain transplant

I felt the desire to tweak my Happy Hacking Keyboard, which has been my daily driver for the past few years. More specifically, I wanted to be able to remap the keys in the most versatile way possible; this thread guided me to this soldering session.

The result is a hardware programmable zombie keyboard with blank keycaps, which is therefore able to use not only QWERTY but any other layout. My current layout can be found here, and the images here.

Hacking the Wiki game

In a course on complex system simulations, we analysed the Wiki game. This is a text-based game designed to work specifically with Wikipedia, where the goal is to reach a specific article in the smallest number of clicks, starting from the Random page.

We looked at ways to increase this number averaged over all starting pages by removing pages or links between pages, and simulated attacks on the Wikipedia network using these strategies. We put our findings in practice by actually editing Wikipedia pages: The result is a 20% less visible Justin Bieber, as opposed to Britney Spears, who is now 20% easier to find. Find the wiki page on this project here.

Wavelets and the JPEG-2000 algorithm (in Dutch)

As our second year project, a friend and I studied the JPEG-2000 algorithm from a mathematical point of view. JPEG-2000 is a wavelet-based compression algorithm which often exhibits better performance than the original (DCT-based) JPEG algorithm at similar compression rates. Read more here (in Dutch).