smorita / TeNeS

Massively parallel tensor network solver

Home Page:http://www.pasums.issp.u-tokyo.ac.jp/tenes/en

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build status Documentation (latest) Documentation (latest stable)
Build status (master) doc latest en doc latest ja doc latest_stable en doc latest_stable ja

TeNeS

TeNeS (Tensor Network Solver) is a solver for 2D quantum lattice system based on a PEPS wave function and the CTM method.

Online manual

Getting started

Prerequisites

The following tools are required for building TeNeS.

  • C++11 compiler
  • CMake (>=2.8.14)
  • Python (>=2.7)
    • numpy
    • toml

TeNeS depends on the following libraries, but these are downloaded automatically through the build process.

TeNeS can be parallerized by using MPI and ScaLAPACK.

Install

Simplest way to build

$ mkdir build
$ cd build
$ cmake ../
$ make

The above commands makes an exectutable file teses in the build/src directory.

Install

$ cmake -DCMAKE_INSTALL_PREFIX=<path to install to> ../
$ make
$ make install

The above installs tenes into the <path to install to>/bin . The default value of the <path to install to> is /usr/local .

Specify compiler

CMake detects your compiler automatically but sometimes this is not what you want. In this case, you can specify the compiler by the following way,

$ cmake -DCMAKE_CXX_COMPILER=<path to your compiler> ../

Specify Python interpreter

CMake detects also python interpreter automatically but sometimes this is not what you want. In this case, you can specify the python interpreter by the following way,

$ cmake -DTENES_PYTHON_EXECUTABLE=<path to your interpreter> ../

Disable MPI/ScaLAPACK parallelization

To disable parallelization, pass the -DENABLE_MPI=OFF option to cmake commands.

Use the pre-built mptensor

TeNeS is based on the parallerized tensor library, mptensor . The build system of TeNeS installs this automatically, but you can use the extra pre-built mptensor by the following way.

$ cmake -DMPTENSOR_ROOT=<path to mptensor> ../

Usage

$ tenes input.toml

The file format of an input file is described in the manual page.

Question or comment

Feel free to ask any question through an issue (public) or an e-mail (private) (tenes-dev__at__issp.u-tokyo.ac.jp, __at__ -> @).

Pull request is welcome (even for a small typo, of course!).

License

TeNeS is available under the GNU GPL v3.

Acknowledgement

TeNeS was supported by MEXT as “Exploratory Challenge on Post-K computer” (Frontiers of Basic Science: Challenging the Limits) and “Priority Issue on Post-K computer” (Creation of New Functional Devices and High-Performance Materials to Support Next-Generation Industries). We also would also like to express our thanks for the support of the “Project for advancement of software usability in materials science” of The Institute for Solid State Physics, The University of Tokyo, for the development of TeNeS.

About

Massively parallel tensor network solver

http://www.pasums.issp.u-tokyo.ac.jp/tenes/en

License:GNU General Public License v3.0


Languages

Language:C++ 88.3%Language:Python 7.4%Language:Julia 2.9%Language:CMake 1.3%Language:Shell 0.1%