2,951
edits
Miraheze>Marshall (Created page with "In the APL array model and leading axis theory, a '''major cell''' is a cell of an array which has rank one smaller than the rank of the array, or equal to it...") |
m (Array relationships category) |
||
(4 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
In the APL [[array model]] and [[leading axis theory]], a '''major cell''' is a [[cell]] of an array which has [[rank]] one smaller than the rank of the array, or equal to it if the array is a [[scalar]]. The number of major cells in an array is its [[Tally]], and a function can be called on the major cells of an array individually by applying it with rank <source lang=apl inline>¯1</source> using the [[Rank operator]]. Functions designed to follow leading axis theory often manipulate the major cells of an array. For example, [[Reverse First]] (<source lang=apl inline>⊖</source>) is considered the primary form of [[Reverse]] in leading-axis languages because it can be interpreted as reversing the major cells of its argument; [[J]] removes last-axis Reverse entirely. | In the APL [[array model]] and [[leading axis theory]], a '''major cell''', or '''item''', is a [[cell]] of an array which has [[rank]] one smaller than the rank of the array, or equal to it if the array is a [[scalar]]. The number of major cells in an array is its [[Tally]], and a function can be called on the major cells of an array individually by applying it with rank <source lang=apl inline>¯1</source> using the [[Rank operator]]. Functions designed to follow leading axis theory often manipulate the major cells of an array. For example, [[Reverse First]] (<source lang=apl inline>⊖</source>) is considered the primary form of [[Reverse]] in leading-axis languages because it can be interpreted as reversing the major cells of its argument; [[J]] removes last-axis Reverse entirely. | ||
== Examples == | == Examples == | ||
Line 19: | Line 19: | ||
└──────────┴─────────┴───────┘ | └──────────┴─────────┴───────┘ | ||
</source> | </source> | ||
Given another array <source lang=apl inline>B</source> we can search for cells of <source lang=apl inline>B</source> which [[match]] major cells of <source lang=apl inline>B</source>. [[High rank set functions|High-rank]] [[Index-of]] always searches for right argument cells whose rank matches the rank of a left argument major cell: if the right argument is a [[vector]] and not a [[matrix]] then it searches for the entire vector rather than its major cells (which are [[scalar]]s). | Given another array <source lang=apl inline>B</source> we can search for cells of <source lang=apl inline>B</source> which [[match]] major cells of <source lang=apl inline>B</source>. [[High-rank set functions|High-rank]] [[Index-of]] always searches for right argument cells whose rank matches the rank of a left argument major cell: if the right argument is a [[vector]] and not a [[matrix]] then it searches for the entire vector rather than its major cells (which are [[scalar]]s). | ||
<source lang=apl> | <source lang=apl> | ||
⊢B ← ↑ 4,/⍳6 | ⊢B ← ↑ 4,/⍳6 | ||
Line 31: | Line 31: | ||
</source> | </source> | ||
{{APL | {{APL features}}[[Category:Array relationships]] |