А в чём, собственно, вопрос? Вообще, не так давно делал как раз что-то такое, достал половину чата вопросами... Могу кинуть.
У меня есть две сжатые разряженные матрицы с тремя одномерными векторами value, row index, col offset(pointer), и хранятся они оба в виде CCS, вопрос в том как их умножить, чтоб получить новую третью матрицу в виде CCS. Пробовал умножить представляя матрицу А как CRS, а B - CCS(транспонирование), но результат или вообще не выходит или результат представляет собой корявую CRS матрицу