SCS_Lanczos Documentation

Exact diagonalization for quantum many-body systems

SCS_Lanczos

A C++ research code for solving models of strongly correlated systems with Lanczos-based and exact-diagonalization techniques.

Documentation status: This is a preliminary guide. Detailed model-specific inputs and examples will be added progressively.

Overview

SCS stands for Strongly Correlated Systems. SCS_Lanczos is developed by Nitin Kaushal to study interacting quantum lattice models. It supports Lanczos calculations for larger Hilbert spaces and full exact diagonalization for sufficiently small systems.

The project is under active research development. Users should validate convergence, symmetry sectors, model parameters, and observables for their particular calculation.

Capabilities

Ground-state calculations

Lanczos eigensolvers for sparse many-body Hamiltonians and full-spectrum calculations for small systems.

Static and dynamical observables

Infrastructure for evaluating correlation functions and frequency-dependent response.

Finite-temperature methods

Finite-temperature and low-temperature Lanczos components are included in the source tree.

Time evolution

Time-dependent Lanczos components support studies of non-equilibrium quantum dynamics.

Getting started

1. Obtain the source

git clone https://github.com/nkphys/SCS_Lanczos.git
cd SCS_Lanczos

2. Review the build configuration

The repository provides a Makefile. Review its compiler and library settings for your workstation or computing cluster, then build from the project root:

make

3. Choose an example input

Example parameter files are available in the input_files/ directory and at the repository root. Begin with the example closest to your target model, retain a copy, and modify parameters incrementally.

Before running: Consult the repository README and the selected model source for current input requirements. Model-specific run commands will be documented here as tested examples are added.

Typical workflow

  1. 01
    Select a model

    Identify the implementation in models/ that matches the physical system.

  2. 02
    Define the basis and sector

    Set lattice size, particle numbers, conserved quantum numbers, and boundary conditions.

  3. 03
    Prepare the input

    Start from a provided input file and specify couplings and requested observables.

  4. 04
    Run and validate

    Check convergence and benchmark small systems against full exact diagonalization where practical.

Repository structure

models/Model-specific Hamiltonians and observables
basis/Many-body basis implementations
input_files/Example input configurations
Lanczos_engine.*Core Lanczos implementation
FTLM_* / LTLM_*Finite- and low-temperature Lanczos components
TimeDependentLanczos.*Time-evolution components

Support

For questions about using SCS_Lanczos, contact kaushalnitin002@gmail.com. When reporting a problem, include the model, input file, compiler information, and the relevant output or error message.

Source code and development history are available in the SCS_Lanczos GitHub repository.