"NRG Ljubljana" - open source numerical renormalization group code
Download the current version (184.108.40.206) of "NRG Ljubljana"
The package should work unmodified on any modern Linux distribution and, with some tweaking, on any Unix or Unix-like operating system with a good standards-compliant C++ compiler. (Mac OS X is fine.) It requires BLAS/LAPACK libraries, Boost, GNU Scientific Library (GSL), GNU Multiple Precision library (GMP), and Wolfram Mathematica. Mathematica is only required for the initialization of the problem (basis construction, diagonalisation of the initial Hamiltonian, transformations of the operator matrices, etc.).
By far the easiest way to compile NRG Ljubljana is using the EasyBuild framework. Using EasyBuild, NRG Ljubljana can be fully built (including taking care of all dependencies except Mathematica) using the command eb --from-pr 4651. The easyconfig is available here. (Version 220.127.116.11)
A Docker container is available. Pull using docker pull rokzitko/nrg. (Version 18.104.22.168)
And there is a Singularity container as well. (Version 22.214.171.124) Singularity itself can be obtained here. Installation instructions for Linux, MacOS, and Windows. Install packages for Debian and Ubuntu.
You might need a stand-alone NRG initialization code (Version 126.96.36.199). For testing, here are three examples for performing a simple calculation using either a locally compiled NRG Ljubljana, the Singularity version, and the Docker version. The Docker version has been tested to work on Linux and MacOS operating systems.
NRG tutorials at SISSA, June 2013: slides (ppt, pdf), tutorials (cca. 50 MB), solutions to some exercices (cca. 8 MB)
Reference manual: (version from May 30, 2013)
A Mathematica implementation of the NRG method is also available. It illustrates the main ideas of the algorithm on the single-impurity Anderson model using simple Mathematica notebook interface. It calculates the thermodynamic quantities and the expectation values of arbitrary local operators.