Julia implementation of multiscale polynomial interpolation for quantics/quantized tensor trains (QTTs).
using Pkg
Pkg.Registry.add(RegistrySpec(url="https://github.com/tensor4all/T4ARegistry.git"))
Pkg.add("PolynomialQTT")This package implements the multiscale interpolative construction of quantized tensor trains as described in:
Multiscale interpolative construction of quantized tensor trains
Michael Lindsey
arXiv:2311.12554 [math.NA]
- Single-scale and multi-scale interpolative construction
- 1D to multi dimensions
import TensorCrossInterpolation as TCI
import PolynomialQTT
# Single-scale interpolation
f(x) = exp(-x^2)
tt = PolynomialQTT.interpolatesinglescale(f, -2.0, 2.0, 8, 20) # TensorCrossInterpolation.TensorTrain{Float64, 3}
# Multi-scale interpolation with singularity
g(x) = x == 0.0 ? 0.0 : 1/x
tt_ms = PolynomialQTT.interpolatemultiscale(g, 0.0, 1.0, 12, 25, [0.0])