/python_sparse_vector

[ARCHIVED] An implementation of a sparse vector in python, based on numpy.

Primary LanguagePythonMIT LicenseMIT

Sparse Vector

A sparse vector is a 1D numerical list where most (say, more than 95% of) values will be 0 (or some other default) and for reasons of memory efficiency you don't wish to store these. (cf. Sparse array)

This implementation has a similar interface to Python's 1D numpy.ndarray but stores the values and indices in linked lists to preserve memory.

sparse_vector is for numerical data only, if you want any type of data, have a look at sparse_list, the parent library, a dictionary-of-keys implementation of a sparse list in python.

If you need 2D matrices, have a look at scipy.sparse, they also have a linked lists implementation, lil_matrix.

Installation

Available on the cheeseshop.

Installation is simply:

$ pip install sparse_vector

Usage

See the unit-tests!

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Ensure the tests pass for all Pythons in .travis.yml <https://github.com/johnsyweb/python_sparse_vector/blob/master/.travis.yml>__
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request

Thanks