Tensor-Train representation of multilinear MTI models.
Source: src/tensor/@TTTensor/TTTensor.m
obj = TTTensor()
obj = TTTensor(cores)
obj = TTTensor.fromRawCores('cores', cores)
obj = TTTensor.fromFullTensor('tensor', F)
obj = TTTensor.fromFullParameterMatrix('matrix', M)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 is represented as
where each 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.
cores - TTcores
Cell array containing Tensor Train cores. The TT core has dimensions $ r_k n_K r_{k+1} $
where: - is the mode dimension - and 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 corresponds to the MTI parameter matrix representation.
The matrix is internally reshaped into and converted into TT format using tt-svd.
obj - TTTensor object
Tensor Train tensor object returned as a TTTensor object
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. |
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); 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. CoDIT Conference. https://doi.org/10.1109/CoDIT70676.2026.11631280
Oseledets, I. V. (2011). Tensor-Train Decomposition. SIAM Journal on Scientific Computing. https://doi.org/10.1137/090752286
Pangalos, G., Eichler, A., and Lichtenberg, G. (2013). Tensor Systems: Multilinear Modeling and Applications.
CPNTensor · mtiTensor · computeFunctionValueMdss
· computeJacobianMatrixMdss
MyToolbox Documentation | Generated automatically by CI/CD pipeline