From APL Wiki
Jump to navigation Jump to search

In the APL array model, a matrix (sometimes table) is an array with rank 2. While matrices are named after the objects in linear algebra, which are multiplied using the matrix product, APL matrices do not have to be used in this way: they can store arbitrary data like any other array.

Rank 2 is the smallest rank for which multidimensional array theory offers an advantage over one-dimensional lists. Unlike vectors, Transpose on matrices changes the order of data, although there is only one possible transpose so dyadic Transpose is never needed. The ravel order of a matrix has two possible definitions; APLs choose to keep the rows together (row major order) rather than the columns (column major).

APL features [edit]
Built-ins Primitive functionPrimitive operatorQuad name
Array model ShapeRankDepthBoundIndexAxisRavelRavel orderElementScalarVectorMatrixSimple scalarSimple arrayNested arrayBoxCellMajor cellSubarrayEmpty arrayPrototype
Concepts and paradigms Leading axis theoryScalar extensionConformabilityScalar functionPervasionGlyphIdentity elementTotal array ordering