# Difference between revisions of "Rank"

Jump to navigation
Jump to search

m (8 revisions imported: Migrate from miraheze) |
|||

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)]].'' |

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. | 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. |

## Latest revision as of 12:38, 24 March 2020

*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 | Primitive function ∙ Primitive operator ∙ Quad name |

Array model | Shape ∙ Rank ∙ Depth ∙ Bound ∙ Index ∙ Axis ∙ Ravel ∙ Ravel order ∙ Element ∙ Scalar ∙ Vector ∙ Matrix ∙ Simple scalar ∙ Simple array ∙ Nested array ∙ Box ∙ Cell ∙ Major cell ∙ Subarray ∙ Empty array ∙ Prototype |

Concepts and paradigms | Leading axis theory ∙ Scalar extension ∙ Conformability ∙ Scalar function ∙ Glyph ∙ Identity element ∙ Total array ordering |

Errors | LIMIT ERROR ∙ RANK ERROR ∙ SYNTAX ERROR |