Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This builds on the commits from #12, demonstrating support for sparse arrays.
In this initial draft, I resort to a copy-paste of
multitau.py
to make some sparse-specific changes inmultitau_sparse.py
. Using current (and also possible future) numpy protocols, it ought to be possible to support bothnumpy.ndarray
andsparse.COO
arrays in the same codepath.The memory usage is of the sparse implementation about 1/3 of the dense implementation for a 2048x2048 image with 1% density.
In exchange for that memory efficiency, the sparse version runs roughly half as fast. We may see greater speed gains for choices of lags and levels that require more multiplication.