Я делаю расчет на сетке со значениями в диапазоне от -1 до 1, что имеет особенность в том, что большинство точек доводятся до -1 или 1 довольно быстро. Если эти точки близки к любому из этих значений, их можно просто игнорировать, поскольку они не влияют на расчет. Это очень похоже на разреженную матрицу, но вместо того, чтобы все элементы, кроме указанных, были равны 0, здесь мы установили их на -1 или 1. Более того, значения, близкие к любому концу спектра, сгруппированы вместе.
Однако я не знаю, как эффективно хранить эти матрицы. Я использовал массивы numpy, которые очень эффективны при выполнении всех вычислений сами по себе, но используют ненужный объем памяти для хранения всех точек и не позволяют мне увеличить размер моих вычислений.
Есть ли лучший способ хранить эти значения таким образом, чтобы вычисления были одинаково быстрыми? Я пробовал словари, но вычисления ледниково медленны по сравнению с numpy, даже для очень "разреженной" сетки.