Changelog

0.5.0 / 2018-10-12

  • Added COO.real, COO.imag, and COO.conj (PR #196).
  • Added sparse.kron function (PR #194, PR #195).
  • Added order parameter to COO.reshape to make it work with np.reshape (PR #193).
  • Added COO.mean and sparse.nanmean (PR #190).
  • Added sparse.full and sparse.full_like (PR #189).
  • Added COO.clip method (PR #185).
  • Added COO.copy method, and changed pickle of COO to not include its cache (PR #184).
  • Added sparse.eye, sparse.zeros, sparse.zeros_like, sparse.ones, and sparse.ones_like (PR #183).

0.4.1 / 2018-09-12

  • Allow mixed ndarray-COO operations if the result is sparse (Issue #124, via PR #182).
  • Allow specifying a fill-value when converting from NumPy arrays (Issue #179, via PR #180).
  • Added COO.any and COO.all methods (PR #175).
  • Indexing for COO now accepts a single one-dimensional array index (PR #172).
  • The fill-value can now be something other than zero or False (PR #165).
  • Added a sparse.roll function (PR #160).
  • Numba code now releases the GIL. This leads to better multi-threaded performance in Dask (PR #159).
  • A number of bugs occurred, so to resolve them, COO.coords.dtype is always np.int64. COO, therefore, uses more memory than before (PR #158).
  • Add support for saving and loading COO files from disk (Issue #153, via PR #154).
  • Support COO.nonzero and np.argwhere (Issue #145, via PR #148).
  • Allow faux in-place operations (Issue #80, via PR #146).
  • COO is now always canonical (PR #141).
  • Improve indexing performance (PR #128).
  • Improve element-wise performance (PR #127).
  • Reductions now support a negative axis (Issue #117, via PR #118).
  • Match behaviour of ufunc.reduce from NumPy (Issue #107, via PR #108).

0.3.1 / 2018-04-12

0.3.0 / 2018-02-22

  • Add NaN-skipping aggregations (PR #102).
  • Add equivalent to np.where (PR #102).
  • N-input universal functions now work (PR #98).
  • Make dot more consistent with NumPy (PR #96).
  • Create a base class SparseArray (PR #92).
  • Minimum NumPy version is now 1.13 (PR #90).
  • Fix a bug where setting a DOK element to zero did nothing (Issue #93, via PR #94).

0.2.0 / 2018-01-25

  • Support faster np.array(COO) (PR #87).
  • Add DOK type (PR #85).
  • Fix sum for large arrays (Issue #82, via PR #83).
  • Support .size and .density (PR #69).
  • Documentation added for the package (PR #43).
  • Minimum required SciPy version is now 0.19 (PR #70).
  • len(COO) now works (PR #68).
  • scalar op COO now works for all operators (PR #67).
  • Validate axes for .transpose() (PR #61).
  • Extend indexing support (PR #57).
  • Add random function for generating random sparse arrays (PR #41).
  • COO(COO) now copies the original object (PR #55).
  • NumPy universal functions and reductions now work on COO arrays (PR #49).
  • Fix concatenate and stack for large arrays (Issue #32, via PR #51).
  • Fix nnz for scalars (Issue #47, via PR #48).
  • Support more operators and remove all special cases (PR #46).
  • Add support for triu and tril (PR #40).
  • Add support for Ellipsis (...) and None when indexing (PR #37).
  • Add support for bitwise bindary operations like & and | (PR #38).
  • Support broadcasting in element-wise operations (PR #35).