TTTensor

Tensor-Train representation of multilinear MTI models.

Source: src/tensor/@TTTensor/TTTensor.m

Syntax

obj = TTTensor()
obj = TTTensor(cores)
obj = TTTensor.fromRawCores('cores', cores)
obj = TTTensor.fromFullTensor('tensor', F)
obj = TTTensor.fromFullParameterMatrix('matrix', M)

Description

Use TTTensor to create a Tensor Train (TT) representation of a multilinear MTI tensor.

A Tensor Train decomposes a high-dimensional tensor into a sequence of low-rank tensor cores. Instead of storing the full tensor explicitly, only the TT cores are stored, often resulting in significant reductions in memory consumption and computational effort.

A tensor T(i1,i2,,id)T(i_1, i_2, \cdots, i_d) is represented as

T(i1,i2,,id)=G1(i1)G2(i2)Gd(id) T(i_1, i_2, \cdots, i_d) = G_1(i_1) G_2(i_2) \cdots G_d(i_d)

where each GkG_k denotes a TT core

For multilinear MTI systems, Tensor Train representations can be used as an alternative to CP-based representations such as CPNTensor while preserving compatibility with mss and mdss models.

The TTTensor class supports: - Construction from TT cores - Construction from full tensors - Construction from multilinear functional matrices - Exact conversion from CP representations - Conversion back to explicit CP structure and multilinear functional matrices and then to TT

For further detail see the references.

Input Arguments

cores - TTcores

Cell array containing Tensor Train cores. The kthk^{th} TT core has dimensions $ r_k n_K r_{k+1} $

where: - nkn_k is the mode dimension - rkr_k and rk+1r_{k+1} are TT ranks

tensor - Full tensor

Full tensor represented as a MATLAB multidimensional array. The tensor is decomposed into TT format using tt-svd.

matrix - Full parameter matrix

Multilinear parameter matrix with dimensions n×2rn \times 2^r corresponds to the MTI parameter matrix representation.

The matrix is internally reshaped into [n,2,2,,2][n, 2, 2, \cdots, 2] and converted into TT format using tt-svd.

Output Arguments

obj - TTTensor object

Tensor Train tensor object returned as a TTTensor object

Parameters

cores

Cell array containing all TT cores.

Form Result
TTTensor() An empty Tensor-Train tensor object.
TTTensor(cores) A Tensor-Train tensor from a cell array of TT cores. Each core must be a numeric or logical three-dimensional array with dimensions r(k) x n(k) x r(k+1).
TTTensor.fromRawCores('cores', cores) A Tensor-Train tensor directly from a validated set of TT cores.
TTTensor.fromFullTensor('tensor', F) Converts a full tensor F into Tensor-Train format using the TT-SVD decomposition.
TTTensor.fromFullParameterMatrix('matrix', M) Converts a multilinear parameter matrix M (dimensions n-by-2^r, per the MTI multilinear model representation) into Tensor-Train format.

Construction of TT tensor

A simple empty TTTensor can be created by

obj = TTTensor();

If you have the parameter matrix of the model, the TTTensor could be constructed from this matrix by

M = randn(2,16);
tt_obj = TTTensor.fromFullParameterMatrix('matrix', M);

Providing the existing TT-cores would also enable the creation of the TTTensor

F1 = randn(1,3,2);
F2 = randn(2,2,2);
F3 = randn(2,2,1);

T = TTTensor({F1, F2, F3});

If the full tensor of the model is available which represents the model parameters, the TTTensor can be constructed by

fulltensor = randn(3,2,2,2);
obj2 = TTTensor.fromFullTensor(tensor=fulltensor);

Finally, if the ‘mtiTensor’ is a CPNTensor, it can be converted to the TTTensor by

%                   x1   x1*u1
structureMatrix = [  1     1 ;   % x1
                     0     1 ];  % u1

parameterMatrix = [ 0.9   0.1 ;  % x1(k+1)
                    2     0   ]; % y1

cpn_obj = CPNTensor(structureMatrix, parameterMatrix); 
ttobj = CPNTensor.CPN2TT(cpn_obj); 

References

  1. J.Cherian, E.UhIenberg, H.G.S.Maregowda, L.S.VaIIejos, T.Warnecke, and G. Lichtenberg (2026). Tensor train based explicit multilinear modeling and control of heating systems. 12th12^{th} CoDIT Conference. https://doi.org/10.1109/CoDIT70676.2026.11631280

  2. Oseledets, I. V. (2011). Tensor-Train Decomposition. SIAM Journal on Scientific Computing. https://doi.org/10.1137/090752286

  3. Pangalos, G., Eichler, A., and Lichtenberg, G. (2013). Tensor Systems: Multilinear Modeling and Applications.

See also

CPNTensor · mtiTensor · computeFunctionValueMdss · computeJacobianMatrixMdss


MyToolbox Documentation | Generated automatically by CI/CD pipeline