tabmat icon indicating copy to clipboard operation
tabmat copied to clipboard

Matrix optimizations

Open tbenthompson opened this issue 5 years ago • 1 comments

  • [ ] Add to the benchmark suite: problems with mild and severe row restrictions, problems with mild and severe column restrictions.
  • [ ] Add exceptions everywhere for when cols is None or rows is None.
  • [ ] Add output array as an optional argument to dot/transpose_dot/sandwich. This will be useful for avoiding unnecessary allocations. It will solve https://github.com/Quantco/quantcore.matrix/issues/25 and will enable some improvements in speed, particularly for SplitMatrix.dot which is allocating a new output array for each submatrix. After the optimization, SplitMatrix will only need one output array instead of len(matrices). Relatedly (complete now): flatironinstitute/sparse_dot#9
  • [ ] Cythonize row and column limiting for categorical sandwiches (currently just have rows)
  • [ ] Think about reducing duplication across different implementations that differ based on whether rows or cols are restricted: https://github.com/Quantco/quantcore.matrix/issues/5 -- is there some inspiration that would come from thinking about the restrictions as sparse matrices?

tbenthompson avatar Aug 06 '20 20:08 tbenthompson

Relatedly: https://github.com/flatironinstitute/sparse_dot/issues/9

tbenthompson avatar Aug 06 '20 20:08 tbenthompson