Я делаю некоторые вычисления на разреженной матрице с плавающей точкой в домене журнала, поэтому «пустые» записи на самом деле -Inf (используя -FLT_MAX). Я сейчас использую пользовательский класс разреженной матрицы, но мне не терпится поменять местами готовую замену.
Это на C ++. Я хотел взглянуть на сжатые матрицы столбцов в Eigen и Boost uBlas. Однако не ясно, поддерживает ли пользовательское значение «ноль» (возможно, предоставленное параметром шаблона). У кого-нибудь есть предложение?
Разъяснение
Что я хочу, так это: для любой ячейки (i, j), которая не была «задана» ранее, я бы хотел, чтобы mat [i, j] возвращал -Inf ... так что это, возможно, лучше описать как значение «по умолчанию» для «пустых» записей разреженной матрицы.
Я использую это для выполнения HMM-рекурсий (Витерби, сумма-произведение) с вероятностями, которые хранятся в домене журнала, чтобы избежать потери ресурсов.
Я не делаю никаких матричных операций ... По сути, я просто заполняю таблицу динамического программирования. Я хочу использовать класс разреженной матрицы, потому что я только заполняю полосу матрицы и хотел бы эффективно использовать память. Матрицы сжатых полос дадут хорошую производительность, так как я заполняю матрицу «по порядку».