sdd {sddpack}R Documentation

Semidiscrete Decomposition

Description

The semidiscrete decomposition (SDD) approximates a matrix as a weighted sum of outer products formed by vectors with entries constrained to be in the set {-1, 0, 1}.

Usage

sdd(A, kmax = 100, alphamin = 0.01, lmax = 100, rhomin = 10e-20)

Arguments

A matrix of values on which to run sdd
kmax number of outer-loop iterations (see References)
alphamin progress check (see References)
lmax number of inner-loop iterations (see References)
rhomin threshold test (See References)

Details

The semidiscrete decomposition (SDD) approximates a matrix as a weighted sum of outer products formed by vectors with entries constrained to be in the set {-1, 0, 1}.

It is useful for image compression and for latent semantic indexing (LSI) in information retrieval.

The primary advantage of the SDD over other types of matrix approximations such as the truncated singular value decomposition (SVD) is that it typically provides a more accurate approximation for far less storage.

The package has been ported from Matlab code given on http://www.cs.umd.edu/~oleary/SDDPACK/. See the webpage for full documentation.

Value

x matrix of X's, where A is approximately equal to X%*%diag(D)%*%Y
d vector of D's, where A is approximately equal to X%*%diag(D)%*%Y
y matrix of Y's, where A is approximately equal to X%*%diag(D)%*%Y

Note

Ported to R by Eric Sun <esun@cs.stanford.edu>

Author(s)

Tamara G. Kolda, Dianne P. O'Leary (Matlab code)

References

http://www.cs.umd.edu/~oleary/SDDPACK/

Examples

A = matrix(rnorm(100), nrow=10)
sdd(A)

[Package sddpack version 0.9 Index]