Get started
Install NRG Ljubljana from conda-forge. Packages are available for Linux and macOS; the installation guide covers setup, updates, and troubleshooting.
Run your first calculation with the hands-on single-impurity Anderson-model tutorial. The supplied calculations run without Mathematica; preparing new models requires Mathematica for the initialization step.
For source code, see the 2026.09 release or download the development snapshot (ZIP). Information on legacy versions is also available.
Latest release
NRG Ljubljana 2026.09 (6 September 2026)
Performance and efficiency: optional NVIDIA CUDA acceleration for diagonalization and selected operator-recalculation matrix products, alongside CPU optimizations and reduced memory use.
Expanded physics capabilities: multiple local phonon modes and superconducting Wilson chains with Nambu coefficients.
Simpler workflows: conda-forge packages for Linux and macOS, plus reusable model templates for parameter sweeps without repeated Mathematica initialization.
Read the full release notes. CUDA support requires a CUDA-enabled source build and is not included in the standard conda-forge packages.
Documentation and examples
NRG Ljubljana documentation: installation, model setup, numerical parameters, observables, output formats, and code internals.
Library of examples: sample calculations to explore and adapt.
Mathematica implementation of NRG: an introductory notebook illustrating the algorithm for the single-impurity Anderson model. It calculates thermodynamic quantities and expectation values of arbitrary local operators.
TRIQS interface documentation and examples: C++ and Python bindings for using NRG Ljubljana with TRIQS, without Mathematica at run time.
Help and feedback
Questions, suggestions, and feedback are welcome on GitHub Discussions. For other project inquiries, contact nrgljubljana@ijs.si.
Licence and citation
NRG Ljubljana supports open access to scientific knowledge. It is free software, distributed under the GNU General Public License, version 3 or later. You may use, study, modify, and redistribute it under the terms of that licence.
If you publish results obtained with NRG Ljubljana, please cite both the method paper and the software release:
R. Žitko and T. Pruschke, Energy resolution and discretization artifacts in the numerical renormalization group, Physical Review B 79, 085106 (2009). This paper introduces a discretization scheme that improves accuracy at high frequencies and temperatures.
R. Žitko, NRG Ljubljana, version
2026.09, Zenodo (6 September 2026). doi:10.5281/zenodo.22547803.
Background and related tools
- The numerical renormalization group method
- Quantum impurity problems
- SNEG library for symbolic calculations with second-quantized operators in Mathematica
Earlier news (2020-2026)
21 April 2026: MkDocs documentation was introduced, covering data structures, code organization, and program flow. The documentation now also covers user workflows and reference material.
20 December 2024: Release 2024.12 brought together two years of development: improved dependency handling in CMake (thanks to Don Rolih and Nils Wentzell), code cleanup, revised parallelization of diagonalization, and bug fixes. This release introduced the C++20 compiler requirement.
14 September 2023: A reference implementation of F. B. Kugler's improved self-energy estimator was made available on GitHub: donrolih/sigma-trick-reference.
15 January 2022: A funded position for NRG code development and related scientific research was advertised.
29 May 2021: A snapshot of NRG Ljubljana was archived on Zenodo and assigned DOI 10.5281/zenodo.4841076. See Licence and citation for the current software citation.
24 February 2020: The source code moved to GitHub, with a new CMake-based build system and partial modernization to C++17. Current releases require C++20.
24 February 2020: An interface between NRG Ljubljana and TRIQS became available on GitHub. It provides C++ and Python bindings and does not require Mathematica at run time. See the interface documentation and examples.