Skip to content
tenpyPublic

About

Linear Algebra with SYmmetric TENsors - a C++/python package that serves as new backend for TeNPy

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

Latest commit

 

History

1,345 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LASyTen

GitHub last commit Pytest GitHub issues

Warning

LASyTen is still in alpha and under heavy development. The API is not stable and may change without notice.

LASyTen (Linear Algebra with SYmmetric TENsors) is a C++ library with Python bindings for tensors whose block-sparse structure is imposed by symmetries. It serves as the linear algebra backend for TeNPy, a Python library for the simulation of strongly correlated quantum systems with tensor networks.

The library supports both abelian and non-abelian symmetries (via a fusion-tree backend). The dense blocks can be handled by different backends, for example NumPy or PyTorch (including GPUs).

How do I get set up?

Create a conda environment from the provided environment.yml and install LASyTen in editable mode:

conda env create -f environment.yml
conda activate lasyten
pip install -e .

Further details and alternative methods can be found in the file docs/INSTALL.rst. The latest version of the source code can be obtained from https://github.com/tenpy/lasyten.

How to read the documentation

The documentation is hosted at https://lasyten.readthedocs.io/. It is roughly split into a "user guide" with additional explanations, and a full "reference" of the Python interface and the C++ API.

The documentation is based on Python's docstrings, C++ comments, and some additional *.rst files located in the folder docs/ of the repository. All documentation is formatted as reStructuredText, which means it is quite readable in the source plain text, but can also be converted to other formats. If you like it simple, you can just use interactive python help(), Python IDEs of your choice or jupyter notebooks, or just read the source. Moreover, the documentation gets converted into HTML using Sphinx, and is made available online at https://lasyten.readthedocs.io/. The big advantages of the (online) HTML documentation are a lot of cross-links between different functions, and even a search function. If you prefer yet another format, you can try to build the documentation yourself, as described in docs/README.md.

I found a bug

You might want to check the github issues, if someone else already reported the same problem. To report a new bug, just open a new issue on github. If you already know how to fix it, you can just create a pull request :)

License

The code is licensed under Apache v2 given in the file LICENSE of the repository.

About

Linear Algebra with SYmmetric TENsors - a C++/python package that serves as new backend for TeNPy

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages