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