# rqb: Randomized QB Decomposition (rqb). In Benli11/rSVD: Randomized Singular Value Decomposition

## 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

• [1] N. Halko, P. Martinsson, and J. Tropp. "Finding structure with randomness: probabilistic algorithms for constructing approximate matrix decompositions" (2009). (available at arXiv http://arxiv.org/abs/0909.4061).

• [2] N. B. Erichson, S. Voronin, S. Brunton, J. N. Kutz. "Randomized matrix decompositions using R" (2016). (available at 'arXiv http://arxiv.org/abs/1608.02148).

`svd`