SkillAgentSearch skills...

Xdiag

C++ library for Exact Diagonalization of quantum many-body systems

Install / Use

/learn @awietek/Xdiag

README

<!-- SPDX-FileCopyrightText: 2025 Alexander Wietek <awietek@pks.mpg.de> SPDX-License-Identifier: Apache-2.0 -->

cpp Linux CI Mac OSX CI Intel MPI CI Examples CI

XDiag

A C++ library to perform efficient Exact Diagonalizations of quantum many body systems.

| Documentation | Citation | License | |:------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------:|--------------------------------------------------------------------| | docs | arXiv | license |

Features:

  • Basic algebra of operators in quantum many-body systems
  • Iterative linear algebra for computing eigendecompositions and time-evolutions (e.g. Lanczos algorithm)
  • Local spin, t-J, or fermionic models
  • Full support of generic space group symmetries
  • parallelization both with OpenMP and MPI
  • modern C++17 impementation simplifying usage
  • wrapped in a convenient Julia library: XDiag.jl

Installation:

Clone this repository first. Afterwards, the xdiag library can be compiled using the standard CMake instructions

cmake -S . -B build
cmake --build build
cmake --install build

Example Code:

#include <xdiag/all.hpp>

using namespace xdiag;

int main() try {
  
  int nsites = 16;
  int nup = nsites / 2;
  Spinhalf block(nsites, nup);

  // Define the nearest-neighbor Heisenberg model
  OpSum ops;
  for (int i = 0; i < nsites; ++i) {
    ops += "J" * Op("SdotS", {i, (i + 1) % nsites});
  }
  ops["J"] = 1.0;

  set_verbosity(2);                // set verbosity for monitoring progress
  double e0 = eigval0(ops, block); // compute ground state energy
  
  Log("Ground state energy: {:.12f}", e0);
  
} catch (Error e) {
  error_trace(e);
}

Documentation

The full documentation is available at awietek.github.io/xdiag.

About

author: Alexander Wietek license: Apache License 2.0

Related Skills

View on GitHub
GitHub Stars58
CategoryDevelopment
Updated8d ago
Forks15

Languages

C++

Security Score

100/100

Audited on Mar 23, 2026

No findings