Frame: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
m (Text replacement - "</source>" to "</syntaxhighlight>")
m (Text replacement - "<source" to "<syntaxhighlight")
 
Line 1: Line 1:
In [[leading axis theory]], the '''frame''' is an abstract array-like structure which organizes the k-[[cell]]s of an array. For k-cells of an array with [[rank]] r, the frame consists of the first <source lang=apl inline>r-k</syntaxhighlight> [[Axis|axes]] of the array. The frame concept is most used in working with the [[Rank operator]], or [[function rank]]: it is shared between the arguments and result of a function with rank. A concrete array which shares the frame's structure can be produced by applying [[Enclose]] or [[Box function|Box]] with [[Rank operator|rank]] k to an array. When representing arrays as nested lists as in [[K]], this array already exists: simply consider the first <source lang=apl inline>r-k</syntaxhighlight> levels of nesting to be the array, whose contents are cells.
In [[leading axis theory]], the '''frame''' is an abstract array-like structure which organizes the k-[[cell]]s of an array. For k-cells of an array with [[rank]] r, the frame consists of the first <syntaxhighlight lang=apl inline>r-k</syntaxhighlight> [[Axis|axes]] of the array. The frame concept is most used in working with the [[Rank operator]], or [[function rank]]: it is shared between the arguments and result of a function with rank. A concrete array which shares the frame's structure can be produced by applying [[Enclose]] or [[Box function|Box]] with [[Rank operator|rank]] k to an array. When representing arrays as nested lists as in [[K]], this array already exists: simply consider the first <syntaxhighlight lang=apl inline>r-k</syntaxhighlight> levels of nesting to be the array, whose contents are cells.


The frame is complementary to the [[cell shape]] for cells of a particular rank: while the frame occupies leading axes (and its [[shape]] is a [[prefix]] of the array's shape), the cell shape is derived from the trailing axes, so that every axis belongs to either the frame or the cells.
The frame is complementary to the [[cell shape]] for cells of a particular rank: while the frame occupies leading axes (and its [[shape]] is a [[prefix]] of the array's shape), the cell shape is derived from the trailing axes, so that every axis belongs to either the frame or the cells.


[[Category:Leading axis theory]][[Category:Function characteristics]]
[[Category:Leading axis theory]][[Category:Function characteristics]]

Latest revision as of 22:25, 10 September 2022

In leading axis theory, the frame is an abstract array-like structure which organizes the k-cells of an array. For k-cells of an array with rank r, the frame consists of the first r-k axes of the array. The frame concept is most used in working with the Rank operator, or function rank: it is shared between the arguments and result of a function with rank. A concrete array which shares the frame's structure can be produced by applying Enclose or Box with rank k to an array. When representing arrays as nested lists as in K, this array already exists: simply consider the first r-k levels of nesting to be the array, whose contents are cells.

The frame is complementary to the cell shape for cells of a particular rank: while the frame occupies leading axes (and its shape is a prefix of the array's shape), the cell shape is derived from the trailing axes, so that every axis belongs to either the frame or the cells.