Skip to content

shawnohare/sparsevector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Introduction

The sparsevector.py module includes the SparseVector class, which implements basic algebraic operations on sparse representations of vector objects. The class assumes Python 3.3 or greater as it makes use of the yield from syntax.

Sparseness

A prototypical example of a vector is an element in the n-fold set product of the real numbers R, i.e., an n-tuple of real numbers. A sparse vector is a data structure that only records non-zero components of a vector.

One simple way to represent a sparse vector is as an associative array or key-value pairs where the key is a component index and the value is a field element. For example, the vector (0, 1, 0) has a sparse representation {2: 1}.

Sparse module elements

Despite its name, a SparseVector object can be any elements from a finite product of R-modules for some ring R. If M = M1 x M2 x ... x Mn for R-modules Mi, then a typical element might look something like {Mi1: mi1, ..., Mil: mil}.

Testing

The test can be run by issuing python -m test.

About

Python class for sparse representation of vectors (and more generally R-module elements).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages