# Ravel order

Jump to navigation
Jump to search

In the APL array model, **ravel order** is the ordering of elements in the ravel of an array. When an array is displayed, this corresponds to the reading order for English: left to right, then top to bottom. In APL implementations, elements of an array are universally stored in ravel order.

The ravel order defines, or is defined by, a hierarchy of axes with one direction called leading and the other trailing. By convention, the leading axes are those with lower indices while trailing axes have higher indices. This convention causes the ravel order of array indices to be the same as their lexicographical order. For this reason, ravel order is sometimes called "index order".

The ravel order is also used to reshape an array.

## External links

- Arrays have elements, Indices and Encoding (part of APL a Day)

APL features [edit]
| |
---|---|

Built-ins | Primitives (functions, operators) ∙ Quad name |

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

Data types | Number (Boolean, Complex number) ∙ Character (String) ∙ Box ∙ Namespace ∙ Function array |

Concepts and paradigms | Conformability (Scalar extension, Leading axis agreement) ∙ Scalar function (Pervasion) ∙ Identity element ∙ Complex floor ∙ Array ordering (Total) ∙ Tacit programming (Function composition, Close composition) ∙ Glyph ∙ Leading axis theory ∙ Major cell search |

Errors | LIMIT ERROR ∙ RANK ERROR ∙ SYNTAX ERROR ∙ DOMAIN ERROR ∙ LENGTH ERROR ∙ INDEX ERROR ∙ VALUE ERROR ∙ EVOLUTION ERROR |