Package org.grouplens.lenskit.vectors

Vectors (both sparse and dense) and their operations.

See: Description

Package org.grouplens.lenskit.vectors Description

Vectors (both sparse and dense) and their operations. This package provides various vector utilities used by LensKit.

There are two types of vectors in this package: vectors (Vector) and sparse vectors (SparseVector). Vectors are the standard linear algebra vectors, with a particular dimension \(d\) and elements indexed by integers in the range \([0,d)\). Sparse vectors map arbitrary long keys to values sparsely and efficiently. The keys can be negative.

Each vector comes in three flavors. Read-only vectors (Vector and SparseVector); this type is the base of the remaining types for each vector, and provides a read-only interface to the vector. Immutable vectors (ImmutableVector and ImmutableSparseVector) are immutable and cannot be changed once created. They can also be freely shared between threads. Finally, mutable vectors (MutableVector) and MutableSparseVector) are mutable and not thread-safe.

This design allows read-only operations to be performed on any type of vector, while allowing components to specifically work with and store vectors guaranteed to be immutable.

The Vectors class provides utility methods for working with vectors.

Copyright © 2013 GroupLens Research. All Rights Reserved.