-
-
Notifications
You must be signed in to change notification settings - Fork 487
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Meta-ticket: Efficient numerical computations with tensor trains #31991
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:5
Is
|
comment:6
(This is with gfortran 11.1 on macOS; this may be similar to the many issues that we had when gfortran 10 came along - #29456) |
comment:7
Replying to @mkoeppe:
I didn't have an issue with downloading since I wasn't using pip but directly cloned the code on github. Based on their github's commit history it doesn't seem to be frequently maintained.. The MATLAB version is what I now use for my projects. I will update the MATLAB link in the ticket description. |
This comment has been minimized.
This comment has been minimized.
comment:9
Waouh! This looks promising! |
comment:10
I have opened an upstream issue for the compilation errors: oseledets/ttpy#82 |
comment:11
Replying to @egourgoulhon:
To make it clear: the above comment was about the ticket main goal and was not some ironical statement about the ttpy issue with gfortran ;-) |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:18
slightly modified description |
Following the progress with Ticket #30307, we propose to add computational functionalities with tensors via the tensor train decomposition, which is an idea originally named Matrix Product States in the quantum physics community and later popularized by Prof. Ivan Oseledets. As a computational tool, it represents tensors in compressed formats that would enable tensor operations with cost scaling only linearly in the number of dimensions.
This functionality is especially useful for high dimensional tasks to prevent the curse of dimensionality (such as in Riemannian optimization). Numerical packages are currently supported in MATLAB, Python, and C++. The MATLAB version is currently most versatile and robust.
We may consider internalizing this computational library for Sage, as an effort to formalize the currently available implementations. This addition can either be an additional child class under
tensor
, and overwrite the arithmetics; or a separate module. The backend is currently proposed to betensorflow
, however this may change / be flexible based on how the refactoring ofComponents
progresses.One can look at this github page for an example implementation in MATLAB (https://github.com/oseledets/TT-Toolbox).
Ideally after the implementation of this ticket, users can specify a fixed rank tensor for a general manifold using
tensor.modules
, specify a ring and a frame, and perform useful and normally computationally intractable tasks using tensor train as a backend. Based on the progress of this ticket, one may also consider implementing other backends for storing a numerical tensor such as tensor rings and quantized tensor train.For alternative tensor decomposition formats, please see the following survey papers:
Other implementations:
Tickets:
ttpy
(tensor trains)FiniteRankFreeModuleMorphism
: Add method SVD (singular value decomposition)tensor
vs.tensor_product
FiniteRankFreeModule
andCombinatorialFreeModule
dict
,monomial_coefficients
, etc.CC: @mkoeppe @egourgoulhon @dimpase
Component: linear algebra
Issue created by migration from https://trac.sagemath.org/ticket/31991
The text was updated successfully, but these errors were encountered: