Uni10  2.0.0
The Universal Tensor Network Library
Universal Tensor Network Library (Uni10)

Uni10 is an open-source C++ library designed for the development of tensor network algorithms. Programming tensor network algorithms is tedious and prone to errors. The task of keeping track of tensor indices while performing contraction of a complicated tensor network can be daunting. It is desirable to have a platform that provides bookkeeping capability and optimization.

This software distinguishes itself from other available software solutions by providing the following advantages:

Current Release

Latest release: v2.0.0

What's new?

Copyright and Changes

See GPL and LGPL for copyright conditions.

See Release Notes for release notes and changes.

Installation

See the Install Guide.

Download

The latest Uni10 source code can be downloaded from GitLab.

Requirements

Build

To build Un10, follow the following steps:

  1. Create a build directory
  2. Use Cmake to generate makefile
  3. Build library and exmamples
  4. Install library and examples (May require root access)

For more detailed information see this install guide.

Examples

Using system c++, blas and lapack

> mkdir build
> cd build
> cmake </path/to/uni10/>
> make
> sudo make install

The installation path defaults to /usr/local/uni10.

To override the default path, use CMAKE_INSTALL_PREFIX :

> cmake -DCMAKE_INSTALL_PREFIX=</installation_path> </path/to/uni10/>

To use MKL and Intel compiler:

> cmake -DBUILD_WITH_MKL=on -DBUILD_WITH_INTEL_COMPILERS=on </path/to/uni10/>

If cmake failes to find blas and lapack, specify the libraries by

> cmake -DBLAS_LIBRARIES=</path/to/blas> -DLAPACK_LIBRARIES=</path/to/lapack> </path/to/uni10/>

Build Options

Option Description (Default value)
BUILD_WITH_MKL Use Intel MKL for lapack and blas (off)
BUILD_WITH_INTEL_COMPILERS Use Intel C++ compiler (off)
BUILD_EXAMPLES Build C++ examples (on)
BUILD_DOC Build Documentation (off)
BUILD_CUDA_SUPPORT Build Library for CUDA GPUs (off)
BUILD_HDF5_SUPPORT Build Library for HSF5 support (off)
CMAKE_INSTALL_PREFIX Installation location (/usr/local/uni10)

Citation

If you find Uni10 useful and would like to acknowledge us, please cite the following paper,

@article{1742-6596-640-1-012040,
author={Ying-Jer Kao and Yun-Da Hsieh and Pochung Chen},
title={Uni10: an open-source library for tensor network algorithms},
journal={Journal of Physics: Conference Series},
volume={640},
number={1},
pages={012040},
url={http://stacks.iop.org/1742-6596/640/i=1/a=012040},
year={2015}
}

Developers

Contributors and maintainers

Alumni

How to Contribute

Known issues

Links

Funding

Uni10 is funded by Ministry of Science and Technology of Taiwan through Grants number: MOST-102-2112-M-002-003-MY3 and MOST-105-2112-M-002 -023 -MY3.