tensortrack

Tensor network algorithms in MATLAB

https://github.com/quantumghent/tensortrack

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.6%) to scientific vocabulary

Keywords

matlab-toolbox tensornetwork
Last synced: 6 months ago · JSON representation ·

Repository

Tensor network algorithms in MATLAB

Basic Info
  • Host: GitHub
  • Owner: quantumghent
  • License: mit
  • Language: MATLAB
  • Default Branch: main
  • Homepage:
  • Size: 12.7 MB
Statistics
  • Stars: 5
  • Watchers: 2
  • Forks: 4
  • Open Issues: 1
  • Releases: 3
Topics
matlab-toolbox tensornetwork
Created almost 4 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

[![Documentation Status](https://readthedocs.org/projects/tensortrack/badge/?version=latest)](https://tensortrack.readthedocs.io/en/latest/?badge=latest) [![CI](https://github.com/quantumghent/TensorTrack/actions/workflows/CI.yml/badge.svg)](https://github.com/quantumghent/TensorTrack/actions/workflows/CI.yml) [![codecov](https://codecov.io/gh/quantumghent/TensorTrack/graph/badge.svg?token=NdumVqzQuM)](https://codecov.io/gh/quantumghent/TensorTrack) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![DOI](https://zenodo.org/badge/481924253.svg)](https://zenodo.org/badge/latestdoi/481924253)


Logo

An open-source tensor network library for MATLAB.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgments

About The Project

This is a package which aims to efficiently implement the various elementary algorithms that arise in the context of tensor networks. Currently, this includes:

  • Various basic and utility tensor operations, such as creation routines, various linear algebra routines (norms, traces, overlaps, ...), index permutations, ...
  • Tensor contraction routines, both pairwise as well as through a network contraction routine.
  • Tensor factorizations, such as QR, LQ and polar decompositions, eigendecompositions and singular value decompositions.
  • Solver algorithms for eigen systems and linear systems.

Additionally, these tensors support a general global symmetries, in which case both memory and CPU usage are optimized. The framework is able to support both Abelian and non-Abelian symmetries, as well as symmetry groups with multiplicities, which can have bosonic or fermionic braiding rules. The design of the algorithms is chosen such that the inclusion of symmetries should not alter the code after the creation of the tensors. Currently, the following symmetries are implemented:

  • Z(N)
  • U1
  • A4
  • SU(N)
  • O2
  • Fermionic Z2
  • Direct product groups

(back to top)

Getting Started

Requirements

This project depends on the following: - MATLAB version R2020b or newer - Parallel Computing Toolbox - Deep Learning Toolbox - A C++ compiler compatible with your MATLAB version for MEX-file compilation.

Installation

  1. Clone the repo into a local folder. sh git clone https://github.com/quantumghent/TensorTrack.git mylocalfolder

  2. Add the folder and subfolders to your MATLAB path.

    • Via the MATLAB UI: Home > Environment > Set Path > Add with Subfolders > mylocalfolder/src
    • Via the MATLAB Command Window: matlabsession addpath(genpath('mylocalfolder/src')) By default, the path is reset every time you close the application. You can permanently add this package to the path by calling savepath.
  3. Precompile the necessary mex files. Within the MATLAB Command Window, call: matlabsession GetMD5 uninit

(back to top)

Usage

For examples, please refer to the Documentation

(back to top)

Contributing

Contributions as well as feature requests are greatly appreciated.

If you have a suggestion that would make this project better, please do not hesitate to open an issue with the tag "enhancement". Alternatively, you could also fork the repo and create a pull request:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Don't forget to give the project a star! Thanks again!

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Lukas Devos - lkdvos - Lukas.Devos@ugent.be

Lander Burgelman - leburgel - Lander.Burgelman@ugent.be

Project Link: https://github.com/quantumghent/TensorTrack

(back to top)

Acknowledgments

This project has been made possible through the work of the following people: * Lukas Devos * Lander Burgelman * Bram Vanhecke * Jutho Haegeman * Frank Verstraete * Laurens Vanderstraeten * ...

(back to top)

Owner

  • Name: quantumghent
  • Login: quantumghent
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Devos"
  given-names: "Lukas"
  orcid: "https://orcid.org/0000-0002-0256-4200"
- family-names: "Burgelman"
  given-names: "Lander"
  orcid: "https://orcid.org/0000-0003-1724-5330"
- family-names: "Vanhecke"
  given-names: "Bram"
  orcid: "https://orcid.org/0000-0001-9557-1591"
- family-names: "Haegeman"
  given-names: "Jutho"
  orcid: "https://orcid.org/0000-0002-0858-291X"
- family-names: "Verstraete"
  given-names: "Frank"
  orcid: "https://orcid.org/0000-0003-0270-5592"
- family-names: "Vanderstraeten"
  given-names: "Laurens"
  orcid: "https://orcid.org/0000-0002-3227-9822"

title: "TensorTrack"
version: 0.0.1
doi: 10.5281/zenodo.6619296
date-released: 2022-06-07
url: "https://github.com/lkdvos/TensorTrack"

GitHub Events

Total
  • Watch event: 2
Last Year
  • Watch event: 2

Dependencies

docs/requirements.txt pypi
  • linkify-it-py ==2.0.0
  • myst-parser ==0.17.2
  • nbsphinx ==0.8.9
  • sphinx ==4.5.0
  • sphinx-gallery ==0.10.1
  • sphinx-prompt *
  • sphinx-rtd-theme ==0.5.1
  • sphinxcontrib-matlabdomain ==0.12.0
.github/workflows/CI.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
  • matlab-actions/run-tests v1 composite
  • matlab-actions/setup-matlab v1 composite
  • mikepenz/action-junit-report v3 composite