Code development in our group
Complementing our methodological development of numerical quantum-many body
approaches and their application on high-performance
computing resources, our group has long been devoted to the
open-source implementation of codes and libraries.
We have also been involved in one of the first community code
developments under the heading "Algorithms and Libraries for
Physics Simulations (ALPS)", please see its
legacy web page.
code packages
Our group has developed two implementations of the pseudo-fermion functional renormalization group to study the physics of frustrated magnetism. These codes are extremely versatile allowing to study a broad range of spin isotropic and anisotropic couplings (Heisenberg, XY, Kitaev, ...) in two and three-dimensional lattice geometries. They have also been expanded to spin-valley and spin-orbital degrees of freedom.
- PFFRGSolver.jl
A Julia code that provides an efficient, state-of-the-art multiloop solver for functional renormalization group equations of quantum lattice spin models in the pseudo-fermion representation.
Originally created by former group member Dominik Kiese it is now developed in collaboration with current group member Lasse Gresista and Tobias Müller (Würzburg).
- SpinParser
SpinParser ("Spin Pseudofermion Algorithms for Research on Spin Ensembles via Renormalization") is a C++ software platform to perform pseudofermion functional renormalization group (pf-FRG) calculations to solve lattice spin models of quantum magnetism.
Finn Lasse Buessen, The SpinParser software for pseudofermion functional renormalization group calculations on quantum magnets, SciPost Phys. Codebases 5 (2022).
Developed by former group member Finn Lasse Buessen.
Our studies of frustrated magnets are often supported by classical Monte Carlo simulations for which we have developed our own Julia code
-
A Julia package that provides a flexible Markov chain Monte Carlo implementation for classical lattice spin models.
Developed by former group member Finn Lasse Buessen.
- SemiClassicalMC
A Julia package that allows the semi-classical analysis of su(4) spin models, relevant to, e.g., spin-valley or spin-orbit coupled materials, using Metropolis Monte Carlo and simulated annealing algorithms.
Developed by Lasse Gresista and former group member Dominik Kiese.
For the study of the thermodynamics of two- and three-dimensional Kitaev models we have developed highly performant sign-free quantum Monte Carlo codes
- Kitaev_QMC
and Kitaev_QMC_KPM
are two C++ packages that implement this approach by combining a sampling of the Z2 gauge field with an exact calculation of the Majorana density of states -- via exact diagonalization or the Green's-function-based kernel polynomial method, respectively.
Developed by former group member Tim Eschmann in close collaboration with Yuki Motome's group in Tokyo.
For the simulation of electronic systems and in particular spin-fermion models our group developed various flavors of determinental Quantum Monte Carlo (DQMC) codes have been developed in our group. These codes are less general than the pf-FRG codes above, more tailored to the specific spin-fermion setting.
In the field of quantum error correction, our group has implemented several open-source decoders
- Union Find
A powerful C++ implementation of the union find decoder allowing to perform quantum error correction for stabilizer codes with code distances d=256 and beyond.
Developed by former group members Chae-Yeun Park and Kai Meinerz.
libraries
-
MonteCarlo.jl is a Julia software library for the simulation of physical models by means of the Markov Chain Monte Carlo technique. The package implements classical and quantum Monte Carlo flavors which can be used to study spin systems, interacting fermions, and boson-fermion mixtures.
Originally created by former group members Carsten Bauer and Frederic Freyer it is now developed by a larger community. -
BinningAnalysis.jl is a Julia package that provides tools to estimate standard errors and autocorrelation times of correlated time series. A typical example is a Markov chain obtained in a Metropolis Monte Carlo simulation.
Developed by former group member Frederic Freyer. -
Lattice based calculations and plotting (requires Julia v.1.0).
Developed by former group member Jan Attig. - RIXSCalculator.jl
Code module for the calculation of RIXS spectra (requires Julia v.1.0).
Developed by former group members Jan Attig and Luca Peterlini. - MatsubaraFunctions.jl
A Julia package providing a convenient interface to rapidly prototype algorithms for multivariable Green's functions.
Dominik Kiese, Anxiang Ge, Nepomuk Ritz, Jan von Delft, and Nils Wentzell, MatsubaraFunctions.jl: An equilibrium Green's function library in the Julia programming language, arXiv:2309.12511 (2023).
Developed by former group member Dominik Kiese and colleagues from CCQ/Flatiron Institute and LMU Munich.
individual github repositories
Several members of our group have kept individual github repositories, which we list below (also indicating the years these individuals have been active in our group):
- Daniel Simm (2023-)
- Malte Puetz (2023-)
- Lasse Gresista (2021-)
- Frederic Freyer (2020-2023)
- Jan Attig (2016-2022)
- Dominik Kiese (2017-2022)
- Chae-Yeun Park (2020-2021)
- Carsten Bauer (2016-2020)
- Tim Eschmann (2015-2020)
- Finn Lasse Buessen (2015-2019)
- Peter Broecker (2013-2018)
- Max Gerlach (2013-2017)
- Simon Trebst