Rank: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
Miraheze>Adám Brudzewsky
No edit summary
mNo edit summary
(11 intermediate revisions by 5 users not shown)
Line 1: Line 1:
:''This page is about array rank, a number associated with every array. For numbers associated with a function specifying its argument rank, see [[function rank]]. For the operator that applies a function at a given rank, see [[Rank operator]].''
:''This page is about array rank, a number associated with every array. For numbers associated with a function specifying its argument rank, see [[function rank]]. For the operator that applies a function at a given rank, see [[Rank (operator)]].''


The rank of an array is the number of dimensions in its structure, or, in APL terms, the length of its [[shape]]. The traditional expression for the rank of an array <code>A</code> is <code>⍴⍴A</code>. Because this expression results in a one-element [[vector]] rather than a [[scalar]], it is idiomatic in languages with a [[Tally]] function to write <code>≢⍴A</code> instead.
In the APL [[array model]], the '''rank''' of an [[array]] is the number of dimensions or [[Axis|axes]] in its structure, or the length of its [[shape]]. The traditional expression for the rank of an array <source lang=apl inline>A</source> is <source lang=apl inline>⍴⍴A</source>. Because this expression results in a one-element [[vector]] rather than a [[scalar]], it is idiomatic in languages with a [[Tally]] function to write <source lang=apl inline>≢⍴A</source> instead.


Arrays are given names based on their rank:
Arrays are given names based on their rank:
{|
{|class=wikitable
! Rank !! Name
! Rank !! Name
|-
|-
Line 18: Line 18:
== External Links ==
== External Links ==


[https://en.wikipedia.org/wiki/Rank_(computer_programming) Wikipedia]
* [[wikipedia:Rank (computer programming)|Rank (computer programming)]]
{{APL features}}[[Category:Array characteristics]]

Revision as of 08:21, 18 February 2021

This page is about array rank, a number associated with every array. For numbers associated with a function specifying its argument rank, see function rank. For the operator that applies a function at a given rank, see Rank (operator).

In the APL array model, the rank of an array is the number of dimensions or axes in its structure, or the length of its shape. The traditional expression for the rank of an array A is ⍴⍴A. Because this expression results in a one-element vector rather than a scalar, it is idiomatic in languages with a Tally function to write ≢⍴A instead.

Arrays are given names based on their rank:

Rank Name
0 scalar
1 vector
2 matrix

Many APLs have a maximum rank. A function that would produce an array with rank greater than this maximum typically gives a LIMIT ERROR.

External Links

APL features [edit]
Built-ins Primitives (functions, operators) ∙ Quad name
Array model ShapeRankDepthBoundIndex (Indexing) ∙ AxisRavelRavel orderElementScalarVectorMatrixSimple scalarSimple arrayNested arrayCellMajor cellSubarrayEmpty arrayPrototype
Data types Number (Boolean, Complex number) ∙ Character (String) ∙ BoxNamespaceFunction array
Concepts and paradigms Conformability (Scalar extension, Leading axis agreement) ∙ Scalar function (Pervasion) ∙ Identity elementComplex floorArray ordering (Total) ∙ Tacit programming (Function composition, Close composition) ∙ GlyphLeading axis theoryMajor cell search
Errors LIMIT ERRORRANK ERRORSYNTAX ERRORDOMAIN ERRORLENGTH ERRORINDEX ERRORVALUE ERROREVOLUTION ERROR