Compute the near-optimal QB decomposition of a rectangular matrix.
rqb(A, k = NULL, p = 10, q = 2, sdist = "normal", rand = TRUE)
array_like; real/complex \((m, n)\) input matrix (or data frame).
integer, optional; target rank of the low-rank decomposition. It should satisfy \(k << min(m,n)\).
integer, optional; oversampling parameter (default \(p=10\)).
integer, optional; number of power iterations (default \(q=2\)).
string \(c( 'unif', 'normal', 'rademacher')\), optional; specifies the sampling distribution: \('unif'\) : Uniform `[-1,1]`. \('normal\)' (default) : Normal `~N(0,1)`. \('rademacher'\) : Rademacher random variates.
bool, optional; If (\(TRUE\)), a probabilistic strategy is used, otherwise a deterministic algorithm is used.
rqb
returns a list containing the following components:
array_like; matrix with orthogonal columns; \((m, k)\) dimensional array.
array_like; smaller matrix; \((k, n)\) dimensional array.
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.
[1] N. B. Erichson, S. Voronin, S. L. Brunton and J. N. Kutz. 2019. Randomized Matrix Decompositions Using R. Journal of Statistical Software, 89(11), 1-48. 10.18637/jss.v089.i11.
[2] N. Halko, P. Martinsson, and J. Tropp. "Finding structure with randomness: probabilistic algorithms for constructing approximate matrix decompositions" (2009). (available at arXiv https://arxiv.org/abs/0909.4061).