Library for the simulation of one-dimensional quantum many-body systems.
C++ M4 Makefile Other
Switch branches/tags
Nothing to show
Clone or download

README

DESCRIPTION
===========

A library with numerical algorithms for studying one-dimensional quantum
many-body systems. Among the things you will find here:

* Simple tools for exact diagonalizations.

* Tensor network representations
  - Matrix Product States ansatz for states in finite lattices.
  - iTEBD ansatz for translationally invariant states
  - Matrix Product Operator representation for 1D Hamiltonians
  - Computation of expectation values, correlations and more using
    all these ansatz.

* Computation of ground states and excited states using
  - Matrix Product States
  - Density Matrix Renormalization Group
  - Translationally invariant infinite-dimensional systems (iTEBD)

* Time evolution of quantum many body systems using
  - Trotter algorithms
  - Arnoldi methods

The Tensor and MPS libraries are discussed in the libtensor Google Group,
currently found here https://groups.google.com/forum/#!forum/libtensor
Go to this forum for help in configuring and installing the library.

Bug reports should be submitted using the GitHub Issues interface.
  

BUILD AND INSTALL
=================

Follow these steps to prepare, configure, build and install this library:

0) Download the Tensor library (https://github.com/juanjosegarciaripoll/tensor)
   and install it. Make sure tensor-config is available in the path afterwards.

1) If you have checked out the library using a version control system (git) then
   several files have to be rebuilt before moving any further. Open a terminal
   and enter

      ./autogen.sh

   This will use the autotools (autoconf, automake, libtool) to rebuild several
   files, such as Makefile.in, configure, files in the m4 directory, etc.

2) Configure the library. This process detects existing software and chooses
   one or more options, such as building statically linked or shared libraries,
   using the Google Test library, etc. The process involves again a terminal
   and typing something like

      ./configure --prefix=$HOME LIBS="..." CXXFLAGS="..."

   Here we are using --prefix=$HOME to tell the configuration program that the
   libraries are going to be installed in our home directory, under $HOME/lib
   and $HOME/include, and we are passing additional options ("...") such as a
   list of libraries that are needed (LIBS) and flags for the C++ compiler
   (See below)

3) Build, optionally check and install the library

      make
      make check # optional
      make install

OPTIONAL COMPONENTS
===================

Testing
-------

   To test the library you will need the Google Test framework, which is
   available at

       http://code.google.com/p/googletest/

Documentation
-------------

   Documentation is built using the Doxygen package, which is available in
   most Linux-type software distributions

       http://www.stack.nl/~dimitri/doxygen/

   The documentation itself is built using the command "make doxygen-doc"
   after "make" and before "make install"