Skip to main content

teneva

Description

This python package, named teneva (tensor evaluation), provides a very compact implementation of basic operations in the tensor-train (TT) format, including TT-SVD, TT-ALS, TT-ANOVA, TT-cross, TT-truncate, Chebyshev interpolation, "add", "mul", "norm", "mean", "sample", etc. Our approach can be used for approximation of multidimensional arrays and multivariate functions, as well as for efficient implementation of various operations of linear algebra in the low rank TT-format. The program code is organized within a functional paradigm and it is very easy to learn and use. Each function has detailed documentation and various usage demos.

Installation

Current version "0.14.11".

The package can be installed via pip: pip install teneva (it requires the Python programming language of the version >= 3.10). It can be also downloaded from the repository teneva and installed by pip install . command from the root folder of the project.

Documentation, examples and tests

  • See detailed online documentation for a description of each function and various numerical examples for each function.

  • See the jupyter notebooks in the demo folder of the repository teneva with brief description and demonstration of the capabilities of each function from the teneva package, including the basic examples of using the TT-ALS, TT-ANOVA and TT-cross for approximation of the multivariable functions. Note that all examples from this folder are also presented in the online documentation.

  • See changelog.md file with a description of the changes made for new package versions and workflow.md file with a description of the rules we use to work on the code (draft!).

  • Run all the tests (based on the unittest framework) from the root of the repository teneva as python test/test.py (draft!).

Useful links

  • The github repository teneva_jax with the fast jax version of the teneva code.

  • The github repository teneva_bm with benchmarks library for testing multidimensional approximation and optimization methods.

  • The github repository teneva_opti with wrapper for various optimizers adapted to work with benchmarks from teneva_bm.

  • The github repository ttopt with the gradient-free optimization method TTOpt for multivariable functions based on the TT-format and maximal-volume principle (see also NeurIPS-2022 paper).

  • The github repository PROTES with the optimization method PROTES (PRobability Optimizer with TEnsor Sampling) for derivative-free optimization of the multidimensional arrays and discretized multivariate functions based on the TT-format (see also arxiv paper).

  • The github repository Constructive-TT with the method for constructive TT-representation of the tensors given as index interaction functions (see also ICLR-2023 paper).

  • Paper Tensor train decomposition, in which the TT-decomposition is presented and the main its properties are described.

  • Dissertation work Computational tensor methods and their applications (in Russian only), in which the TT-decomposition is proposed and all its properties are described in detail.

  • Dissertation work Tensor methods for multidimensional differential equations (in Russian only), which presents various new algorithms in the TT-format for problems of multidimensional approximation, optimization and solution of differential equations.

Authors

✭__🚂 The stars that you give to teneva, motivate us to develop faster and add new interesting features to the code 😃

Citation

If you find our approach and/or code useful in your research, please consider citing:

@article{chertkov2023black,
    author    = {Chertkov, Andrei and Ryzhakov, Gleb and Oseledets, Ivan},
    year      = {2023},
    title     = {Black box approximation in the tensor train format initialized by {ANOVA} decomposition},
    journal   = {SIAM Journal on Scientific Computing},
    volume    = {45},
    number    = {4},
    pages     = {A2101-A2118},
    doi       = {10.1137/22M1514088},
    url       = {https://arxiv.org/pdf/2208.03380.pdf}
}
@article{chertkov2023tensor,
    author    = {Chertkov, Andrei and Ryzhakov, Gleb and Novikov, Georgii and Oseledets, Ivan},
    year      = {2023},
    title     = {Tensor extrema estimation via sampling: A new approach for determining min/max elements},
    journal   = {Computing in Science \& Engineering},
    volume    = {25},
    number    = {5},
    pages     = {14-25},
    doi       = {10.1109/MCSE.2023.3346208},
    url       = {https://www.computer.org/csdl/magazine/cs/5555/01/10374217/1TbVVdPBCtW}
}

Release files for teneva 0.14.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for teneva 0.14.11
File Size Uploaded
teneva-0.14.11.tar.gz 986.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for teneva 0.14.11
File Interpreter ABI Platform
teneva-0.14.11-py3-none-any.whl Python 3 none any Details

Total release size: 1.0 MB

Release files / teneva-0.14.11.tar.gz

Download URL teneva-0.14.11.tar.gz
Size 986.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d2c5caa268a1b6e976f80852dfdee38b2170088a985190933781c1f69b9ce63d
BLAKE2b-256 checksum
How to use checksums
032463ee3033fccabd6b5a266f1e6a2753973bb4570cf9bacd28ffc1c2d58ef6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / teneva-0.14.11-py3-none-any.whl

Download URL teneva-0.14.11-py3-none-any.whl
Size 63.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e5359e41b554ab1dbd0edafb03007b355543cdebf7efc32a72dd552383baa26c
BLAKE2b-256 checksum
How to use checksums
e704ea3b9b81ac31a456de0f1fb6f6a07e4d452fc960666ea14fe758ad645856
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.19

Release history Release notifications | RSS feed

This release

0.14.11 This release

2 release files

0.14.8

2 release files

0.14.7

2 release files

0.14.6

1 release file

0.14.5

2 release files

0.14.4

2 release files

0.14.3

2 release files

0.14.2

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.3

2 release files

0.13.0

2 release files

0.12.8

2 release files

0.12.7

2 release files

0.12.6

2 release files

0.12.5

2 release files

0.12.4

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.8

2 release files

0.11.7

2 release files

0.11.5

2 release files

0.11.4

2 release files

0.11.3

2 release files

0.11.2

2 release files

0.11.1

2 release files

0.9.17

2 release files

0.9.16

2 release files

0.9.15

2 release files

0.9.14

2 release files

0.9.13

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5

3 release files

0.4

3 release files

0.3.2

1 release file

0.3.1

2 release files

0.3

2 release files

0.2

2 release files

0.1

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page