Skip to content

Installation

Hiroshi Shinaoka edited this page Mar 22, 2018 · 15 revisions

Table of Contents

Requirements

ALPSCore (>= 2.1)

ALPSCore needs to be properly installed, see ALPSCore library.

Boost (>= 1.54.0)

Only header-file libraries are needed. The dependencies will be taken care of by ALPSCore.

Eigen3

Header-file libraries for linear algebra.

MPI

MPI environment is required.

From package managers

  • Mac OS X
    To be written

Manual source installation

The solver depends on ALPSCore libraries and some Boost header-file only libraries. These libraries must be preinstalled. The latest version of CT-HYB does NOT depend on any Boost binary libraries. If you want to install the TRIQS-compatible Python interface, please follow the procedure described in another website.

The CT-HYB package can be obtained by following methods:

  • Clone Git repository at Github
$ git clone https://github.com/ALPSCore/CT-HYB.git
  • From release tarball:
    1. Download a release tarball from https://github.com/ALPSCore/CT-HYB/releases

    2. Rename the downloaded tarball to CT-HYB.tar.gz (or CT-HYB.zip, if you chose the zip version) and unpack it:

        $ tar -xzf CT-HYB.tar.gz
      

Then, make a (separated) build directly, and provide something like:

$ mkdir build
$ cd build
$ cmake\
$     -DALPSCore_DIR=/path/to/ALPSCore \
$     -DCMAKE_INSTALL_PREFIX=/path/to/install/dir \
$     -DCMAKE_CXX_COMPILER=/path/to/C++/compiler \
$     -DEIGEN3_INCLUDE_DIR=/path/to//dir/of/Eigen \
$    ../CT-HYB
$ make
$ make test
$ make install

You must use a MPI C++ compiler. This may be done by setting the path of your MPI wrapper compiler (such as mpic++) to CMAKE_CXX_COMPILER. Note that, in such cases, MPI must be enabled also in the installation of ALPSCore. If cmake does not find boost, please tell cmake the installation directory of boost by using the option "-DBOOST_ROOT=***". If cmake does not find Eigen3, please set use the option "-DEIGEN3_INCLUDE_DIR". For instance, if the Core file of your Eigen3 is located at "/opt/local/include/eigen3/Eigen/Core", please use "-DEIGEN3_INCLUDE_DIR=/opt/local/include/eigen3".

Please make sure that ALPSCore/CT-HYB is going to be built with the same C++ standard as that used for building the ALPSCore libraries. ALPSCore/CT-HYB is designed to be compatible with C++03 but is compatible with C++11 and C++14. If you want to use a standard different from the default of your compiler, you may be able compiler flags by passing something like "-DCMAKE_CXX_STANDARD=11" to cmake.

Advanced options

We describe advanced options in installation.

  • Enable support for quadruple precision floating point numbers
    When you solve an impurity model at very low temperature, it may be better to activate this option to avoid underflow and overflow in the evaluation of the local trace. When this option is on, the value of the trace is stored as a quadruple precision floating point number, while matrix manipulations are still performed using double precision floating point numbers. This makes the execution bit slower.
$cmake -DUSE_QUAD_PRECISION=ON  ...

Trouble shooting

  • Some libraries are not found at runtime.
    When you install the executalbe to your installation path by "make install", CMake removes the paths of dynamic libraries from the binary. When you launch "/path/to/install/dir/hybmat", some dynamic libraries which were visible in the build may not be found. In this case, please set your environment variables correctly (e.g., LD_LIBRARY_PATH) so that the system can find these libraries at runtime. More information is found [here] (https://cmake.org/Wiki/CMake_RPATH_handling).