Разреженные матрицы есть смысл применять, если в данных более 80% пропусков. Подробнее о работе с разреженными матрицами смотри интерфейс ImaSparseMatrix.

constructor Create();
Создание новой, пустой матрицы.

constructor Create(matrix:ImaSparseMatrix);
Присоединение класса к интерфейсу уже существующей матрицы.

constructor Create(cell:TmaCell);
Присоединение класса к интерфейсу матрицы, хранящейся в ячейке cell. Если в ней значение другого типа, то объект не создается.

procedure Clear;
Удалает все данные из матрицы.

procedure Add(row: Integer; col: Integer; val: Double);
Добавляет значение в матрицу. Строки и столбцы считаются с нуля. После добавления значений и перед работой с матрицей необходимо вызвать CreateIndex().

procedure CreateIndex;
procedure DeleteIndex;
Функции для создания и удаления индекса. Индекс надо создавать после изменения данных.

Функции интерфейса позволяют обрабатывать элементы матрицы в трех последовательнстях: в порядке ввода, по строкам и по столбцам. Соответственно функции делятся на три группы.
Функции для обработки элементов в порядке поступления

function  ElemCount: Integer;
Функция возвращает общее число (непустых) элементов в матрице.

function  Elem(i: Integer): Double;
Функция возвращает элемент матрицы по номеру в порядке поступления.

function  ElemIndex(i: Integer; Dim: Integer): Integer;
function  ElemNo(i: Integer; Dim: Integer): Integer;
Функции возвращают соответственно индекс и номер элемента с порядковым номером i по строке (dim=0) или по столбцу (dim=1).

Функции для обработки элементов по строкам.

function  Rows: Integer;
Возвращает число непустых строк в матрице.

function  RowSize(row: Integer): Integer;
Возвращает число непустых элементов в строке row (0<=row< Rows).

function  Row(row: Integer; i: Integer): Double;
Выдает элемент строки с номером i.

function  RowIndex(row: Integer): Integer;
Выдает индекс строки с номером row.

function  RowElemIndex(row: Integer; i: Integer): Integer;
Возвращает индекс по столбцам элемента строки row с номером i.

function  RowElemNo(row: Integer; i: Integer): Integer;
Возвращает номер по строкам элемента столбца col с номером i.

Функции для обработки элементов по столбцам.

Эти функции аналогичны функциям предыдущей группы.
function  Cols: Integer;
Возвращает число непустых столбцов в матрице.

function  ColSize(col: Integer): Integer;
Возвращает число непустых элементов в столбце col.

function  Col(col: Integer; i: Integer): Double;
Выдает элемент столбца с номером i.

function  ColIndex(col: Integer): Integer;
Выдает индекс столбца с номером col.

function  ColElemIndex(col: Integer; i: Integer): Integer;
Возвращает индекс по строкам элемента столбца col с номером i.

function  ColElemNo(col: Integer; i: Integer): Integer;
Возвращает номер по строкам элемента столбца col с номером i.