About Contribute Source | |
main/software/ |
(Listed in alphabetical order by project name.)
Cyclops Tensor Framework (C++)
This library provides automatic parallelization of operations on multidimensional
(sparse) arrays. Cyclops supports general tensor sparsity, so it is
possible to define graph algorithms with the use of sparse adjacency matrices
ITensor (C++, Julia)
ITensor is a library for tensor networks where tensor indices carry extra information and matching tensor
indices automatically contract. Also features MPS and MPO algorithms, such as DMRG, and quantum number block-sparse tensors.
NCON (MATLAB)
NCON (Network Contractor) is a MATLAB routine which can be used for computing
a broad class of tensor network diagrams in an efficient and convenient way.
QUIMB (Python)
python library for contracting tensors and tensor networks,
with support for matrix product states and algorithms, and advanced
features such as determination of the optimal ordering of tensor contractions.[1]
Scikit-TT (Python)
Scikit-TT is a Python library for applying the tensor-train (TT) format
to various numerical problems in order to reduce the memory consumption and computational
cost compared to classical tensor approaches significantly.
TenPy (Python)
Tensor Network Python (TeNPy) is a Python library for the simulation of
quantum systems with tensor networks. The philosophy of this library is
to get a new balance of a good readability and usability for new-comers,
and at the same time powerful algorithms and fast development of new
algorithms for experts.[2]
TensorLy (Python)
A python library offering a high-level API for tensor methods and
deep tensorized neural networks. TensorLy’s backend system allows users to
perform computations with NumPy, MXNet, PyTorch, TensorFlow, and CuPy
in order to be scalable on both CPU and GPU.[3]
TensorNetwork (Python)
python library for easy and efficient contraction of tensor
networks, supporting multiple powerful backends
Tensor Toolbox (MATLAB)
The Tensor Toolbox is a MATLAB library supporting multiple tensor types,
including dense, sparse, and symmetric tensors as well as specially
structured tensors, such as Tucker format,
and others. Tensors can be manipulated using MATLAB’s object-oriented features.
TorchMPS (Python)
TorchMPS is a framework for working with matrix product state (also known
as MPS or tensor train) models within Pytorch. Our MPS models are written as
Pytorch Modules, and can simply be viewed as differentiable black boxes
that are interchangeable with standard neural network layers. However,
the rich structure of MPS’s allows for more interesting behavior…
TT-Toolbox (MATLAB)
MATLAB implementation of basic operations with tensors in TT-format,
including TT tensor and TT matrix formats, fast rounding procedures,
methods for solutions of linear systems and eigenvalue problems,
and the TT-cross method.
Uni10 (C++)
Universal Tensor Library, an open-source C++ library designed for
the development of tensor network algorithms. Provides a Network class to process
and store the details of the graphical representations of the networks,
and supports quantum number block-sparse tensors.
Xerus (C++)
The Xerus library is a general purpose library for numerical
calculations with higher order tensors, Tensor-Train
Decompositions / Matrix Product States and general Tensor Networks.
The focus of development was the simple usability and adaptibility to any
setting that requires higher order tensors or decompositions thereof.