120
edits
Miraheze>RikedyP (Created page with "The shape of an array is a vector of lengths of the dimensions of the array. The shape funcion <code class="apl">⍴</code> returns the shape of its right argument array. <pre...") |
m (17 revisions imported: Migrate from miraheze) |
||
(16 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Built-in|Shape|⍴}} is a [[monadic function]] which returns the ''shape'' of its argument array, namely a [[vector]] of lengths of the array along each [[axis]]. The [[dyadic function]] using the same symbol is [[Reshape]] which produces an array of the shape specified by its left argument. | |||
< | |||
An array's shape may be any vector of nonnegative integers with length less than or equal to the [[maximum rank]]. The length of an array's shape is the array's [[rank]], and the product of the shape is its [[bound]]. If the shape is [[Empty array|empty]] then the array is a [[scalar]]. | |||
An array's shape, along with the [[index origin]], determine the possible values which can be used as an [[index]] into the array. A complete index is a vector of integers with the same length as the shape. When the index origin is subtracted from the index each element must be at least 0 and less than the corresponding element of the shape. In languages with [[negative indexing]] it may be greater than or equal to the negative of the shape rather than 0. | |||
== Examples == | |||
<source lang="apl"> | |||
(⍬≡⍴)¨1 'A' ⍝ The shape of a scalar is the empty numeric vector ⍬ | (⍬≡⍴)¨1 'A' ⍝ The shape of a scalar is the empty numeric vector ⍬ | ||
1 1 | 1 1 | ||
Line 9: | Line 16: | ||
⍴'ABC'∘.,1 2 3 4∘.×0J1 1J2 ⍝ Two consecutive outer products result in a cuboid | ⍴'ABC'∘.,1 2 3 4∘.×0J1 1J2 ⍝ Two consecutive outer products result in a cuboid | ||
3 4 2 | 3 4 2 | ||
</ | </source> | ||
== External links == | |||
=== Lessons === | |||
* [https://chat.stackexchange.com/rooms/52405/conversation/lesson-10-apl-functions-- APL Cultivation] | |||
* [https://www.sacrideo.us/apl-a-day-3-arrays-have-shape/ Arrays have Shape] (from [https://www.sacrideo.us/tag/apl-a-day/ APL a Day]) | |||
=== Documentation === | |||
* [http://help.dyalog.com/latest/index.htm#Language/Primitive%20Functions/Shape.htm Dyalog] | |||
* [http://wiki.nars2000.org/index.php/Rho NARS2000] | |||
* [http://microapl.com/apl_help/ch_020_020_460.htm APLX] | |||
* [https://www.jsoftware.com/help/dictionary/d210.htm J Dictionary], [https://code.jsoftware.com/wiki/Vocabulary/dollar J NuVoc] (as <source lang=apl inline>$</source> "Shape Of") | |||
{{APL features}} | |||
{{APL built-ins}} |