Skip to content

chengdai/ristretto

 
 

Repository files navigation

The idea of randomized low-rank matrix approximations is to restrict the high-dimensional input data matrix to a low-dimensional space. In plain words, the aim is to find a smaller matrix which captures the essential information of the input matrix. This smaller matrix can then be used to extract (learn) the coherent structure of the data. Probabilistic algorithms considerably reduce the computational demands of traditional (deterministic) algorithms, and the computational advantage becomes pronounced with increasing matrix dimensions.

ristretto: Package Overview Build Status


The Python software library ristretto provides a collection of randomized matrix algorithms which can be used for dimension reduction. Overview of implemented routines:

  • Randomized singular value decomposition: from ristretto.mf import rsvd.
  • Randomized single-view singular value decomposition: from ristretto.mf import rsvd_single.
  • Randomized interpolative decomposition:from ristretto.mf import rinterp_decomp.
  • Randomized CUR decomposition: from ristretto.mf import rcur.
  • Randomized LU decompositoin: from ristretto.mf import rlu.
  • Randomized nonnegative matrix factorization: from ristretto.nmf import rnmf_fhals.

Get started


Quick Installation via PIP

To install the latest stable release of ristretto run:

pip install ristretto

Obtaining the Latest Software via GIT

To get the latest stable and development versions of ristretto run:

git clone https://github.com/erichson/ristretto

Then, to build and install the package, run from within the main directory in the release:

python setup.py install

After successfully installing the ristretto library, the unit tests can be run by:

python setup.py test

References


About

Randomized Dimension Reduction Library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 96.5%
  • Python 3.5%