awietek / quantum_basis

Exact diagonalization library for general models

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Qbasis

Basis of condensed matter quantum lattice problems, for usage in exact diagonalization (ED). The code is designed for any general bosonic or fermionic problem (or a mix of both), as long as the user can provide the matrix form of the elementary operators of the Hamiltonian.

Examples

To learn how to use this library to design ED code for your own models, please refer to the folder "examples":

  • Chain
    • Heisenberg spin-1/2
    • Heisenberg spin-1
    • Kondo Lattice model
    • t-J model
  • Honeycomb lattice
    • Spinless fermion
  • Kagome lattice
    • Heisenberg spin-1/2
    • t-J model
  • Square lattice
    • Bose-Hubbard model
    • Fermi-Hubbard model
  • Triangular lattice
    • Heisenberg spin-1/2

Dependencies:

  • Boost (Boost lib and Qbasis lib have to be built with compatible compilers)
  • MKL (some old versions may not work)
  • arpack (dependency to be removed in future)
  • arpack++ (dependency to be removed in future)

Note: using a modified version of arpack++ to be compatible with MKL.

Restrictions on lattice:

When using translational symmetry, at least one of the dimensions (Lx, Ly, Lz, or number of sublattices) has to be an even number (current implementation of the generalized Lin Table).

Parallel scheme:

MKL + OpenMP

Compilation

Currently the known working compilers are g++, icpc, and clang++ (c++11 required). (openmp in clang++ not tested yet)

The code can be compiled in two modes:

  • 32-bit integer
  • 64-bit integer (if the unrestricted Hilbert space reaches 10^9, it is necessary to use 64-bit mode)

In the 64-bit mode:

  • arpack has to be compiled with "-fdefault-integer-8"
  • arpack++ has to use the branch "long"
  • linking to MKL has to use the ILP64 mode

About

Exact diagonalization library for general models

License:GNU General Public License v3.0


Languages

Language:C++ 97.7%Language:CMake 1.6%Language:Python 0.5%Language:Makefile 0.2%