svd: svd

Description Usage Arguments Details Value Communication Examples

Description

Singular value decomposition.

Usage

1
2
## S4 method for signature 'shaq'
svd(x, nu = min(n, p), nv = min(n, p), LINPACK = FALSE)

Arguments

x

A shaq.

nu

number of left singular vectors to return.

nv

number of right singular vectors to return.

LINPACK

Ignored.

Details

The factorization works by first forming the crossproduct X^T X and then taking its eigenvalue decomposition. In this case, the square root of the eigenvalues are the singular values. If the left/right singular vectors U or V are desired, then in either case, V is computed (the eigenvectors). From these, U can be reconstructed, since if X = UΣ V^T, then U = XVΣ^{-1}.

Value

A list of elements d, u, and v, as with R's own svd(). The elements are, respectively, a regular vector, a shaq, and a regular matrix.

Communication

The operation is completely local except for forming the crossproduct, which is an allreduce() call, quadratic on the number of columns.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
## Not run: 
library(kazaam)
x = ranshaq(runif, 10, 3)

svd = svd(x)
comm.print(svd$d) # a globally owned vector
svd$u # a shaq
comm.print(svd$v) # a globally owned matrix

finalize()

## End(Not run)

kazaam documentation built on May 2, 2019, 8:55 a.m.