Sparse tables are MemCom datasets defining 2-dimensional tables with a variable amount of rows and a variable amount of columns. A tuple (row, column) defines a cell. Cells may be non-empty or empty. By default, all cells are empty, hence the term sparse table. A row is identified by the row index, starting from 1. A column is identified either by its name or the column index, starting from 1.
A column defines the data type for all cells belonging to that column, the data types being E (32 bit real), F (64 bit real), I (32 bit integer) , J (64 bit integer), C (32 bit complex real), Z (64 bit complex real), or K (array of characters). The number of elements of a specific data type is either constant for all cells of a column or can be variable, i.e for each row, a different size can be specified. There are no limitations to the number of elements of a specific data type contained in a cell.
Sparse-table datasets are created using mcSTdatasetCreate (C Language) and mcf_st_dataset_create (Fortran Language). These datasets can be copied, renamed, or deleted like any other dataset.
The maximum number of columns and rows for sparse-table datasets is implementation-dependent, see Appendix B.