For an upcoming talk, I was thinking through an inventory of common array
"patterns" -
or like generic classes of things which are naturally represented as arrays.
Here's what I came up with so far:
Rank 1:
- arbitrary lists of data (row/column in a table, sound file, bytes of a
string, etc)
- shape of a space/array (as in $)
- coordinates inside a space/array (including boxed indices for amend)
- selections (unboxed indices)
- permutation vectors
- keys for grouping another vector
- coefficients of polynomial (also prime exponents, hypergeometric, etc)
(I think dyadic # kind of fits into the "coefficient" pattern)
- numeric base and "digits" (as in #. and #:)
- intervals (I.)
- tree structure
Rank 2:
- arbitrary tables of data (esp images)
- matrix (as a tool for transforming other arrays)
- sparse matrix / list of coordinates
- connected / weighted graphs / state machine
What are some that I'm missing?
Are there interesting patterns at rank 3 or above?
-Michal
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm