Quick links: NRG method Impurity problems SNEG library adapt code Rok Zitko's home page

"NRG Ljubljana" - open source numerical renormalization group code

"NRG Ljubljana" is a general-purpose flexible framework for performing large scale numerical renormalization group (NRG) calculations for quantum impurity problems. It is highly extensible without sacrificing numerical efficiency. I advocate open access to knowledge in science. The "Ljubljana NRG" framework is thus licenced under the General public licence (GPL). You are entitled to run the program, for any desired purpose, study how the program works and modify it, redistribute copies and improve the program. I would, however, appreciate a citation to Phys. Rev. B 79, 085106 (2009) if you make use of the results produced with this code. That paper introduced a new discretization scheme for NRG that led way to much improved results at high frequencies and high temperatures.


Obtaining the code

Download the current version ( 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.).

A step-by-step installation guide is available.

It is also possible to compile NRG Ljubljana 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

A Docker container is available. Pull using docker pull rokzitko/nrg. (Version

And there is a Singularity container as well. (Version 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 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.

Examples and documentation

Library of examples (new, 2019)

NRG UFU/2019 Advanced Studies School, in Feb 2019 in Uberlândia, Brazil.

Examples and tutorials (old, 2014)

NRG tutorials at SISSA, June 2013: slides (ppt, pdf), tutorials (cca. 50 MB), solutions to some exercices (cca. 8 MB)

Reference manual: (old, 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.

Last modified: 24. 2. 2020 Request more information Rok Zitko's home page