awietek / XDiag.jl

Julia library for Exact Diagonalization of quantum many-body systems
Apache License 2.0
7 stars 0 forks source link

license docs Linux CI Mac OSX CI Julia CI DOI

XDiag

High-performance Yxact Diagonalization Routines and Algorithms

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

Features:

Installation:

Enter the package mode using ] in the Julia REPL and add type

add XDiag

That's it!

Example Code:

using XDiag

let 
    N = 16;
    nup = N ÷ 2;
    block = Spinhalf(N, nup);

    # Define the nearest-neighbor Heisenberg model
    ops = OpSum()
    for i in 1:N
        ops += Op("HB", "J", [i, mod1(i+1, N)])
    end
    ops["J"] = 1.0;

    set_verbosity(2);           # set verbosity for monitoring progress
    e0 = eigval0(ops, block);   # compute ground state energy

    println("Ground state energy: $e0");
end

Documentation

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

About

author: Alexander Wietek license: Apache License 2.0