Welcome to PyTreeNet’s documentation!

PyTreeNet is a Python implemention of tree tensor networks with a focus on the simulation of quantum systems admitting a tree topology. It is based on the array implementation of NumPy.

Main Features

  • General tree tensor networks, tree tensor networks states and tree tensor network operators

  • Conversion of symbolic Hamiltonians into tree tensor networks

  • Time-evolution algorithms: TEBD, one-site TDVP and two-site TDVP, BUG

Installation

To install PyTeNet from PyPI, call

python3 -m pip install pytreenet

Alternatively, you can clone the repository and install it in development mode via

python3 -m pip install -e <path/to/repo>

Indices and tables

Contributing

You are welcome to contribute to PyTreeNet. For code contributions create a pull request on GitHub. For bug reports and feature requests, please open an issue on GitHub. Please document code contributions using Google style docstrings and unit-test it with tests placed in the tests folder.

Citing

If you use PyTreeNet in your work, please cite the accompanying paper PyTreeNet: A Python Library for easy Utilisation of Tree Tensor Networks (arxiv:2407.13249) <https://arxiv.org/abs/2407.13249>

License

PyTreeNet is licensed under the EUPL v1.2.

References

  1. Y.-Y. Shi, L.-M. Duan, G. Vidal,
    Classical simulation of quantum many-body systems with a tree tensor network
  2. D. Bauernfeind, M. Aichhorn,
    Time dependent variational principle for tree Tensor Networks
  3. P. Silvi, F. Tschirsich, M. Gerster, J. Jünemann, D. Jaschke, M. Rizzi, S. Montangero
    The Tensor Networks Anthology: Simulation techniques for many-body quantum lattice systems
  4. G. Ceruti, C. Lubich, D. Sulz,
    Rank-adaptive time integration of tree tensor networks