Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Truncated SVD by implicitly restarted Lanczos bidiagonalization for Python Numpy
Python OpenEdge ABL R
branch: master
Failed to load latest commit information.
doc/scipy2013 Second round of revisions from Bryan integrated. Now Jim gets a look at
irlb reverted to using the : slicing function, since the performance issue…
tests Performance tweak, updated basic sparse test
LICENSE.txt Changed the license to APL2.
MANIFEST.in Fixed the package installation and documentation.
README.md
README.rst
setup.py Added the scipy_bench console command.

README.md

irlbpy

Truncated SVD by implicitly restarted Lanczos bidiagonalization for Numpy!

irlb: A fast and memory-efficient method for estimating a few largest signular values and corresponding singular vectors of very large matrices.

Adapted from the algorithm by Jim Baglama and Lothar Reichel: Augmented Implicitly Restarted Lanczos Bidiagonalization Methods, J. Baglama and L. Reichel, SIAM J. Sci. Comput. 2005.

Installation:

There are several options for installing the irlbpy package. The easiest is to simply pip install the code (either into your system site-packages or virtualenv with the command:

pip install -e git+https://github.com/bwlewis/irlbpy.git#egg=irlb

Otherwise, if you have downloaded the code you can install the package locally by executing the following commands from the project's home directory:

python setup.py sdist
pip install dist/irlbpy-0.1.0.tar.gz

Usage:

S = irlb(A, n, [tol=0.0001 [, maxit=50]])

Where, A is a double-precision-valued matrix, n is the number of singular values and corresponding singular values to compute, tol is an optional convergence tolerance parameter that controls the accuracy of the estimated singular values, and maxit is an optional limit on the maximum number of Lanczos iterations.

The returned triple S contains the matrix of left singular vectors, a vector of singular values, and the matrix of right singular vectors, respectively, such that:

A.dot(S[2]) - S[0]*S[1]

is small.

Something went wrong with that request. Please try again.