rqb: Randomized QB Decomposition (rqb).

Description Usage Arguments Details Value Author(s) References See Also

View source: R/rqb.R

Description

Compute the near-optimal QB decomposition of a rectangular matrix.

Usage

1
rqb(A, k = NULL, p = 10, q = 2, sdist = "normal", rand = TRUE)

Arguments

A

array_like;
real/complex (m, n) input matrix (or data frame).

k

integer, optional;
target rank of the low-rank decomposition. It should satisfy k << min(m,n).

p

integer, optional;
oversampling parameter (default p=10).

q

integer, optional;
number of power iterations (default q=2).

sdist

string c( 'unif', 'normal', 'rademacher'), optional;
specifies the sampling distribution:
'unif' : Uniform '[-1,1]'.
'normal' (default) : Normal '~N(0,1)'.
'rademacher' : Rademacher random variates.

rand

bool, optional;
If (TRUE), a probabilistic strategy is used, otherwise a deterministic algorithm is used.

Details

The randomized QB decomposition factors a rectangular (m,n) matrix A as A = Q * B. Q is an (m,k) matrix with orthogonal columns, and B a (k,n) matrix. The target rank is assumed to be k << min(m,n).

p is an oversampling parameter to improve the approximation. A value between 5 and 10 is recommended, and p=10 is set by default.

The parameter q specifies the number of power (subspace) iterations to reduce the approximation error. This is recommended if the the singular values decay slowly. In practice 1 or 2 iterations achieve good results, however, computing power iterations increases the computational time. The number of power iterations is set to q=2 by default.

Value

rqb returns a list containing the following components:

Q

array_like;
matrix with orthogonal columns; (m, k) dimensional array.

B

array_like;
smaller matrix; (k, n) dimensional array.

Author(s)

N. Benjamin Erichson, [email protected]

References

See Also

svd


Benli11/rSVD documentation built on Nov. 6, 2018, 10:46 p.m.