peterbroecker // github

Welcome to my github repository!

I am in the process of writing my PhD thesis in theoretical physics at the University of Cologne. In the following repositories, I publish some of the codes that I have used during that time. I made an effort to polish them a bit and add some commentary where necessary. If not mentioned otherwise, they are published under the GPL license.

The main focus of my work is the development of tools to study so-called interacting, quantum many-body systems, in particular quantum Monte Carlo. I developed most of these simulations in C(++) with analysis scripts written in Python until about two years ago when I made the switch to using Julia and Python for production codes as well. The reason is simply that these languages allow for much faster prototyping while the decrease in speed is often negligible, especially with Julia and Cython. Most of the codes I publish are thus in these two languages, which should make them accessible also for beginners in the field.

Please feel free to contact me if you have any questions regarding the code or the research performed with it!

MonteCarloObservable.jl Provides general functionality to record and analyse data obtained in Monte Carlo simulations including error estimation for combined quantitites.
Ising.jl A fully functional simulation of the two dimensional, classical Ising model in Julia. Implements single spin flips and Wolff cluster updates. Output is written to HDF5 files. Optionally, dump full configurations to study with Machine Learning techniques.
PandaFinance PandaFinance illustrates how to analyse bank statements using Pandas, SQL and Excel. It is written in Python 3.
CythonHardcoreBosons Written in Cython, this code simulates hardcore bosons on a square lattice. It is actual production code that was used in a recent paper.
DQMC C++ implementation of interacting fermions on arbitrary lattices.
DQMC.jl Julia implementation of interacting fermions on arbitrary lattices. Much easier to work with and extend compared to the above C++ version. Heavy use of LAPACK and Julia's advanced JIT compiler should ensure similar performance.