NRG Ljubljana

NRG Ljubljana is a hybrid Mathematica and C++ framework for numerical renormalization group calculations on quantum impurity models. The repository contains the low-level iterative solver, the model initialization pipeline, a large collection of analysis tools, and a substantial regression and unit test suite.

This documentation set provides an end-user path from installation through a first calculation, references the supported configuration and current output formats, and documents the architecture for contributors and advanced users.

The Big Picture

The project has three major layers:

  1. nrginit/ prepares the initial Hamiltonian, basis, operators, and Wilson chain inputs.
  2. c++/ runs the iterative NRG calculation, truncation, operator recalculation, and optional DM-NRG or FDM workflows.
  3. tools/ provides standalone utilities for preprocessing and postprocessing data.

The input side is centered around the param and data files. The runtime side revolves around a parameter object, a symmetry backend, eigenspectra for each invariant subspace, operator containers, and iteration history stores.

Start Here

Documentation Scope

The goal of this MkDocs tree is to document both the user workflow and the codebase as it exists in the repository:

  • installation and the first end-to-end calculation
  • user-facing parameters and current output layouts
  • subsystem boundaries
  • execution flow
  • main data structures
  • testing and maintenance workflow

It is not a full introduction to NRG theory. The older doc/ tree remains available for legacy scientific material that has not yet moved into this site.