Если хочется экономить память, то надо смотреть на hmatrix (со всеми его ужасными зависимостями на blas/lapack)
Надо посмотреть чё там у них
На самом деле у меня ещё в матрицах сравнительно много нулей, а остальные числа это +-1, так что может и какой то специфический алгоритм поможет. Но с памятью прямо беда какая то
Вообще не очень понятно, где там у вас stuarray, кругом вот [[]], так что конечно память будет уходить…
https://hackage.haskell.org/package/bed-and-breakfast-0.5/docs/Numeric-Matrix.html вот тут stuarray, работает за столько же с ним (сорс https://hackage.haskell.org/package/bed-and-breakfast-0.5/docs/src/Numeric.Matrix.html#_rank)
Там ранг над Double только нормально считает, как я понял. Ну сейчас побенчим
да, такое возможно. Интересно было бы посмотреть на ваш код на основе stuarray-based матриц. Ежели такое хорошо написать, течь не должно по идее. Но вообще я не фанат array, я бы брал пакет matrix, где на веторах сделано. Но проблема скорее всего не в этом, а в вашем коде (если я правильно понял, вы руками ранг считаете)
Вот тут мутабельный алгоритм типо
Обсуждают сегодня