invlib is a C++ library that implements Bayesian methods for remote sensing data retrieval. I developed invlib as part of my thesis work for my second Master’s degree in physics. The primary aim of my thesis project was to integrate these methods into the ARTS software package for the simulation of radiative transfer, so that arts could be used as a stand alone package for remote sensing data retrieval. I developed invlib as an external library with the aim of providing a generic, highly configurable and performant implementation of these methods, aiming to conserve the generality of the mathematical formulation. By performing remote sensing data retrievals from two different satellite missions within ARTS and without ARTS, I was able to demonstrate its functionality and performance as well as its usefulness as a standalone library.

I have written a summary post describing in more detail my thesis work and the obtained results. Below you can find a list of posts on the invlib library:

Blog Posts on invlib


Deep Learning in TMVA

During summer 2016, I had the great opportunity to work in the Software for Experiments (SFT) group at CERN within the Google Summer of Code program. My project, entitled GPU-Accelerated Neural Networks in TMVA, consisted of the implementation of GPU acceleration for the training of deep neural networks (DNN) for the Toolkit for Multivariate Analysis (TMVA), which is a Root-integrated framework for machine learning. By redesigning the previous DNN implementation, I was able to implement training routines both for GPU architectures as well as multi-core CPU architectures. After three months of work on the project, my code was merged into the Root master branch and is now a part of the Root software package. Contributing to such a large and long-existing software project is a great experience and gave me the chance to learn a lot about software development and management of large scale software projects.

I documented my summer of code in this project blog.



FEECa is an acronym for Finite Element Exterior Calculus in Haskell. This is a project that I worked on as a student research assistant at the Department of Mathematics at Chalmers University of Technology. The aim of the project was to explore the potential of functional programming languages, in particular Haskell, to implement mathematical code. As the name suggests, FEECa implements finite element exterior calculus, which is a mathematical framework for the solution of partial differential equations (PDEs) using finite element methods.