https://github.com/ray-chew/tensor-train-decomposition
A short look at tensor-train decomposition with the Xerus library
https://github.com/ray-chew/tensor-train-decomposition
cpp tensor-decomposition tensor-train xerus
Last synced: over 1 year ago
JSON representation
A short look at tensor-train decomposition with the Xerus library
- Host: GitHub
- URL: https://github.com/ray-chew/tensor-train-decomposition
- Owner: ray-chew
- License: mit
- Created: 2018-06-29T05:03:32.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-06-29T05:10:50.000Z (almost 8 years ago)
- Last Synced: 2025-01-11T13:54:35.122Z (over 1 year ago)
- Topics: cpp, tensor-decomposition, tensor-train, xerus
- Language: C++
- Homepage:
- Size: 23.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
A simple benchmarking of calculations involving a tensor-train decomposition (TTD) against a simple-tensor. This is
based on the Xerus library[1], and on the nearest-neighbour interaction system (NNIS) example [published
here](https://libxerus.org/cascade/), and mentioned in-depth in the paper by Gelß et. al.[2].
* *nnis.cxx* is the TTD example. The complete source code is published on the [Xerus
website](https://libxerus.org/cascade/).
* *nnis_noTT.cxx* is my attempt at using the Xerus library to solve the simple-tensor format of the same system.
* The accuracy are similar. See *plot_noTT_long.pdf* or, for the TT-format vs the simple-tensor,
Residual: 0.00134 vs 0.00133,
Norm: 0.976103 vs 0.976128.
* However, the TTD calculations are about 500 times faster.
| | TT-format| simple-tensor|
| ---- | :----: | :----: |
| Run 1 | 1.751 | 874.2 |
| Run 2 | 1.568 | 887.6 |
| Run 3 | 1.550 | 911.4 |
| **Avg. time** | **1.623s** | **891.1s** |
* The advantage of the tensor-train decomposition for large arrays is significant.
*References*:
[1] Huber, B. & Wolf, S. Xerus - A General Purpose Tensor Library. *https://libxerus.org*, (2014–2018).
[2] Gelß, P., Klus, S., Matera, S., & Schütte, C. Nearest-Neighbor Interaction Systems in the Tensor-Train Format. *Journal of Computational Physics 341*, (2017), 140-162.
[3] Oseledets, I. V. Tensor-Train Decomposition. *SIAM Journal on Scientific Computing 33*, 5 (2011), 2295-2317.