ttclass.m
Creates an object of a tensor train class. A tensor train is a type of un-opened Kronecker product that behaves as a matrix or a vector of a very large dimension, but takes a reasonable amount of memory to store. See https://doi.org/10.1137/090752286 for further informa- tion.
Syntax
tt=ttclass(coeff,kronterms,tolerance)
Parameters
coeff - coefficient in front of the spin operator,
usually the interaction magnitude
kronterms - column cell array of matrices whose Krone-
cker product makes up the spin operator
tolerance - maximum deviation in the 2-norm between the
TT representation and the flat matrix repre-
sentation that the TT format is allowed to
introduce
Outputs
tt - tensor train object
Examples
Creating an un-opened Kronecker product of a 5x5 and a 7x7 matrices:
>> a=ttclass(1,{rand(5);rand(7)},0)
a =
35×35 ttclass array with properties:
coeff: 1
cores: {2×1 cell}
tolerance: 0
debuglevel: 0
Notes
1. If multiple columns are supplied in kronterms, multiple coeffi-
cients are given in coeff, and multiple tolerances are given in tolerance, the resulting tensor train is assumed to be the sum of the individual tensor trains specified in different columns.
2. Tensor trains are exotic and capricious structures, do not use
them unless you know what you are doing.
See also
polyadic.m, ttclass/mtimes.m, ttclass/kron.m, ttclass/full.m, Tensor_train_module
Version 2.4, authors: Dmitry Savostyanov, Ilya Kuprov