TensorCrossInterpolation
Science Score: 67.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
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, aps.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.4%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: tensor4all
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://tensor4all.github.io/TensorCrossInterpolation.jl/
- Size: 3.06 MB
Statistics
- Stars: 38
- Watchers: 4
- Forks: 8
- Open Issues: 9
- Releases: 11
Metadata Files
README.md
TensorCrossInterpolation
The TensorCrossInterpolation module implements the tensor cross interpolation algorithm for efficient interpolation of multi-index tensors and multivariate functions.
This algorithm is used in the quantics tensor cross interpolation (QTCI) method for exponentially efficient interpolation of functions with scale separation. QTCI is implemented in the QuanticsTCI.jl module.
Installation
This module has been registered in the General registry. It can be installed by typing the following in a Julia REPL:
julia
using Pkg; Pkg.add("TensorCrossInterpolation")
Usage
This section only contains the bare minimum to get you started. An example with more explanation can be found in the user manual.
Given a multivariate function f, the function crossinterpolate2 will generate a tensor cross interpolation for f. For example, to interpolate the 8d lorentzian $f(\mathbf v) = 1/(1 + \mathbf v^2)$ on an 8-dimensional lattice of integers, $\mathbf{v} \in {1, 2, ..., 10}^8$:
```julia
import TensorCrossInterpolation as TCI
f(v) = 1/(1 + v' * v)
There are 8 tensor indices, each with values 1...10
localdims = fill(10, 8)
tolerance = 1e-8
tci, ranks, errors = TCI.crossinterpolate2(Float64, f, localdims; tolerance=tolerance)
``
Note:
-fis defined as a function that takes a singleVectorof integers.
- The return type off(Float64in this case) must be stated explicitly in the call tocrossinterpolate2`.
The resulting TensorCI2 object can be further manipulated, see user manual.
To evaluate the TCI interpolation, simply call your TensorCI2 object like you would call the original function:
julia
originalvalue = f([1, 2, 3, 4, 5, 6, 7, 8])
interpolatedvalue = tci([1, 2, 3, 4, 5, 6, 7, 8])
The sum of all function values on the lattice can be obtained very efficiently from a tensor train:
julia
sumvalue = sum(tci)
Online user manual
An example with more explanation can be found in the user manual.
Related modules
TCIITensorConversion.jl
A small helper module for easy conversion of TensorCI1, TensorCI2 and TensorTrain objects into ITensors MPS objects. This should be helpful for those integrating TCI into a larger tensor network algorithm.
For this conversion, simply call the MPS constructor on the object:
julia
mps = MPS(tci)
QuanticsTCI.jl
A module that implements the quantics representation and combines it with TCI for exponentially efficient interpolation of functions with scale separation.
Contributions
- If you are having have technical trouble, feel free to contact me directly.
- Feature requests and bug reports are always welcome, feel free to open an issue for those.
- If you have implemented something that might be useful for others, we'd appreciate a merge request!
Authors
This project is maintained by - Marc K. Ritter @marc_ritter - Hiroshi Shinaoka @h.shinaoka
For their contributions to this library's code, we thank - Satoshi Terasaki @terasakisatoshi
References
- Y. Núñez Fernández, M. Jeannin, P. T. Dumitrescu, T. Kloss, J. Kaye, O. Parcollet, and X. Waintal, Learning Feynman Diagrams with Tensor Trains, Phys. Rev. X 12, 041018 (2022). (arxiv link: arXiv:2207.06135)
- I. V. Oseledets, Tensor-Train Decomposition, SIAM J. Sci. Comput. 33, 2295 (2011).
Owner
- Name: tensor4all
- Login: tensor4all
- Kind: organization
- Repositories: 1
- Profile: https://github.com/tensor4all
Citation (CITATION.bib)
@misc{TensorCrossInterpolation.jl,
author = {Ritter.Marc <Ritter.Marc@physik.uni-muenchen.de> and contributors},
title = {TensorCrossInterpolation.jl},
url = {https://gitlab.com/marc.ritter/TensorCrossInterpolation.jl},
version = {v0.1.0},
year = {2022},
month = {12}
}
GitHub Events
Total
- Create event: 10
- Release event: 2
- Issues event: 9
- Watch event: 16
- Delete event: 9
- Issue comment event: 18
- Member event: 1
- Push event: 41
- Pull request review event: 2
- Pull request event: 19
- Fork event: 5
Last Year
- Create event: 10
- Release event: 2
- Issues event: 9
- Watch event: 16
- Delete event: 9
- Issue comment event: 18
- Member event: 1
- Push event: 41
- Pull request review event: 2
- Pull request event: 19
- Fork event: 5
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 5
- Total pull requests: 8
- Average time to close issues: 8 days
- Average time to close pull requests: 6 days
- Total issue authors: 4
- Total pull request authors: 3
- Average comments per issue: 0.2
- Average comments per pull request: 0.38
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 5
- Pull requests: 8
- Average time to close issues: 8 days
- Average time to close pull requests: 6 days
- Issue authors: 4
- Pull request authors: 3
- Average comments per issue: 0.2
- Average comments per pull request: 0.38
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- shinaoka (17)
- RaimelMedina (3)
- clarkmiyamoto (1)
- Buantum (1)
- chiamin (1)
- JuliaTagBot (1)
- sakurairihito (1)
- rittermarc (1)
Pull Request Authors
- shinaoka (24)
- terasakisatoshi (4)
- rittermarc (1)
- YoshihiroMichishita (1)
- clarkmiyamoto (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 39 total
- Total dependent packages: 2
- Total dependent repositories: 0
- Total versions: 20
juliahub.com: TensorCrossInterpolation
- Homepage: https://tensor4all.github.io/TensorCrossInterpolation.jl/
- Documentation: https://docs.juliahub.com/General/TensorCrossInterpolation/stable/
- License: MIT
-
Latest release: 0.9.17
published about 1 year ago
Rankings
Dependencies
- actions/checkout v4 composite
- codecov/codecov-action v3 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-docdeploy v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v2 composite
- JuliaRegistries/TagBot v1 composite