polyadic.m

From Spinach Documentation Wiki
Revision as of 19:39, 6 June 2026 by Kuprov (talk | contribs) (Update function See also links and function index membership)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Creates a polyadic object representing a matrix as a sum of unopened Kronecker products, for example a two-term object with cores {A,B,C} and {D,E} represents A(x)B(x)C + D(x)E; multiplicative actions can then be computed without expanding the Kronecker products, which can save orders of magnitude in CPU time.

Syntax

    p=polyadic(cores)

Parameters

        cores -    a cell array of cell arrays of matrices
                   whose Konecker products make up the mat-
                   rix of interest.

Outputs

        p     -    a polyadic representation of a matrix 
                   that behaves in many respects like the
                   matrix it represents.

Notes

Nested polyadics are permitted - the input matrices may be polyadics themselves.

See also

kronm.m, ttclass.m, Tensor_train_module

Version 2.1, authors: Ilya Kuprov