Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Getting Started

TNC is not yet on crates.io. Instead, it can be added to your project by running

cargo add --git https://github.com/qc-tum/TNC tnc

or by directly modifying your Cargo.toml file to include

[dependencies]
tnc = { git = "https://github.com/qc-tum/TNC.git" }

Features

There are no default features activated. The list of optional features to include is:

  • cotengra: Enables Rust bindings to the tree annealing, tree reconfiguration and tree tempering methods of cotengra (for improving contraction paths)
  • mkl: Uses the Intel Math Kernel Library (MKL) for performing tensor contractions. Otherwise, a pure Rust implementation is used

System Requirements

As noted in the README, the library relies on system dependencies. To install them, run

sudo apt install libhdf5-dev openmpi-bin libopenmpi-dev libboost-program-options-dev

Furthermore, the library relies on C++ libraries that are being built when building the library. For this, cmake and a C++ compiler are required on the system.

Optionally, to use the cotengra feature, Python must be installed and the following Python packages must be installed:

pip install cotengra kahypar optuna