Разреженные матрицы есть смысл применять, если в данных более 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.