Matrix

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