Это очень простой вопрос: как лучше всего работать с треугольными матрицами и работать с разреженными матрицами в C++?
Для треугольной матрицы я предлагаю такой простой формат данных, как
double* myMatrix;
int dimension;
как структура данных в пользовательском классе. (Предполагаю, что это была квадратная матрица в полном виде.) И будут методы установки и доступа к элементам.
Для разреженных матриц - я знаю пару методов, таких как сохранение только позиций элементов в строке/столбце и их значений. Это вопрос к вашему опыту - какая реализация разреженной матрицы будет лучшей?
P.S. Меньше памяти, меньше загрузки процессора — вот моя цель, я ищу лучшее решение, а не самое простое. Все матрицы будут использованы для решения систем линейных уравнений. И размер матриц будет огромным.
Большое спасибо за каждый совет!