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

CmaSparseMatrix()
Создание новой матрицы.

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

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

~CmaMatrix();
Уменьшает число ссылок на интерфейс Intf и уничтожает объект

void Clear()
Удалает все данные из матрицы.

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

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

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

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

double Elem(int i)
Функция возвращает элемент матрицы по номеру в порядке поступления.

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

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

int Rows()
Возвращает число непустых строк в матрице.

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

double Row(int row,int i)
Выдает элемент строки с номером i.

int RowIndex(int row)
Выдает индекс строки с номером row.

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

int RowElemNo(int row,int i)
Возвращает номер по столбцам элемента строки row с номером i.

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

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

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

double Col(int col,int i)
Выдает элемент столбца с номером i.

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

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

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