Shape: Difference between revisions

Jump to navigation Jump to search
930 bytes added ,  09:31, 18 October 2019
no edit summary
Miraheze>Adám Brudzewsky
No edit summary
Miraheze>Marshall
No edit summary
Line 1: Line 1:
The shape of an array is a vector of lengths of the dimensions of the array. The shape function <code class="apl">⍴</code> returns the shape of its right argument array.
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.
<pre class="apl">
 
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, 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 class="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
</pre>
</source>
 
{{APL programming language}}
{{APL programming language}}
Anonymous user

Navigation menu