prg (yangbaxter)

Welcome to the PRG++ package to perform numerical, specifically Density Matrix, Renormalization Group calculations.

The code is a rewrite of my DMRG code in use since the 1990s and development of this version started in 2001. It is in production mode and in use by several groups world wide.

The code featured Posix parallelization and has suppot for MPI based distributed parallelization.

The code supports: - Many different local site types, e.g.: - spinless fermions, spin 1/2 fermions - bosons, hard core bosons - SU(2), SU(3) and SU(4) in various representations - Fermi-Bose systems - BCS type model

- ground state and few to many excited states

- real and imaginary time evolution via full and adaptive schemes employing Krylov sub space techniques - Orthogonal polynomial, e.g. Chebychev, expansion

- Various solver for Greensfunctions using the correction vector approach

- Adiabatic state evolution - Flexible definition of the system and the Hamiltonian via an internal Parser - An internal calculator for the evaluation of expression in the input file - A class for performing calculations for fermionic Hamiltonians, e.g. the calculation of commutators

- support for quantum chemistry type models The code is written in C++ and needs at least C++14. and the Boost.org library (headers only). In order to make use of special functions as defined in C++-17 in the internal calculator you do need to compile with at least C++-17.

The code is triple licensed: GPL v2, GPL v3 or Apachy 2.