Shape: Difference between revisions

Jump to navigation Jump to search
655 bytes added ,  14:48, 20 November 2019
m
17 revisions imported: Migrate from miraheze
Miraheze>Marshall
No edit summary
m (17 revisions imported: Migrate from miraheze)
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The shape of an array is a [[vector]] of lengths of the array along each [[axis]]. The Shape function <code class="apl">⍴</code> is a [[monadic function]] which returns the shape of its argument array. The [[dyadic function]] [[Reshape]] (<code class="apl">⍴</code>) produces an array of the shape specified by its left argument.
{{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]] then the array is a [[scalar]].
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.
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.
Line 7: Line 7:
== Examples ==
== Examples ==


<source class="apl">
<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 18: Line 18:
</source>
</source>


{{APL programming language}}
== 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}}

Navigation menu