Course project in 'How to write Fast Numerical Code' on optimized implementation of latent dirichlet allocation