Difference between revisions of "Polyadic.m"

From Spinach Documentation Wiki
Jump to: navigation, search
m (Move Description section into pre-Syntax prose)
m (Polish opening prose above Syntax section)
Line 1: Line 1:
 
{{DISPLAYTITLE:polyadic.m}} __NOTOC__
 
{{DISPLAYTITLE:polyadic.m}} __NOTOC__
−
Creates an object of a polyadic class.
+
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.
−
 
 
−
A polyadic is a matrix formed by a Kronecker product, with those products stored unopened. For example,
 
−
 
 
−
                        cores={{A,B,C},{D,E}}
 
−
 
 
−
corresponds to A(x)B(x)C + D(x)E matrix. Any multiplicative action by this matrix may be computed without opening the Kronecker products. This can save orders of magnitude in CPU time.  
 
  
 
==Syntax==
 
==Syntax==

Revision as of 19:16, 5 June 2026

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

Version 2.1, authors: Ilya Kuprov