Giter Club home page Giter Club logo

xdiag's Introduction

license cpp docs Linux CI Mac OSX CI DOI

XDiag

High-performance Yxact Diagonalization Routines and Algorithms

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

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

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 n_sites = 16;
  int nup = n_sites / 2;
  Spinhalf block(n_sites, nup);

  // Define the nearest-neighbor Heisenberg model
  OpSum ops;
  for (int i = 0; i < n_sites; ++i) {
    ops += Op("HB", "J", {i, (i + 1) % n_sites});
  }
  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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.